GNU/Linux >> Znalost Linux >  >> Linux

5 Co dělat, když váš systém Linux GUI zamrzne

Všechny operační systémy v určitém okamžiku zamrznou a linuxové distribuce nejsou výjimkou. V tomto příspěvku se podíváme na pět metod, které můžete použít na svůj zamrzlý systém, než budete přemýšlet o odpojení napájecího kabelu nebo podržení tlačítka napájení pro vypnutí počítače.

Frozen GUI se většinou vyznačuje:

  • Jeden program přestane reagovat a nemůže zavřít okno.
  • Nic nereaguje na kliknutí myší nebo stisknutí kláves na klávesnici.
  • Myš se nemůže úplně pohybovat.

Hlavní příčiny zamrzlého GUI

Některé z běžných příčin, které způsobují zamrzání/zasekávání v Linuxu, jsou buď problémy se softwarem nebo hardwarem. Obsahují; vyčerpání systémových prostředků, problémy s kompatibilitou aplikací, nevýkonný hardware, pomalé sítě, konfigurace zařízení/aplikací a dlouhotrvající nepřerušitelné výpočty.

Hlavním problémem je však většinou vyčerpání zdrojů, které často vede k uváznutí. S tímto vědomím se podívejme na pět věcí, které je třeba udělat, když vaše grafické uživatelské rozhraní systému Linux zamrzne.

Co dělat, když vaše grafické uživatelské rozhraní Linuxu zamrzne

1. Zavřete zmrazené aplikace pomocí X-Window

Je to jeden z nejjednodušších způsobů, jak ukončit zmrazení aplikací. X-Window lze otevřít několika způsoby. Jedním z nich je provedení příkazu xkill v terminálu, jak je znázorněno níže.

xkill

Váš kurzor se změní ze znaku šipky na znak X, jak je znázorněno na obrázku níže. Klepněte na tvrdohlavé okno aplikace, které chcete zavřít, kdekoli, ale nejlépe na tlačítko ukončení.

Alternativně, pokud nemůžete spustit terminál, můžete použít následující kombinace kláves. Alt + F2 otevře dialogové okno, kde napíšete příkaz xkill a stiskněte klávesu Enter/Return.

Tato metoda je použitelná v situacích, kdy vaše GUI zamrzlo, ale stále máte kontrolu nad myší a můžete používat kliknutí myší. Bohužel existují situace, kdy i myš zamrzne a nemůžete pohybovat kurzorem. Zde budete muset použít druhou metodu níže.

2. Použijte Linuxový terminál

Pokud by se jednalo o program běžící na terminálu, nejjednodušší způsob by bylo zastavit jej stisknutím Ctrl + C. Tato kombinace vyšle signál SIGINT, který přeruší/zastaví program. V jiných systémech, „Delete “ nebo „Přestávka ‘ může provést stejnou akci.

Případně, pokud proces v terminálu neběžel, můžete spustit terminál a zastavit jej pomocí jejich PID (identifikační číslo procesu). Stisknutím kombinace Alt + F2 otevřete dialogové okno. Zadejte příkaz gnome-terminal a stisknutím klávesy Return/Enter spusťte terminál.

Od tohoto okamžiku použijeme několik utilit, abychom viděli běžící procesy v systému. Jedním ze standardních programů je TOP, který je předinstalován ve většině systémů Linux. Stále můžete používat další služby, jako je HTOP, pokud jsou ve vašem systému nainstalovány. Spusťte program a zavřete proces, který podle všeho spotřebovává velkou část systémové paměti.

Například na obrázku výše zastavíme Firefox pomocí PID, což je 4240. Spusťte níže uvedený příkaz.

sudo kill -9 4240

3. Použijte konzolu (virtuální terminál) k zabíjení procesů

Pokud vše výše uvedené, včetně terminálu, nefunguje, budete se muset vrátit do režimu konzoly. Pro vstup do režimu konzoly použijte kombinaci Ctrl + Alt + F3. Vaše GUI rozhraní zmizí a vy přejdete do virtuálního terminálu, jak je znázorněno níže. Možná budete požádáni, abyste se přihlásili pomocí svého uživatelského jména a hesla.

Chcete-li opustit konzolu a vrátit se do grafického uživatelského rozhraní (GUI), stiskněte Ctrl + Alt + F2.

Stejně jako v Terminálu i zde můžeme použít několik příkazů a utilit k zastavení běžícího procesu. Protože jsem do svého systému nainstaloval HTOP, provedu ho a zabiju procesy pomocí jejich PID.

Naštěstí s HTOP, na rozdíl od TOP, nemusíte provádět příkaz KILL. Vyberte proces, který chcete zastavit, a stiskněte klávesu F9 (kill).

4. Použijte Putty ke vzdálenému přihlášení přes SSH

Kromě provádění výše uvedených úkolů na vašem nativním počítači k němu můžete přistupovat vzdáleně pomocí Putty a provádět stejné příkazy. Zde budete muset mít SSH server spuštěný a správně nakonfigurovaný na vašem cílovém systému. V tomto příspěvku použijeme putty k zastavení odstraňování problémů a zastavení procesu na vzdáleném serveru Ubuntu.

Chcete-li nainstalovat putty, spusťte příkaz níže.

  •  Ubuntu/Debian
sudo apt-get install putty
  • CentOS, Red Hat a Fedora
sudo dnf install putty
or
sudo yum install putty

Spusťte putty a do zvýrazněné části zadejte IP adresu cílového počítače, jak je znázorněno na obrázku výše. Klikněte na „Otevřít“. IP adresu libovolného systému Linux můžete získat spuštěním příkazu ifconfig.

Všimněte si, že pokud je cílový počítač v privátní síti (tj. má přidělenou soukromou adresu), budete muset být ve stejné síti, abyste získali vzdálený přístup k systému.

Budete se muset přihlásit pomocí svého uživatelského jména a hesla, jak je znázorněno na obrázku níže.

Jakmile budete mít aktivní relaci, můžete nyní začít s odstraňováním problémů v systému. Jedním z běžných způsobů je použití procesních utilit ke kontrole všech běžících procesů v systému. V tomto příkladu spustíme TOP spuštěním top příkaz.

Můžete zkontrolovat některé procesy, které spotřebovávají nejvíce paměti, a zabít je pomocí jejich PID. Některé z běžných příkazů zabíjení zahrnují; pkill, kill, kill -9, killall. Viz příklady níže.

pkill gedit
kill [Process_PID]
kill -9 [Process_PID]
killall -u [username]

Pomocí volby –help můžete zaškrtnout další možnosti pro použití s ​​různými příkazy. Například pkill –help vám poskytne seznam všech možností, které můžete použít s nástrojem pkill.

5. Použijte Alt + SysRq + [Option-Keys] v konzole

SysRq (System Request) je specifická kombinace klíčů používaných ke komunikaci přímo s jádrem bez ohledu na stav systému. Umožňuje uživatelům odesílat nízkoúrovňové příkazy do jádra Linuxu.

 SysRq klíč je běžně na stejném klíči jako Prnt-Scrn nebo tlačítko Domů. To se však může u jednotlivých značek počítačů lišit.

Chcete-li použít SysRq, musíme nejprve přejít do režimu konzoly, jak je znázorněno v předchozí metodě. Stiskněte kombinaci Ctrl + Alt + F3. Chcete-li se vrátit do GUI, stiskněte Ctrl + Alt + F2. V případě, že nemůžete přejít na konzolu, postupujte podle níže uvedených kroků.

Krok 1) Stiskněte Alt+SysRq+R. Je to kombinace používaná k získání klávesnice.
Krok 2) Pokud se vám dříve nedařilo přejít na konzolu, spusťte znovu kombinaci Ctrl + Alt + F2.
Krok 3) Stiskněte Alt+SysRq+ E. Označuje všechny procesy běžící v systému.
Krok 4) Stiskněte Alt+SysRq+ I. Zabije všechny běžící a zastavené procesy.
Krok 5) Stiskněte Alt+SysRq+ S. Je to kombinace synchronizujte všechny své disky připojené k systému, abyste zabránili ztrátě dat.
Krok 6) Počkejte na zprávu OK na konzole. Můžete také zkontrolovat indikátory HDD, abyste zjistili, zda byla synchronizace úspěšná.
Krok 7) Stiskněte Alt+SysRq+ U. Znovu připojí všechny disky připojené k systému jako pouze pro čtení.
Krok 8) Počkejte na zprávu OK. Pokud se však neobjeví, počkejte 30 sekund a předpokládejte, že je hotovo, a poté pokračujte.
Krok 9) Stiskněte Alt + SysRq + B. Jedná se o kombinaci pro nucené restartování počítače.

Všechna zde použitá písmena jsou v pořadí R-E-I-S-U-B. Aby tato metoda fungovala ve vašem systému, musí být provedeny ve stejném pořadí. Některé z běžných mnemotechnických pomůcek používaných pro tato písmena jsou „Restart, i když je systém naprosto rozbitý“  nebo ‚Chov slonů je tak naprosto nudný.‘

Existuje více kombinací SysRq, které můžete použít na svém zmrazeném GUI, kromě REISUB. Najdete je ve zdrojích Linux Kernel, dokumentace SysRq.

Závěr

To jsou metody, které můžete použít k obnovení systému ze zmrazeného stavu. Jsou zde, aby vás zachránili před použitím poslední možnosti, kterou by bylo provedení fyzického resetu nebo zapnutí/vypnutí, což by mohlo vést ke ztrátě dat. Pokud máte jinou metodu, která vám vyhovuje, neváhejte se o ni podělit s našimi čtenáři v sekci komentářů.


Linux
  1. 9 věcí, které musíte udělat během prvních 10 minut na serveru Linux

  2. Jaký je váš oblíbený trik s linuxovým terminálem?

  3. Jaký je váš oblíbený emulátor terminálu Linux?

  1. Monitorujte svůj systém Linux ve svém terminálu pomocí procps-ng

  2. Vydejte se na dobrodružství ve svém linuxovém terminálu

  3. Jaký je váš oblíbený linuxový terminálový trik?

  1. Tisk souborů z terminálu Linux

  2. Linux – co dělat, když linuxová plocha zamrzne?

  3. Co dělat, když plocha Linuxu zamrzne?