/srv/irclogs.ubuntu.com/2020/03/28/#ubuntu-de.txt

=== eTeddy1 is now known as eTeddy
=== taunix__ is now known as taunix
=== JanC is now known as Guest71318
=== JanC_ is now known as JanC
iTommixMoin. Vielleicht kann jemand helfen: Ich benutze gnomw-terminal um ein CLI-Programm fullscreen zu starten. Wenn ich das Programm beende soll der Rechner runterfahren. Mein Script enthält: „sudo gnome-terminal --full-screen -e /usr/bin/program & sudo shutdown -H now“ - Dummerweise startet das Programm und der Rechner fährt sofort runter. 17:11
Frickelpitklar, das sagst du ihm ja auch im Befehl17:13
j0k&&17:13
iTommixJa… ich dachte nur das der Befehl nach dem „&“ ausgeführt wird wenn der erste beendet wurde17:13
Frickelpitselbst das würde sofort runterfahren17:13
FrickelpitiTommix: ein & schickts in den Hintergrund, zwei führt es der Reihe nach aus17:14
k1lhttps://wiki.ubuntuusers.de/Shell/Operatoren/#UND-Verknuepfung-von-Befehlen-mit17:14
le_botTitle: Operatoren › Shell › Wiki › ubuntuusers.de (at wiki.ubuntuusers.de)17:14
iTommixalso wäre „&&“ richtig17:14
FrickelpitNein17:14
FrickelpitEs sei denn, der Prozess wird erst beim beenden des Terminals als abgeschlossen gewertet vom gnome-terminal17:16
k1ldie frage ist wann das gnome terminal da den exitstatus abgibt.17:16
iTommixFrickelpit: könnte man ja testen ;)17:16
FrickelpitiTommix: Das kannst du testen in dem du ein echo $? anstelle des shutdown Befehls packst.17:17
k1lich würde es mal mit && probiere, wenn das nciht geht wirds eh fies.17:17
iTommixteste es gerade mal...17:18
iTommixnope… fährt sofort runter :(17:19
FrickelpitiTommix: der dr_bob kann dir bestimmt sagen, dass das eine doofe Idee ist und man das wunderbar schön anders regeln kann.17:21
Frickelpithuhu dr_bob :)17:21
iTommixaber warum sollte das eine doofe idee sein?17:21
dr_bobHallo Frickelpit!17:22
dr_bobMoment, muss erst mal lesen.17:23
iTommixdr_bob: Hi… also prinzipiell eine  einfache aufgabe… aber irgendwie will das o.g. nicht funktionieren17:25
dr_bobHabe ja leider kein Ubuntu sondern Xubuntu und deshalb kein gnome-terminal.17:27
xciTommix: mit etwas weniger bloatigem als dem gnome-terminal funktioniert das auch ;)17:27
iTommixdr_bob: ja, musste ich auch erst nachinstallieren…17:28
xcz.B.: xterm -e htop ; echo done17:28
iTommixxc: was schlägst du vor?17:28
dr_bobIch plotte noch...17:28
dr_bobAlso, zunächst mal ist es blöd, zwei Mal sudo zu haben.  Wenn Dein Programm lange läuft, dann wird er beim shutdown immer nach dem Passwort fragen.17:29
iTommixhm… vielleicht funktioniert ja auch GT mit einem „;“ - testen17:29
xcnein, wird es nicht17:29
xcder einzige Unterschied ist, dass bei && der Rückgabewert eine Rolle spielt, bei ; nicht.17:30
iTommixok… und xterm lässt sich fullscreen öffnen?17:31
xcDas Problem bei dem gnome-terminal scheint zu sein, dass es sich in den Hintergrund forkt. Wenn du unbedingt gnome-terminal verwenden willst, wird das komplizierter, je nachdem wie genau du "Programm beenden" verstehst.17:31
xciTommix: das sagt dir "man xterm"17:31
dr_bobiTommix, ich würde das so machen.  Eigentlich müsste gnome-terminal erst enden, wenn das gestartete Programm beendet ist.17:32
dr_bobSorry, Link vergessen: https://paste.ubuntuusers.de/423939/17:32
le_botTitle: Unbenannt › Ablage › ubuntuusers.de (at paste.ubuntuusers.de)17:32
iTommixnaja… was verstehe ich darunter. rufe ich das programm im terminal auf (bash) dann blockiert es ja auch die bash, bis ich „quit“ anklicke ;)17:32
xciTommix: es macht einen Unterschied, ob du das Terminal schließt, oder du das Programm korrekt beendest und sich das Terminal danach von selbst schließt.17:33
iTommixoh gott… dr_bob… :D was hast du da zusammengebaut?17:33
dr_bobZu Eurer Diskussion oben: ich würde && nur dann verwenden, wenn der Shutdown tatsächlich bei einem Fehler ausbleiben soll. Sonst sollte man ";" nehmen, wenn denn alle Befehle unbedingt auf einer Zeile stehen müssen.17:33
dr_bobiTommix, das Skript schaut in Zeile 3 nach, ob es als root läuft (also mit sudo).  Falls nicht, ruft es sich selbst mit sudo auf, indem es den aktuellen Prozess überlagert (exec).17:34
dr_bob$DEBUG dient nur dem Zweck, dass man einfach Debugging einschalten kann.  Dann rufst Du das einfach so auf: $ DEBUG=x das-script17:35
dr_bobMache ich immer so.  Dann kann man auch bequem über mehrere Skripte hinweg debuggen, die sich gegenseitig aufrufen.17:35
iTommixok… also ausser das ich den parameter „-e“ nimmst du für gnome-terminal hier „-x“ - der unterschied macht es dann?17:36
dr_bobWar die Erläuterung hilfreich?17:36
iTommixdr_bob: yes… danke17:36
iTommixdr_bob: auch mit deinem script fährt der rechner sofort runter :(17:38
dr_bobEher nicht.  Ich bevorzuge aber -x hier, weil man dann einfach weitere Kommandozeilenargumente anhängen kann und keinen Stress mit Shell-Sonderzeichen bekommt.  Man kann auch gleich alle Argumente durchreichen: https://paste.ubuntuusers.de/423940/17:38
le_botTitle: Sudo mit shutdown › Ablage › ubuntuusers.de (at paste.ubuntuusers.de)17:38
dr_bob"Eher nicht" bezog sich auf den Unterschied.17:39
dr_bobLäuft denn Dein Programm wirklich?  Vielleicht hast Du ja ein Problem mit dem Kommando oder der Tatsache, dass es als root ausgeführt wird17:39
iTommixes soll mit sudo laufen. und ja, man sieht es kurz, aber dann fährt die büchse ja schon runter17:40
xcsiehe was ich vor 10min schon schrieb.17:40
iTommixwegen xterm?17:41
dr_bobDann mach doch mal folgendes: gnome-terminal -e "dein befehl; read foo"17:41
dr_bobDann bleibt das Terminal auf jeden Fall offen und Du kannst schauen, was es da als Fehler gibt.17:41
iTommixalso in anführungszeichen setzen?17:42
xcgnome-terminal forkt sich in den Hintergrund, deswegen funktioniert der Ansatz von dr_bob nicht.17:42
dr_bobxc, warum macht es das?  Die Manpage erwähnt das auch nicht.17:42
xcdr_bob: frag mich doch nicht sowas, wie erwähnt halte ich das Ding für bloatware und würde davon abraten es zu benutzen.17:43
xcWenn man darauf besteht, ist es wahrscheinlich am sinnvollsten, die pid von dem Prozess "innen" zu holen und auf den zu warten.17:44
dr_bobMan könnte es auch umgekehrt machen und die PID des Shell-Skriptes reinreichen.  Das legt man dann schlafen und schreibt einen Signalhandler, der es beendet.  Ist aber auch eklig.17:45
iTommixwäre eine option…17:45
* dr_bob hat noch eine Ubuntu-VM gefunden und bastelt mal.17:46
dr_bobHm, btrfs ist nicht optimal als Dateisystem, auf dem VMs liegen.17:48
xcdie Aussage ist auch ohne den Nebensatz wahr :p17:49
dr_bobBin ansonsten ganz zufrieden.17:56
dr_bobiTommix, Du kannst das natürlich auch so machen, dass Du ein Skript schreibst, das Deinen Befehl ausführt und danach den Shutdown macht.  Das führst Du dann im gnome-terminal aus (wenn es das sein soll).  Oder Du hängst das gleich mit an: sudo gnome-terminal -e 'befehl; shutdown -H now'18:02
xcDas macht halt dann Probleme, wenn es auch "ok" sein soll, das Terminal zu schließen (deswegen oben meine Nachfrage).18:03
iTommixdr_bob: werde ich mal testen… ansosnten bleibt noch die variante mit der PID 18:04
xcQuick and Dirty ginge auch sowas, vorausgesetzt es gibt nur einmal htop / dein ausgeführtes Programm:18:05
xc gnome-terminal -e htop ; sleep 1 ; while pgrep htop &>/dev/null ; do sleep 2s ; done ; echo done18:05
iTommixja… das gibt es definitiv dann nur einmal :)18:05
iTommixich teste das, xc18:06
dr_bobStatt pgrep nehme ich gerne pkill -0 htop 2>/dev/null.18:06
xcaber das ist halt jetzt echt zusammengehackt und ich würde eher einfach einen anderen Terminalemulator nehmen18:06
dr_bobAch nee, das läuft ja unter dem anderen Benutzer.  Vergiss das-18:06
iTommixdas terminal wäre mir egal… es soll halt im fullscreen modus laufen18:07
dr_bobSo Schleifen, die auf die Beendigung eines Prozesses warten, finde ich immer so unelegant.18:08
xcalso, wenn deine Version neu genug ist, hilft das hier: https://github.com/GNOME/gnome-terminal/commit/42f9f7978e3d103af7a5c9eb2c8f0e8d40e0647c 18:10
le_botTitle: client: legacy: Implement waiting for child process exit · GNOME/gnome-terminal@42f9f79 · GitHub (at github.com)18:10
xcund sonst wie gesagt: xterm -fullscreen -e htop ; echo done18:10
iTommixxc: das war meine frage vorhin, ob xterm fullscreen kennt… sorry… hab hier gerade 2 probleme auf dem tisch :(18:12
xcgeht sicher auch mit xfce4-term, urxvt oder sonstewas18:14
* dr_bob würde dann auch xterm nehmen. Auf Xubuntu natürlich xfce4-terminal18:16
iTommixxc: und dr_bob habe es jetzt mit der pgrep variante gelöst… danke allen :)19:33

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!