Puncte:2

Ubuntu 20.04.3 Probleme la rularea Firefox de pe terminal

drapel ru

Sunt un utilizator proaspăt al Ubuntu 20.04.3. Am întâlnit o problemă cu alergarea firefox browser web din terminal.

Când scriu „firefox” în terminal, primesc mesajul:

ATENȚIE: valoarea implicită a opțiunii mesa_glthread este suprascrisă de mediu.

ATENȚIE: valoarea implicită a opțiunii mesa_glthread este suprascrisă de mediu.

ATENȚIE: valoarea implicită a opțiunii mesa_glthread este suprascrisă de mediu.

ATENȚIE: valoarea implicită a opțiunii mesa_glthread este suprascrisă de mediu.

În cele din urmă se lansează Firefox, dar dacă închid fereastra terminalului, îmi închide și Firefox.

drapel us
Editați întrebarea pentru a adăuga ieșirile terminalului ca cod, în loc să postați capturi de ecran.
Puncte:3
drapel cn

Există câteva moduri de a face ca procesul de fundal să fie rezistent închide mai întâi, ai nohup care îl instruiește pe semnal funcţie de ignorat SUPRAȚI înainte de a se înlocui cu noul proces (execvp). Cu toate acestea, pentru aplicațiile care reimplementează gestionarea semnalului, acest lucru nu este posibil.

În continuare, cel setsid comanda funcționează aproape în același mod, dar în loc să manipuleze semnalul, setsid() este folosit pentru a crea o nouă sesiune, acest lucru nu va face aplicația dumneavoastră imună, dar cel puțin nu va mai primi niciun semnal de la terminal. Acum, aceste două comenzi pot fi combinate, de exemplu, dacă SIGHUP este onorat, sau nohup va fi redundant.

În sfârșit, cu neagă puteți fie să vă eliminați aplicația din joburile active, fie să marcați aplicația folosind -h pentru a nu primi SIGHUP trimis din shell. Acum, ca și cu setsid, acest lucru nu va face aplicația dumneavoastră imună, dar atâta timp cât SIGHUP nu este trimis direct la proces, ar trebui să fiți bine.

firefox &>/dev/null & respinge

De asemenea, puteți renunța la o aplicație care rulează.

$ firefox
ctrl + z
^Z
[1]+ Firefox oprit
$ bg
$ neagă

neagă de asemenea, ia ca argument fie jobspec, fie pid.

sudodus avatar
drapel jp
+1, Mulțumesc, acesta este un răspuns foarte util :-)
Puncte:2
drapel us

Dacă doriți să puteți închide terminalul după lansarea software-ului grafic pe care trebuie să îl utilizați --desprinde.

Exemplu:

firefox --detach
N0rbert avatar
drapel zw
Nu văd `--detach` pe [pagina de manual a lui firefox](http://manpages.ubuntu.com/manpages/focal/en/man1/firefox.1.html). Vrei să spui `Ctrl`+`Z`, urmat de `bg`?
sudodus avatar
drapel jp
Știți diferența dintre folosirea `firefox --detach &` și `nohup firefox &` (cu excepția faptului că nohup va salva ieșirea terminalului în `nohup.out`)?
sudodus avatar
drapel jp
@N0rbert, ai dreptate, dar funcționează oricum.
ChanganAuto avatar
drapel us
@N0rbert Acesta este același parametru folosit de browser-ul TOR Bundle bazat pe Firefox ESR, de aceea funcționează și este suficient de simplu pentru a fi folosit de OP.
drapel ru
@ChanganAuto după ce ați folosit firefox --detach, în încercarea de a închide terminalul, încă închide browserul web
ChanganAuto avatar
drapel us
@kowczarek Pur și simplu, nu este posibil. Fie ai tastat ceva greșit, fie că ai încercat să-l rulezi ca root, ceva ce nu ar trebui să faci niciodată.
sudodus avatar
drapel jp
@kowczarek, `--detach` funcționează pentru mine, dar ceva trebuie să fie diferit între sistemele noastre. Oricum, vă rugăm să încercați `nohup firefox` și să ne spuneți cum funcționează, când închideți fereastra terminalului. - Apropo, cum închideți terminalul?
drapel ru
@sudodus Am încercat „nohup firefox” și lansează firefox-ul și reușesc să închid terminalul, dar când o fac, îmi place să-mi opresc sesiunea Firefox și primesc acest mesaj: „Gah. Fila ta tocmai s-a blocat. Vă putem ajuta! Alegeți Restabiliți această filă pentru a reîncărca pagina." Și pentru întrebarea ta „cum închid terminalul” doar apăs pe X în colțul din dreapta sus, este o modalitate proastă de a face asta? :(
bac0n avatar
drapel cn
de obicei, atunci când doriți cu adevărat să detașați un proces, cred că `setsid` funcționează cel mai bine.
sudodus avatar
drapel jp
@kowczarek, Este ciudat. Am testat pe computerul meu principal cu 18.04.x ​​LTS, unde funcționează. Acum am testat într-un sistem de testare cu un standard actualizat Ubuntu 20.04.3 și am primit același lucru ca și tine. ***ar trebui*** să fie OK să închid fereastra terminalului cu butonul x :-( Dar când am închis terminalul tastând `exit` (din bash în fereastra terminalului), firefox a supraviețuit fără plângere :-)
sudodus avatar
drapel jp
Vedeți [acest link](https://paste.ubuntu.com/p/G4wNMBRYMY/) la pastebin Ubuntu cu ieșirea în fila Firefox și la `nohup.out`, când ieșiți din `gnome-terminal' în Ubuntu 20.04.3 LTS.
sudodus avatar
drapel jp
Ai dreptate @bac0n, `setsid firefox &` funcționează. Firefox supraviețuiește atunci când iese din `gnome-terminal' în Ubuntu 20.04.3 LTS (tot atunci când apăsați butonul x). Poți explica diferența? Vă sugerez să scrieți un răspuns (și promit că îl voi vota pozitiv).
bac0n avatar
drapel cn
poate `setsid -f firefox` funcționează.

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.