xterm mit zusätzlichem command öffnen (fluxboxmenue)

Du suchst ein Programm für einen bestimmten Zweck?
willy4711

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von willy4711 » 30.06.2020 11:23:37

michaa7 hat geschrieben: ↑ zum Beitrag ↑
29.06.2020 21:00:08
Und kürzer kann das auch kaum werden. Ich bin happy mit dem Eintrag in meinem fluxbox Menue, zu dem ich nun jedoch ein anders command nutze weil damit die Ausgabe passender zu steuern ist:
Möchte nochmal - obwohl du dich ja entschieden hast - einen Stab für lsblk brechen. :P
Ich finde, dass lsblk jede Menge Möglichkeiten (ich denke mehr als findmnt) hat.
Das wäre in etwa gleichwertig mit deinem Ansatz, ein paar Angaben mehr, die man auch weglassen kann.

Code: Alles auswählen

xterm -fa 'Mono' -fs 18 -geometry +300+150 -e "lsblk --output  KNAME,FSTYPE,FSSIZE,FSAVAIL,LABEL,MOUNTPOINT|grep 'KNAME\|/';bash"

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von michaa7 » 30.06.2020 11:53:46

Danke.

Dir scheint, wenn ich so deine Beispiele nachverfolge, eine Ordnung ausgehend von den raw devices erstrebenswert. Ich orientiere mich am tree und mache eine entsprechend sortierte Liste zur Basis meiner Übersicht. Das kann man mit beiden hier angesprochenen commands erreichen.
Das ist für mich daher gar nicht eine Bevorzugung des Einen oder Anderen sondern einfach eine stetige Annäherung an meine Wunschvorstellung, je nachdem wie ich die commands durchblicke ;-) . Da habe ich in diesem Thread einiges gelernt.

Mittlerweile bin ich hier angekommen (die fluxbox-umhüllung habe ich hier weggelassen):

Code: Alles auswählen

lsblk --sort mountpoint -o mountpoint,label,name,FSAVAIL| egrep -e "/" -e "FSAVAIL"
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Livingston » 30.06.2020 13:32:15

Apropos man page:
-hold Turn on the hold resource, i.e., xterm will not immediately destroy its window when the shell command
completes. It will wait until you use the window manager to destroy/kill the window, or if you use
the menu entries that send a signal, e.g., HUP or KILL.
Das stammt übrigens aus der xterm-manpage.

...aaalso:

Code: Alles auswählen

xterm -hold -fa 'Mono' -fs 18 -geometry +300+150 -e "echo huhu"
Geht doch 8)

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von michaa7 » 30.06.2020 13:58:08

Livingston hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 13:32:15
...

Code: Alles auswählen

xterm -hold -fa 'Mono' -fs 18 -geometry +300+150 -e "echo huhu"
Geht doch 8)
Jain.

Das Fenster bleibt damit zwar offen (man sieht also die Ausgabe).... aber es bleibt unbenutzbar, auch nach Betätigen der Eingabetaste kommt da kein Prompt. "hold" hilft also gerade mal um die Ausgabe sichtbar zu machen, sorgt aber nicht für ein weiter benutzbares VT.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Meillo » 30.06.2020 17:55:01

eggy hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 07:18:29
Ich halts für ne interessante Fragestellung, zu der ich in der Manpage leider nichts gefunden hab. Sollte das tatsächlich nicht möglich sein (was ich mir eigentlich nicht vorstellen kann), bleibt noch nen fieser Hack: temporäre bashrc/profile anlegen und die bash damit starten. Grusliger Umweg.

Bei der bisherigen Lösung laufen die beiden Programme (ls bzw bash) von der Prozessverschachteltungsebene ja praktisch "nebeneinander", auch wenn der erste Task bereits wieder tot ist, wenn der zweite gestartet wird. Könnte mir vorstellen, es gibt Situationen, wo das wirklich mal nötig wäre, dass das Programm "innerhalb" bzw "unterhalb" der neuen bash läuft.

Für Deinen Fall ist das Problem zwar vom Tisch, aus akademischer Sicht aber immernoch ne interessante Baustelle...
Ich denke deine Loesung (xterm -e 'ls;bash') ist vermutlich schon bestmoeglich.

Was das Vorher-Ausfuehren von Befehlen in der Shell angeht, faellt mir auch nur eine temporaere bashrc ein. (Die wird aber vermutlich non-interative abgearbeitet, falls das relevant waere.)

Ansonsten bin ich noch auf die Idee gekommen, dass man vielleicht in den Prompt ($PS1) einen Befehl einbauen koennte (das geht in der Bash bestimmt), dann die neue Shell starten und nach dem gewuenschten Befehl den Prompt wieder zuruecksetzen. Das waere noch viel mehr Hack ... aber irgendwie auch spannend. ;-)

Als einzigen evtl. vorhandenen Nachteil deiner Loesung koennte ich mir denken, dass der Vorbefehl nicht in der Shell-History landet. Aber das haengt moeglicherweise davon ab wie die konfiguriert ist.
Use ed once in a while!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von eggy » 30.06.2020 18:17:50

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 17:55:01


Ansonsten bin ich noch auf die Idee gekommen, dass man vielleicht in den Prompt ($PS1) einen Befehl einbauen koennte (das geht in der Bash bestimmt), dann die neue Shell starten und nach dem gewuenschten Befehl den Prompt wieder zuruecksetzen. Das waere noch viel mehr Hack ... aber irgendwie auch spannend. ;-)
:mrgreen: :THX:
Meillo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 17:55:01

Als einzigen evtl. vorhandenen Nachteil deiner Loesung koennte ich mir denken, dass der Vorbefehl nicht in der Shell-History landet. Aber das haengt moeglicherweise davon ab wie die konfiguriert ist.
den könnt man ja auch noch händisch in die History reinfrickeln ... Ohje, wird immer schlimmer :D

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von tobo » 30.06.2020 18:41:05

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 17:55:01
Ansonsten bin ich noch auf die Idee gekommen, dass man vielleicht in den Prompt ($PS1) einen Befehl einbauen koennte (das geht in der Bash bestimmt), dann die neue Shell starten und nach dem gewuenschten Befehl den Prompt wieder zuruecksetzen. Das waere noch viel mehr Hack ...
Das wäre doch kein Hack - der ist doch genau dafür da und der wird doch auch von vielen verändert. Ich rufe bei jedem Prompt eine Funktion auf, lese eine Datei aus und mache den Prompt, in Abhängigkeit zum Benutzer, farbig.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Meillo » 30.06.2020 19:04:43

tobo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 18:41:05
Meillo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 17:55:01
Ansonsten bin ich noch auf die Idee gekommen, dass man vielleicht in den Prompt ($PS1) einen Befehl einbauen koennte (das geht in der Bash bestimmt), dann die neue Shell starten und nach dem gewuenschten Befehl den Prompt wieder zuruecksetzen. Das waere noch viel mehr Hack ...
Das wäre doch kein Hack - der ist doch genau dafür da und der wird doch auch von vielen verändert. Ich rufe bei jedem Prompt eine Funktion auf, lese eine Datei aus und mache den Prompt, in Abhängigkeit zum Benutzer, farbig.
In der Weise ist das in Ordnung. Im hier diskutierten Fall geht es darum, einen Befehl im Prompt zu nutzen, um beim *Starten* einer *bestimmten* Shell *einmalig* einen Befehl auszufuehren (damit seine Ausgabe im neuen Terminal sichtbar ist). Anschliessend soll der Prompt wieder normal, also ohne den Sonderbefehl sein. Dafuer PS1 zu verwenden finde ich schon recht gehackt, weil verworren, untypisch, unintuitiv, undurchsichtig -- eben das Gegenteil von eggys Vorschlag: xterm -e 'ls;bash' -- aber schon auch irgendwie eine interessante Idee, was ja auch zu einem Hack gehoert.
Use ed once in a while!

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von tobo » 30.06.2020 19:38:15

Meillo hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 19:04:43
Im hier diskutierten Fall geht es darum, einen Befehl im Prompt zu nutzen, um beim *Starten* einer *bestimmten* Shell *einmalig* einen Befehl auszufuehren (damit seine Ausgabe im neuen Terminal sichtbar ist). Anschliessend soll der Prompt wieder normal, also ohne den Sonderbefehl sein. Dafuer PS1 zu verwenden finde ich schon recht gehackt, weil verworren, untypisch, unintuitiv, undurchsichtig
Ja, so betrachtet hast du natürlich recht. Ich hatte nur den ersten und die letzen beiden Beiträge gelesen - der Hintergrund war mir also nicht bekannt.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Meillo » 30.06.2020 19:55:34

Kein Problem.
Use ed once in a while!

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Livingston » 30.06.2020 22:57:17

So, jetzt aber:

superinitfile mit folgendem Inhalt bauen:

Code: Alles auswählen

/bin/echo huhu
. ~/.bashrc
Dann:

Code: Alles auswählen

xterm -fa 'Mono' -fs 18 -geometry +300+150 -e 'bash --init-file superinitfile'
Und schon führt die shell den Befehl aus, lädt die .bashrc des Users nach und bleibt offen.
Jetzt setz ich mir nochmal die Sonnenbrille auf: 8)

EDIT: Fehler im superinitfile korrigiert

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von michaa7 » 30.06.2020 23:30:08

Livingston hat geschrieben: ↑ zum Beitrag ↑
30.06.2020 22:57:17
So, jetzt aber:

superinitfile mit folgendem Inhalt bauen:

Code: Alles auswählen

/bin/echo huhu
. ~/.bashrc
Dann:

Code: Alles auswählen

xterm -fa 'Mono' -fs 18 -geometry +300+150 -e 'bash --init-file superinitfile'
Und schon führt die shell den Befehl aus, lädt die .bashrc des Users nach und bleibt offen.
Jetzt setz ich mir nochmal die Sonnenbrille auf: 8)

EDIT: Fehler im superinitfile korrigiert
... das sieht beeindruckend aus. Aber ich verstehe nicht was das besser tut als die oben gepostete Lösung. Vermutlich geht es dir um die .bash_history? Oder gibt es weitere Vorteile? Irgendwie muß man da aber auch erst noch mein "lsblk ...pupidum.." einbauen.

Ich bin mit meiner Lösung zufrieden, verfolge dies hier aber aus Interesse am Verstehen weiter.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: xterm mit zusätzlichem command öffnen (fluxboxmenue)

Beitrag von Livingston » 01.07.2020 02:41:53

Nuja, statt "/bin/echo huhu" packst Du da Dein "lsblk ...pupidum..",oder was immer Du sonst noch brauchst, hin. Deine .bashrc kann auch an erster Stelle eingebunden werden, womit sich die bash sofort wie gewohnt benimmt. Damit sollten eigentlich alle Kriterien erfüllt sein, die Du in Deinem Anfangspost erfüllt haben wolltest + plus eben der weiteren Überlegungen in diesem Thread, wie man eine gewohnte Umgebung herbeiholt.
Ich find's jedenfalls selbst auch recht interessant. Da gibt's noch einiges zu erforschen. Z.B lässt sich der xterm-Rahmen entfernen und das ganze zum Monitoring in irgendeiner Ecke platzieren.
Aber das wäre dann ein komplett anderes Thema.

Antworten