Ausgabe eines Shell-Skriptes in mehrere Fenster
Hallo Mitlistige, ich habe mir gerade mal wieder meine alten AmigaOS-Skripte heraus gekramt, die ich ggf. mal übertragen wollte. Dabei habe ich ein Skript gefunden, in dem ich die Ausgaben in mehrere Fenster aufgeteilt hatte. Beim AmigaOS gab es dazu das virtuelle Laufwerk pipe:, auf dem man beliebige Dateien anlegen konnte, die dann als benannte Pipeline dienten. Dazu gab es ein weiteres virtuelles Laufwerk con:, dass dazu diente ein neues nicht interaktives Shell-Fenster zu öffnen. con:10/10/300/500 entspricht z.B. einem Ausgabefenster an der Position 10/10 mit der Breite 300 und der Höhe 500). Hatte man also mit z.B. copy pipe:test con:10/10/300/500 eine Pipeline in ein Ausgabefenster eingerichtet, so konnte man bestimmte Ausgaben selektiv nach pipe:test machen. Ich habe hier ein Skript, das mit 10 solchen Pipelines und Fenstern arbeitet. Dabei ist es wichtig, dass ich die zu öffenden Fenster positionieren kann. Wie bekomme ich ähnliches mit der Shell unter XFCE hin? Jeglicher Schubs in die richtige Richtung ist erwünscht ;-) Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Herr Höhne, On Mon, Nov 11, 2013 at 09:19:56PM +0100, Michael Höhne wrote:
Ich habe hier ein Skript, das mit 10 solchen Pipelines und Fenstern arbeitet. Dabei ist es wichtig, dass ich die zu öffenden Fenster positionieren kann.
Wie bekomme ich ähnliches mit der Shell unter XFCE hin?
Jeglicher Schubs in die richtige Richtung ist erwünscht ;-)
Named Pipes erzeugt man mit "mkfifo": mkfifo fifo-1 fifo-2 ... fifo-10 Bei Named Pipes ist folgendes zu beachten: * Die Datenmenge, die man mit einem "write" hineinstecken kann ist begrenzt. * Wenn man aus einer Named-Pipe liest, blockiert man, bis jemand Daten hineinsteckt. * Wenn man in eine Named-Pipe schreibt, blockiert man, bis jemand von der Named-Pipe liest. Folgendes müsste funktionieren: xterm -j -ls -s -sb -sl 500 -geometry 80x24+0+0 \ -title 'Pipe 1' -e tail -f fifo-1 & xterm -j -ls -s -sb -sl 500 -geometry 80x24+0+340 \ -title 'Pipe 2' -e tail -f fifo-2 & xterm -j -ls -s -sb -sl 500 -geometry 80x24+0+680 \ -title 'Pipe 3' -e tail -f fifo-3 & Bei der genauen Position der xterm's geht man am besten so vor: Man ordnet die xterm's einmal mit der Hand so an, wie man si haben will. Danach ermittelt man deren genaue Position mit "xwininfo". "xwininfo" liefert dabei eine geeignete geometry-Option, die man dann beim xterm-Aufruf verwenden kann. Vom Shell-Script schreibt man dann einfach in die diversen "fifo-<N>": echo foo > fifo-1 echo bar > fifo-2 echo baz > fifo-3 Wenn man schnell hintereinander in eine der Named-Pipes schreibt, gibt es durch das "tail -f" leider "Hänger". Schönen Gruß Ernst Bötsch -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Ernst,
Hallo Herr Höhne,
Ein schlichtes Michael reicht ;-)
Named Pipes erzeugt man mit "mkfifo":
o.k.
Bei Named Pipes ist folgendes zu beachten:
* Die Datenmenge, die man mit einem "write" hineinstecken kann ist begrenzt.
Das war beim AmigaOS ebenso, kein problem
* Wenn man aus einer Named-Pipe liest, blockiert man, bis jemand Daten hineinsteckt.
* Wenn man in eine Named-Pipe schreibt, blockiert man, bis jemand von der Named-Pipe liest.
Auch das ist kein Problem. Ich habe gerade auf die schnelle gebastelt: Ein Skript bastelt 5 Named-Pipes. Anschließend starte ich 5 xterm-Fenster nach deinem Muster:
xterm -j -ls -s -sb -sl 500 -geometry 80x24+0+0 \ -title 'Pipe 1' -e tail -f fifo-1 &
Und lasse dann diverse Texte verteilt in die xterm-Fenster laufen. Funktioniert prima! Ich werde mir mal verschiedene Terminals und ihre Startparameter vornehmen und vergleichen. Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt. Vielen dank fürs Schubsen! Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 11.11.2013 22:20, schrieb Michael Höhne:
Hallo Ernst,
Hallo Herr Höhne,
Ein schlichtes Michael reicht ;-)
Named Pipes erzeugt man mit "mkfifo":
o.k.
Bei Named Pipes ist folgendes zu beachten:
* Die Datenmenge, die man mit einem "write" hineinstecken kann ist begrenzt.
Das war beim AmigaOS ebenso, kein problem
* Wenn man aus einer Named-Pipe liest, blockiert man, bis jemand Daten hineinsteckt.
* Wenn man in eine Named-Pipe schreibt, blockiert man, bis jemand von der Named-Pipe liest.
Auch das ist kein Problem.
Ich habe gerade auf die schnelle gebastelt: Ein Skript bastelt 5 Named-Pipes. Anschließend starte ich 5 xterm-Fenster nach deinem Muster:
xterm -j -ls -s -sb -sl 500 -geometry 80x24+0+0 \ -title 'Pipe 1' -e tail -f fifo-1 &
Und lasse dann diverse Texte verteilt in die xterm-Fenster laufen. Funktioniert prima! Ich werde mir mal verschiedene Terminals und ihre Startparameter vornehmen und vergleichen. Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt.
Vielen dank fürs Schubsen!
Gruß, Michael
Hi, poste mal, wenn Du es schaffst, die Knöpfe loszuwerden... ich habe das mit den z.B. in xterm möglichen Optionen nicht geschafft (+tb zeigt z.B. keine Wirkung...), möglicherweise kann man es mit -xrm <ressourcestring> schaffen. Ich hab es dann aufgegeben, weil es nicht so wichtig war... cu jth -- www.teddylinx.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Joerg,
poste mal, wenn Du es schaffst, die Knöpfe loszuwerden... ich habe das mit den z.B. in xterm möglichen Optionen nicht geschafft (+tb zeigt z.B. keine Wirkung...), möglicherweise kann man es mit -xrm <ressourcestring> schaffen. Ich hab es dann aufgegeben, weil es nicht so wichtig war...
Ich wollte am kommenden Sonntag "basteln". Sollte ich es schaffen, gebe ich gerne Bescheid. Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Michael, On Mon, Nov 11, 2013 at 10:20:48PM +0100, Michael Höhne wrote:
Und lasse dann diverse Texte verteilt in die xterm-Fenster laufen. Funktioniert prima! Ich werde mir mal verschiedene Terminals und ihre Startparameter vornehmen und vergleichen. Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt.
Kommen die "Knöpfe" wirklich vom "xterm" (oder einem anderen Fenster)? Ich hatte bis jetzt gedacht, dass diese "Dekorationen" vom Window-Manager kommen. Bei KDE konfiguriere ich die Knöpfe und entsprechendes Verhalten jedenfalls über den KDE-Window-Manager. Schönen Gruß Ernst Bötsch -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Ernst,
Ich hatte bis jetzt gedacht, dass diese "Dekorationen" vom Window-Manager kommen.
Da es Programme gibt, bei deren Fenster einige Knöpfe nicht zu sehen sind, habe ich die Hoffnung, dass eines der vielen Terminalprogramme möglicherweise entsprechende Parameter entgegen nehmen kann. Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Ernst Boetsch, Am Dienstag, 12. November 2013 08:20 schrieb Ernst Boetsch:
Hallo Michael,
On Mon, Nov 11, 2013 at 10:20:48PM +0100, Michael Höhne wrote:
... Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt.
Lässt sich auch über Alt+F4 schließen.
Kommen die "Knöpfe" wirklich vom "xterm" (oder einem anderen Fenster)?
Ich hatte bis jetzt gedacht, dass diese "Dekorationen" vom Window-Manager kommen. Bei KDE konfiguriere ich die Knöpfe und entsprechendes Verhalten jedenfalls über den KDE-Window-Manager.
Genau, rechte Maustaste auf die Titelleiste, Erweitert, dort keine Umrandung anklicken. Hinweis: Der vorige Zustand lässt sich nicht mit Hilfe der Maus herstellen. Verwenden Sie stattdessen das Menü "Fensteraktionen", das über den Tastenbefehl Fensteraktionen-Menü (Alt+F3) aktiviert wird. Das bleibt auch, genau wie Position und Größe, über einen Neustart hinaus erhalten. Benutze ich seit langem in KDE3 und KDE4 für eine kleine xclock in der Bildschirmecke. -- Herzliche Grüße! Rolf Muth Meine Adressen dürfen nicht für Werbung verwendet werden! S/MIME Zertifikat 0x25F0E92D9AE21AE6
Hallo Rolf, Ernst, *
Am Dienstag, 12. November 2013 08:20 schrieb Ernst Boetsch:
Hallo Michael,
On Mon, Nov 11, 2013 at 10:20:48PM +0100, Michael Höhne wrote:
... Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt.
Lässt sich auch über Alt+F4 schließen.
Ist für mich nicht so tragisch, es geht nur darum, notorischen "Herumklickern" das Schließen des Fensters zu erschweren.
[KDE] Genau, rechte Maustaste auf die Titelleiste, Erweitert, dort keine Umrandung anklicken. Hinweis: Der vorige Zustand lässt sich nicht mit Hilfe der Maus herstellen. Verwenden Sie stattdessen das Menü "Fensteraktionen", das über den Tastenbefehl Fensteraktionen-Menü (Alt+F3) aktiviert wird.
Das bleibt auch, genau wie Position und Größe, über einen Neustart hinaus erhalten. Benutze ich seit langem in KDE3 und KDE4 für eine kleine xclock in der Bildschirmecke.
Es wäre etwas umständlich, wenn ich dem Verwender meines Skriptes mitteilen würde: "Jetzt bitte bei allen Ausgabefenstern den Rand entfernen". ;-) Zumal die drei, die das Script von mir haben möchten, XFCE verwenden... Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Mon, November 11, 2013 22:20, Michael Höhne wrote:
Ich werde mir mal verschiedene Terminals und ihre Startparameter vornehmen und vergleichen. Ich wäre gerne die Knöpfe los, damit mir keiner die Ausgabe-Fenster schließt.
Das ist ein Feature deines Windowmanagers, d.h. den muß du konfigurieren, deinem Terminal ist das ziemlich wurst. Mit devilspie kannst Du sowas z.B. erledigen: #v+ ~$ cat ~/.devilspie/xterm.ds (if (is (application_name) "xterm") (begin (undecorate) (below) (pin) (geometry "+0+350") ) ) #v- Passende Window geometry Optionen mußt Du Dir halt selber holen. Das Ganze geht natürlich beliebig komplex. Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Christian,
Das ist ein Feature deines Windowmanagers, d.h. den muß du konfigurieren, deinem Terminal ist das ziemlich wurst.
Hätte ja sein können, dass eines der Terminals das selber per Parameter unterstützt.
Mit devilspie kannst Du sowas z.B. erledigen:
Dann habe ich für den Bastelsonntag alles zusammen ;-) Danke auch dir für den Tipp. Gruß, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Mon, 11 Nov 2013 21:19:56 +0100
schrieb Michael Höhne
Dabei habe ich ein Skript gefunden, in dem ich die Ausgaben in mehrere Fenster aufgeteilt hatte. (...)
Wie bekomme ich ähnliches mit der Shell unter XFCE hin?
Auch wenn Ernst schon eine exaktere Entsprechung gezeigt hat, hast du schon einmal mit 'Dialog' gearbeitet? Das ist quasi ein Fenstersystem für die Kommandozeile. Es basiert auf ncurses und muss allerdings separat installiert werden. Dafür gibt es mehr Möglichkeiten. (siehe z.B. http://www.unixcl.com/2009/12/linux-dialog-utility-short-tutorial.html) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Bernd,
Auch wenn Ernst schon eine exaktere Entsprechung gezeigt hat, hast du schon einmal mit 'Dialog' gearbeitet? Das ist quasi ein Fenstersystem für die Kommandozeile.
Mit "Dialog" nicht, aber ich habe vor einiger Zeit mal KDialog verwendet. Ich habe gerade Synaptic befragt und sehe, dass es da wohl noch einige weitere "Dialoge" gibt... Danke für den Tipp, Michael -- ____ / / / / /__/ Michael Höhne / / / / / / mih-hoehne@web.de / ________________________________/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (6)
-
Bernd
-
Christian Brabandt
-
Ernst Boetsch
-
Joerg Thuemmler
-
Michael Höhne
-
Rolf Muth