Jak naprawić niereagujący system Ubuntu?


22

Używam Ubuntu. Czasami system nie reaguje na mysz i klawiaturę. Czy jest jakiś sposób na rozwiązanie tego problemu poza naciśnięciem przycisku resetowania na urządzeniu?


1
to trudne pytanie, ponieważ nie dajesz nam wiele do zrobienia ... gdybym to był ja, CTRL + ALT + F [1..6], zaloguj się i zabij niektóre procesy. ale prawie zawsze wiem, co powoduje, że moja maszyna nie odpowiada, a ty nie. i dodatkowo, czasem pisać programy, które znam są wykraczających aby to odpowiada, bo chcę wyjście programu.
ixtmixilix

Czy na pewno system przestaje reagować, czy system nadal działa, ale urządzenia wejściowe przestają działać?
Bobby

Odpowiedzi:


35

Jeśli chcesz zrestartować komputer bez zapisywania otwartych dokumentów, ale bez naciskania przycisku resetowania, istnieją sposoby, które mogą powodować utratę danych. Najpierw spróbuj Ctrl+ Alt+ F1. To powinno doprowadzić cię do wirtualnej konsoli , jak powiedział ixtmixilix . Gdy znajdziesz się w wirtualnej konsoli, Ctrl+ Alt+ Deletewyłączy się i ponownie uruchomi komputer.

Jeśli ta technika nie działa, zawsze jest Alt+ SysRq+REISUB .

Jeśli chodzi o rozwiązanie problemu bez ponownego uruchamiania, bez dodatkowych informacji o tym, co się dzieje, trudno byłoby udzielić dobrej odpowiedzi. Jeśli możesz opisać okoliczności, w których to się dzieje (najlepszym sposobem na to jest edycja pytania w celu dodania informacji), może to pomóc ludziom w udzieleniu dobrych odpowiedzi. Inną rzeczą do rozważenia jest to, że jeśli twój komputer przestaje reagować - szczególnie jeśli zajmuje więcej niż kilka sekund, aby Ctrl+ Alt+ F1uruchomiła wirtualną konsolę - wtedy prawie na pewno masz błąd, a zgłaszając go , możesz oba pomagają społeczności i być może uzyskają odpowiedź.

Usterki GUI powodujące brak odpowiedzi WM lub X11 / Wayland

Może się tak zdarzyć z powodu interakcji między aplikacją a menedżerem okien - lub serwerem X11 lub Wayland. Znakiem tego jest problem, gdy aplikacja przestaje odpowiadać i uniemożliwia wprowadzanie danych za pomocą klawiatury lub myszy do innych okien aplikacji. (Żadna aplikacja nie powinna tego zrobić; niektóre komponenty GUI muszą mieć w sobie błąd, aby tak się stało). Jeśli tak się dzieje, możesz zabić obrażający proces w wirtualnej konsoli (jak wspominał ixtmixilix ):

  1. Naciśnij Ctrl+ Alt+ F1.

  2. Zaloguj się. Nic nie zobaczysz po wprowadzeniu hasła. To normalne.

  3. Skorzystaj z narzędzia, psaby dowiedzieć się, jaka jest nazwa procesu szkodliwego programu. Czasami w Ubuntu jest to łatwe, a innym razem nie. Na przykład nazwa procesu menedżera archiwów to file-roller. Jeśli masz problem z ustaleniem tego, zazwyczaj możesz znaleźć informacje online bez większych problemów (lub jeśli nie możesz, możesz zadać pytanie na ten temat).

    Możesz potokować pswyjście w grepcelu zawężenia rzeczy. Załóżmy, że przyczyną problemu był Menedżer archiwum. Następnie możesz uruchomić:

    ps x | grep file-roller
    

    Zobaczysz wpis dla własnego greppolecenia oraz wpis dla file-roller.

  4. Próba zabicia procesu obrażającego za pomocą SIGTERM. Daje to szansę na czyszczenie w ostatniej chwili, takie jak opróżnianie buforów plików, sygnalizowanie zdalnym serwerom, że zaraz się rozłączy (w przypadku protokołów, które to robią) i uwalnianie innych zasobów. Aby to zrobić, użyj killpolecenia:

    kill PID

    gdzie PIDjest numerem identyfikacyjnym procesu, który chcesz zabić, uzyskanym z uruchomienia psw kroku 3.

  5. SIGTERMto sposób, aby zdecydowanie poprosić o proces rezygnacji. Proces może zignorować ten sygnał i zrobi to w przypadku nieprawidłowego działania w określonych okolicznościach. Więc powinieneś sprawdzić, czy to zadziałało. Jeśli nie, zabij go SIGKILL, którego nie można zignorować i który zawsze działa, z wyjątkiem rzadkiego przypadku, gdy proces jest w nieprzerwanym śnie (lub jeśli tak naprawdę nie jest uruchomiony, ale jest raczej procesem zombie ).

    Możesz zarówno sprawdzić, czy proces nadal działa, i zabić go, SIGKILLjeśli tak, za pomocą jednego polecenia:

    kill -KILL PID

    Jeśli dostaniesz wiadomość , wiesz, że zabicie go działało. Jeśli nie otrzymasz danych wyjściowych, wiesz, że nie działało. W takim przypadku prawdopodobnie tak, ale warto to sprawdzić, uruchamiając go ponownie. (Naciśnij klawisz strzałki w górę, aby wyświetlić poprzednie polecenia, aby ułatwić pisanie.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. W rzadkich przypadkach dla własnych procesów lub zawsze z procesami należącymi do rootlub innego użytkownika oprócz ciebie, musisz zabić proces jako root. Aby to zrobić, wstaw sudo powyższe killpolecenia (w tym spację końcową) . Jeśli powyższe polecenia nie działają lub powiedziano ci, że nie masz niezbędnego dostępu do zabicia procesu, spróbuj tak jak w rootprzypadku sudo.

(Nawiasem mówiąc, kill -KILLjest taki sam jak powszechnie popularny kill -9. Polecam, kill -KILLponieważ SIGKILLnie ma gwarancji, że ma 9jako swój numer sygnału na wszystkich platformach. Działa na x86, ale to nie znaczy, że niekoniecznie będzie działać wszędzie. W ten sposób, kill -KILLjest bardziej prawdopodobne, że uda się zakończyć proces niż kill -9. Ale są one równoważne na x86, więc możesz go użyć, jeśli chcesz.)

Jeśli wiesz, że nie ma innych procesów o takiej samej nazwie jak ta, którą chcesz zabić, możesz użyć killallzamiast killnazwy procesu i jego nazwy zamiast numeru identyfikacyjnego procesu.

Proces monopolizujący zasoby procesora

Jeżeli uruchamia proces na lub bardzo blisko najwyższym priorytecie (lub stanie się bardziej prawidłowo, na lub w pobliżu najniższego możliwego uprzejmość ), to potencjalnie może spowodować, graficzny interfejs użytkownika, całkowicie lub prawie całkowicie obojętne. Jednak w tej sytuacji prawdopodobnie nie będziesz w stanie przełączyć się na wirtualną konsolę i uruchomić poleceń (a może nawet zrestartować komputer).

Jeśli proces lub kombinacja procesów o normalnym lub umiarkowanie podwyższonym priorytecie spowalniają twoją maszynę, powinieneś być w stanie zabić je przy użyciu techniki opisanej w powyższej sekcji. Ale jeśli są to programy graficzne, prawdopodobnie możesz je również zabić, klikając przycisk zamykania w ich oknach - środowisko pulpitu daje możliwość ich zabicia, jeśli nie reagują. Jeśli to nie zadziała, oczywiście możesz (prawie) zawsze je zabić kill -KILL.

Problemy z I / O

Błędy we / wy mogą powodować przedłużoną (nawet wieczystą) brak reakcji. Może to być spowodowane błędem jądra i / lub błędnymi sterownikami. Częściowym obejściem jest uniknięcie ciężkich i jednoczesnych operacji odczytu i / lub zapisu (na przykład nie kopiuj dwóch dużych plików jednocześnie, w dwóch równoległych procesach kopiowania; nie kopiuj dużego pliku podczas oglądania wideo HD lub instalowania System operacyjny na maszynie wirtualnej).

Jest to oczywiście niezadowalające, a prawdziwym rozwiązaniem jest znalezienie problemu i zgłoszenie go. O ile nie korzystasz z jądra głównego z kernel.org , błędy jądra powinny być zgłaszane w pakiecie linuxw Ubuntu (ponieważ Ubuntu zapewnia specjalne kompilacje jądra, które integrują łaty specyficzne dla dystrybucji, a raporty o błędach niepotwierdzone w stosunku do jądra głównego zostaną odrzucone na kernel.org ). Powinieneś to zrobić, uruchamiając ubuntu-bug linux(lub apport-cli linux) na zaatakowanym komputerze. Zobacz dokumentację raportowania błędów Ubuntu pierwszy; wyjaśnia, jak to zrobić poprawnie.

Problemy z kartą graficzną

Niektóre blokady GUI mogą być spowodowane problemami z kartami graficznymi. Aby to złagodzić, możesz spróbować:

  1. Wyszukaj w Internecie, czy inne osoby nie mają podobnych problemów z tą samą kartą wideo (i / lub marką i modelem komputera) w Ubuntu lub innych dystrybucjach GNU / Linux. Mogą istnieć rozwiązania bardziej szczegółowe niż to, co mogę zaoferować w tej odpowiedzi, bez bardziej szczegółowych informacji, niż jest to obecnie w pytaniu.

  2. Sprawdź, czy możesz wypróbować różne sterowniki wideo. Możesz to zrobić, zaznaczając Dodatkowe sterowniki; możesz również przeszukać internet, aby sprawdzić, jakie sterowniki Linux są dostępne dla twojej karty graficznej. Większość zastrzeżonych kart wideo to Intel, AMD / ATi lub Nvidia (kliknij te łącza, aby wyświetlić dokumentację społeczności dotyczącą instalowania i używania zastrzeżonych sterowników dla tych kart w systemie Ubuntu). W przypadku Intela najlepiej jest trzymać się sterowników FOSS obecnych w Ubuntu, ale nadal można znaleźć przydatne informacje . Niezależnie od posiadanej karty, te ogólne informacje mogą pomóc.

    Jeśli obecnie używasz zastrzeżonych sterowników, możesz spróbować użyć różnych zastrzeżonych sterowników (na przykład bezpośrednio z NVidia lub AMD / ATi) lub zamiast tego możesz spróbować użyć bezpłatnych sterowników open source.

  3. Spróbuj wybrać graficzny typ sesji logowania , który nie wymaga / nie używa przyspieszenia grafiki. Aby to zrobić, wyloguj się, a na graficznym ekranie logowania kliknij logo Ubuntu lub ikonę koła zębatego obok nazwy logowania. Wyświetla się menu rozwijane. Zmień wybór z Ubuntu na Ubuntu 2D . To sprawia, że ​​używasz Unity 2D zamiast Unity . (Jeśli używasz GNOME Shell , możesz zamiast tego wybrać GNOME Fallback / GNOME Classic .) Jeśli masz wątpliwości i istnieje wybór, który mówi „brak efektów”, wybierz to, ponieważ jest to prawdopodobnie najbezpieczniejszy.

    To pytanie zawiera więcej informacji na temat różnych interfejsów graficznych, które można wybrać w Ubuntu.

  4. W nowszych wersjach Ubuntu możesz wybierać między X.org a Wayland na ekranie logowania. Czegokolwiek używałeś, spróbuj drugiego. Czasami problem z Waylandem można rozwiązać za pomocą X.org lub odwrotnie.

  5. Zgłoś błąd.

Mam nadzieję, że powyższe informacje przekazały pewne ogólne informacje o tym, co może być przyczyną tego rodzaju problemu. Powinien również służyć do naświetlenia, jakie informacje mogą być przydatne do dodania do pytania (w zależności od konkretnych szczegółów problemu), aby umożliwić uzyskanie jeszcze lepszej odpowiedzi. (Lub w celu poprawy tej odpowiedzi o dodatkowe informacje specyficzne dla Twojej sytuacji).


1
Ładnie wykonane wskazówki dotyczące rozwiązywania problemów z zawieszaniem się.
Cool Charac,

Jeśli klawiatura przestanie odpowiadać, nie można użyć Ctrl + Alt + FN
szx

6

Tak, najprostszym sposobem na zarchiwizowanie tego jest włączenie kluczy w celu zabicia serwera Xorg i ponowne uruchomienie sesji X.

Aby to włączyć, otwórz Ustawienia systemowe -> Opcje układu klawiatury (lub użyj keyboardpolecenia w interfejsie Unity, naciśnij AltF2) i zaznacz tę opcję:

Ctrl + Alt + Backspace

wprowadź opis zdjęcia tutaj

Więc kiedy się zawiesi, hit CtrlAltBackspacezabije serwer X, a lightdm ponownie uruchomi interfejs logowania


Alt+Print+Kzrobię to samo po wyjęciu z pudełka, nie?
Bobby
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.