2010-12-16 14 views
17

Jak zapobiec wyjściu terminala gnome po zakończeniu danego polecenia?Zapobieganie przechodzeniu terminala Gnome z trybu po wykonaniu

Dzwonię gnome-terminal z cronjob, aby utworzyć terminal dostępny dla użytkownika. Początkowo terminal otrzymuje określony program do uruchomienia. na przykład

Działa to dobrze, z wyjątkiem tego, że po wyjściu "myprog", podobnie jak terminal gnome. Jak mogę go uruchomić, ale po prostu wrócić do monitu terminala?

+6

Kolejna dyskusja o tym samym numerze: http://stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution –

+1

@Ignacio, to powszechny termin. Google pokazuje ponad 100 tysięcy wyników ... – Cerin

+0

@Ignacio, terminy "shell" i "terminal" są zwykle synonimami. Jeśli twoje słownictwo lub środowisko techniczne się różnią, dobrze. Przepraszam za zamieszanie. – Cerin

Odpowiedz

21

Spróbuj tego:

gnome-terminal --tab -e "/bin/bash -c '/usr/bin/myprog; exec /bin/bash -i'" 
+0

Bardzo uproszczone. Dzięki. – Cerin

3

Utwórz skrypt tak:

#!/bin/bash 
# myprog-wrapper.sh - runs /usr/bin/myprog and then starts a new bash session 
/usr/bin/myprog 
/bin/bash 

Daj skrypt powłoki wykonać zgody.

Następnie skonfigurować crona aby wywołać ten skrypt zamiast bezpośredniego wywoływania myprog:

gnome-terminal --tab -e "/path/to/myprog-wrapper.sh" 

Wymień /bin/bash z muszli wyboru.

2

Można używać xterm lub Rxvt-Unicode zamiast gnome-terminal, z których oba mają możliwość -hold do tego celu.

21

alt text

Tworzenie profilu (tj przytrzymaj), ustaw "Kiedy wychodzi polecenie: Trzymaj terminal otwarty", a następnie

$ gnome-terminal --tab --profile hold -e /usr/bin/myprog 
+0

Powinien istnieć sposób utworzenia profilu z opcją 'hold the terminal open' ustawioną tylko w wierszu poleceń. –

+0

W zależności od twojego gnome-terminalu, możesz użyć gconf lub gsettings, aby ustawić lub uzyskać wartość tej właściwości: 'gconftool-2 -g/apps/gnome-terminal/profiles/Profile0/exit_action' –