Czasami moja skorupa gnoma zawiesza się. Widzę (słyszę) działające procesy w tle (odtwarzanie muzyki), ale nie mogę nic zrobić w gnome. Nie Alt+ F2+ R.
Mogę przełączyć się na konsolę, używając: Ctrl+ Alt+ F1, zaloguj się jako ten sam użytkownik i wykonaj:
gnome-shell --replace
i wróć Ctrl+ F7, ale potem mam dziwne zachowanie. Na przykład nie mogę edytować połączeń sieciowych. Nie mogę się również wylogować. Jaki jest właściwy sposób na ponowne uruchomienie powłoki gnome?
gnome
gnome-shell
jk_
źródło
źródło
gnome-shell overview
, lub w jakiej konkretnej sytuacji, jeśli potrafisz powiedzieć?Odpowiedzi:
Łatwiej jest po prostu nacisnąć Alt+ F2,
r
a następnie wpisać Enter. Działa to tak długo, że powłoka jest użyteczna.Możesz również wysłać
SIGQUIT
dognome-shell
procesu, który zakończy tylko powłokę:Inne metody używają bardziej niszczycielskich środków, które zamykają wszystkie aplikacje, to nie powinno.
źródło
SIGHUP
wskazówkę nie byłoby jednak poprawnym poleceniemkillall -1 gnome-shell
? Przynajmniej zgodnie zman 7 signal
tym wartośćSIGHUP
wynosi 1. Wartość 3 odpowiadaSIGQUIT
. Wysłałem wartość 1 do Gnome Shell i została ona zrestartowana zgodnie z oczekiwaniami.killall -3 gnome-shell
zaowocowałem zabiciem wszystkich aplikacji.Alt+F2
ir
, tj. Bez wygaszania całego ekranu ...Jeśli chcesz poprosić "ładnie", aby gnome-shell zrestartował się, możesz wywołać jego wewnętrzną funkcję restartu za pośrednictwem dbus za pomocą następującej komendy (zakładając, że
DBUS_SESSION_BUS_ADDRESS
env var ustawiono na poprawną wartość i działasz jako ten sam użytkownik):Jeśli chcesz uruchomić nową instancję,
gnome-shell --replace
powinieneś zrobić dobrze. Na konsoli trzeba określić niezbędne zmienne środowiskowe, takie jakDISPLAY
,DBUS*
i tak dalej. Odnosić się do/proc/$gnome_shell_pid/environ
killall -HUP gnome-shell
zrobi to. Jeśli robisz to zbyt często, gnome-shell może wyłączyć wszystkie rozszerzenia, wymusić wylogowanie lub w inny sposób zachowywać się w sposób nieprzyjazny dla użytkownika.źródło
logout otheruser1 otheruser2
) askubuntu.com/a/874504/17941Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell was not provided by any .service files
bez sudo izFailed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
sudo.Oto inne obejście:
Uruchom polecenie:
PS: Używam lightdm zamiast gdm3.
źródło
Jeśli zainstalowałeś gnome Ubuntu, co powinieneś mieć, być może korzystasz z menedżera wyświetlania gnome. W takim przypadku powinieneś zmienić na inny TTY, na przykład Ctrl + Alt + F4, a następnie
Niedawno napisałem też artykuł o takiej sytuacji:
Pomoc, mój Linux Linux zawiesza się!
Powodzenia!
źródło
Ponieważ nie jesteś zadowolony z tego
gnome-shell --replace
, możesz spróbować zrestartować samego menedżera wyświetlania.Myślę, że to zabije inne uruchomione procesy. Zobacz także http://worldofgnome.org/how-to-restart-gnome-shell-when-freezes-if-ever/
Jeśli jesteś poważnie zainteresowany czymś, co powoduje, że zamarzasz za każdym razem, włącz SysRq, jak wspomniano w https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rst , a następnie daj
<alt><sysrq/print_screen_key><k>
się zabić, cokolwiek tam jest ekran.źródło
DISPLAY=:7 gnome-shell --replace
działa?w
pokazy są inne niż : 0 . Jeśli użyję niewłaściwego wyświetlacza, pojawia się błąd.alt-f2-r
lubgnome-shell --replace
kiedy jest to zalecany sposób gnoma.Czasami mam ten sam problem, co opisujesz, a moim rozwiązaniem jest:
Ctrl+ Alt+ F1, zaloguj się jako ten sam użytkownik i wykonaj:
I wróć z Ctrl+ Alt+F7
Jeśli to jest właściwy sposób, nie wiem. Dla mnie działa za każdym razem.
źródło
Uruchom ponownie X
Najpierw znajdź menedżera wyświetlania używanego przez system Ubuntu za pomocą następującego polecenia:
w moim przypadku to
/usr/sbin/gdm3
Od wewnątrz X lub NA ZEWNĄTRZ X
W przypadku metod od 1 do 4 sprawdź, z którego wyświetlacza korzystasz, używając
w
polecenia.odpowiedź może być na przykład
tty3
(dlatego klawisz „Return to my display” mojego (potwierdzenia) to Ctrl + Alt + F3Metody
sudo /etc/init.d/gdm3 restart
systemctl restart gdm.service
sudo service gdm3 restart
dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
r
następnie wpisz, a następnie naciśnij Enter. Będzie to działać tak długo, że powłoka nie będzie bezużyteczna.źródło
Naciśnij Ctrl + Alt + F2, aby przejść do okna terminala. Czasami nie jest to możliwe.
Naciśnij klawisze Alt + SysRq + R, aby uzyskać klawiaturę.
Jeśli naciśnięcie klawiszy Ctrl + Alt + F2 przed niepowodzeniem, spróbuj ponownie teraz.
Naciśnij klawisze Alt + SysRq + E, aby zakończyć wszystkie procesy.
Naciśnij klawisze Alt + SysRq + I, aby zabić wszystkie procesy.
Naciśnij klawisze Alt + SysRq + S, aby zsynchronizować dyski.
Poczekaj na komunikat OK lub Gotowe. Jeśli nie widzisz komunikatu, spójrz na lampkę dysku twardego, aby zobaczyć, czy Synchronizacja ma znaczenie.
Naciśnij klawisze Alt + SysRq + U, aby odmontować wszystkie dyski.
Poczekaj na komunikat OK lub Gotowe. Jeśli nie zobaczysz komunikatu w ciągu 15-30 sekund, załóż, że dyski są odmontowane (lub że odmontowanie nie jest możliwe) i kontynuuj.
Naciśnij klawisze Alt + SysRq + B, aby ponownie uruchomić komputer.
źródło
kill -15 gnome-shell
nie działa dla mnie, alekill -9
działa. Myślę, że dziejekill -9
się tak, ponieważ uruchamia segfault, który powoduje, że gnome-shell sam się zrestartujekill -15
.źródło
kill -9
nie uruchamia segfault. Wysyła SIGKILL, niepokonany sygnał, dla którego jedynym działaniem jest natychmiastowe wyjście. Należy go używać tylko wtedy, gdy aplikacja nie reaguje na SIGTERM, czyli 15.pkill -11 gnome-shell
spowodowałoby segfault, ponieważ dosłownie robi to sygnał 11. BTW,kill
potrzebuje identyfikatora procesu, a NIE nazwy procesu. Miałeś na myślipkill
czykillall
?