Co zrobić, gdy GUI Linuksa zawiesza się

24

Używam Gnome z compiz w Ubuntu 10.04. Czasami gui zamarza. Mogę poruszać myszą, ale nie mogę wchodzić w interakcje z programami. Jedyne, co mogę zrobić, to przejść do okna terminala za pomocą Alt + Ctrl + F (n). Stamtąd loguję się i uruchamiam sudo. Co jeszcze mogę zrobić na terminalu zamiast restartu, aby poradzić sobie z tym problemem, gdy się pojawi?

tony_sid
źródło

Odpowiedzi:

14

Jednym z rozwiązań, które używam od czasu do czasu, gdy coś wariuje, jest przejście do innej konsoli, używając Ctrl-AltFx (F1-F6). Ctrl-Alt-F7 powinien zabrać cię z powrotem do ekranu graficznego. Powinno to zabrać Cię do logowania tekstowego.

Jeśli to nie zadziała i zainstalowałeś OpenSSH (sudo apt-get install openssh), możesz zdalnie ssh do swojego urządzenia i otrzymać ten sam monit.

Następnie możesz zalogować się sam, su do rootowania i zobaczyć, która aplikacja jest obecnie uruchomiona. To wymaga trochę doświadczenia z niektórymi poleceniami, takimi jak ps, kill, grep i mniej.

ps - ef | więcej

Powyższe polecenie pokaże wszystkie aktualnie uruchomione procesy i pojawi się monit „Więcej ...”, aby wziąć remis i odczytać dane wyjściowe.

zabij -9 ####

Powyższe polecenie zabije proces o numerze ####.

ps -ef | grep ora | więcej

Powyższe polecenie pokaże wszystkie procesy z literami „ora”, takie jak programy Oracle. Umożliwi także wyświetlanie podpowiedzi „Więcej ...”.

Robiąc to, musisz zachować ostrożność. możesz zabić cały system. Moim sposobem na to jest spojrzenie na procesy na dole listy, które uruchomią najnowsze procesy. Są to bardziej prawdopodobne te, które zamroziły system, a zabicie ich może bardziej prawdopodobne, aby odmrozić środowisko X bez faktycznego przywracania całego systemu. Na liście procesów zobaczysz dwie liczby. Pierwszy (najbardziej z lewej) to sam numer procesu, a następny to proces, który go uruchomił.

W poleceniach procesów możesz rozpoznać nazwy ostatnio uruchomionych programów i zabić je jako pierwsze.

W najlepszym wypadku możesz znaleźć i zabić program naruszający prawo. W najgorszym przypadku system zostanie zamrożony, dopóki go nie wyłączysz. Kontynuuj ostrożnie ...

Ale masz szansę skopiować krytyczne pliki, wykonać inne operacje itp.

jfmessier
źródło
8

Jak powiedział private_meta, prawdopodobnie będziesz chciał zrestartować X. To zatrzyma wszystkie procesy GUI, w tym wszystkie procesy uruchomione z okna terminala GUI.

Ctrl + Alt + Backspace nie działa na Ubuntu, wyłączyli ten skrót. Możesz go włączyć (nie pamiętam dokładnie, jak to zrobić, ale powinno być łatwo google) lub po prostu użyć odpowiedniej kombinacji, którą jest SysRq + K. SysRq może być drugorzędną funkcją innego klawisza w niektórych układach, na przykład na klawiatura qwertz, którą aktualnie naciskasz AltGr + Print + K.

Inne zastosowania kombinacji klawiszy SysRq można znaleźć w tym artykule w Wikipedii . Daje to większą kontrolę nad systemem, niż prawdopodobnie będziesz potrzebować.

rumtscho
źródło
1
jak włączyć ctrl-alt-backspace ubuntugeek.com/…
matthias krull
Właśnie wypróbowałem Alt + SysRq + K na niezamrożonym systemie i dał mi biały pusty ekran, na którym nic nie mogę zrobić (inaczej całkowite zamrożenie?). Jak może to być pomocne lub co zrobiłem źle?
phunehehe,
4

W najnowszych (Ubuntu - włączone) wersjach Ubuntu możesz pisać:

sudo restart gdm

Czasami nie można przejść do konsoli tekstowej, ale nadal może być możliwe zalogowanie się przy użyciu ssh z innego komputera. Ponowne uruchomienie gdm jest wtedy również możliwe i może naprawić zawieszający się sterownik ekranu.

IanH
źródło
1
Co to robi z programami uruchomionymi w GUI?
tony_sid
2
Wszystkie są rozwiązane, ponieważ tracą tam połączenie z X.
IanH
2

Jeśli klawisze ALT F (n) i mysz działają, możesz również próbować z wyprzedzeniem zabijać poszczególne programy, aby sprawdzić, czy któryś z nich wypuści. Jest to mniej techniczne, ale jest to szybki sposób zorientowany na GUI, aby sprawdzić, czy problem ostatnio się zaczął.

ALT-F2: Aby wywołać okno dialogowe uruchamiania programu, które z mojego doświadczenia zwykle działało, nawet gdy wszystko inne jest zamknięte.

xkill: Aby wymusić zamknięcie aplikacji GUI.

Kliknij szkodliwą aplikację i zobacz, co się stanie.

Dennis
źródło
1

Przeważnie powinno być możliwe zrestartowanie Menedżera okien za pomocą Ctrl + Alt + Backspace. Mimo że zabija to aplikacje na pierwszym planie, wciąż nie jest to pełny restart, może być dla ciebie kompromisem.

private_meta
źródło
1
jest to domyślnie wyłączone od 9.04, więc nie będzie działać. zamiast ponownego uruchomienia można wpisać /etc/init.d/gdm restart.
Matthias Krull,
0

Po zawieszeniu GUI na komputerze ... myślę, że ponowne uruchomienie jest najlepszą rzeczą, jaką możesz zrobić, chyba że masz coś ważnego i długo działającego w tle ... W każdym razie, ponowne uruchomienie gdm zabije twoje aplikacje.

Laurent
źródło
0

Otwórz terminal wirtualny za pomocą skrótu CTRL- ALT- F[number], zaloguj się sudo killall [dm](gdzie [dm]jest jeden z gdm, gdm3, kde, wdm, lightdm, lxdm,etc) i rozpocznij nową sesję x za pomocąstartx

Jeśli nie zabijesz dm, nie zrobi to zbyt dużej różnicy. Zamrożony / zawieszony dm nie zużywa dużej mocy obliczeniowej.

cepkos
źródło