Puncte:2

Cum pot continua să funcționeze terminalul după închiderea aplicației?

drapel br

Am creat o comandă rapidă pe desktop pentru a rula un script. Cu toate acestea, nu sunt sigur cum pot menține terminalul deschis odată ce închid aplicația sau dacă se blochează. Sunt destul de nou în codificare, așa că vă rog să mă iertați dacă acest lucru a fost întrebat anterior. Am încercat alte postări de pe forum, dar nu am reușit să-l fac să funcționeze pentru acesta.

Nume=Test
Comentariu=
Exec=bash -c „$HOME/dosar_test/scripts/test.sh”
Pictogramă=/usr/share/icons/test.png
Terminal=adevarat
Tip=Aplicație
StartupNotify=true
Puncte:1
drapel cn

Fereastra terminalului nu poate rămâne deschisă fără un program care rulează în ea. Deci, pentru a menține terminalul deschis, trebuie să vă asigurați că comanda care rulează în el nu iese. Există diferite moduri de a realiza acest lucru. Un aspect care trebuie luat în considerare este când și cum va fi închis terminalul în cele din urmă.

În cazul tău, din moment ce comanda ta este bash rulând un script pe care îl controlați, poate cea mai simplă soluție este să adăugați linia:

citiți -p „Apăsați ENTER pentru a continua”

până la sfârșitul acelui scenariu. Acest lucru va face ca scriptul să aștepte o linie de intrare înainte de a ieși, astfel încât terminalul se va închide doar când apăsați tasta ENTER în timp ce are focalizarea.

Dacă ale tale Exec= linia conține o comandă pe care nu doriți sau nu doriți să o modificați, atunci o soluție alternativă ar fi adăugarea citit comanda acestuia, de exemplu:

Exec=/bin/bash -c '/usr/local/bin/coolprog ; citește -p "Apăsați orice tastă pentru a continua"'

Terminalul va porni un shell pentru a rula această linie de comandă și citit comanda va face ca acel shell să aștepte o linie de intrare înainte de a ieși.

drapel br
A funcționat perfect, mulțumesc! Acum voi încerca să experimentez pentru terminalul pentru a cere „relansarea” în loc să ies din terminal
vanadium avatar
drapel cn
Răspuns bun, dar nu cred că cineva a testat partea `Exec=`.
vanadium avatar
drapel cn
Răspuns bun, dar nu cred că cineva a testat partea Exec=. Oricum, am avut impresia că mai degrabă ai vrut un prompt de terminal după închiderea aplicației.
Tilman avatar
drapel cn
Ai dreptate. O editare de ultimă oră prost concepută. Îmi pare rău pentru asta. Fix.
Puncte:1
drapel cn
  • Pe dumneavoastră Exec= linie, eliminați bash -c " și A la final: nu este nevoie. Doar specificați direct calea completă a scriptului dvs. dacă nu se află într-un director din PATH.
  • Editați scriptul și adăugați o linie bash. în acest fel, terminalul va rămâne deschis la un prompt după ce comanda anterioară din script s-a terminat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.