What to do when a Linux desktop freezes?
I’m a Windows guy, dual booted recently, and now I’m using Linux Mint 12
When a Windows desktop freezes I
refresh, or if I am using a program I use alt + F4 to exit the program or I can use ctrl + alt + delete and this command will allow me to fix the Windows desktop by seeing what program is not responding and so on.
Mint freezes fewer times than my XP, but when it does, I don’t know what to do, I just shut down the pc and restart it.
So is there a command to fix Linux when it freezes?
You can try Ctrl+Alt+* to kill the front process (Screen locking programs on Xorg 1.11) or Ctrl+Alt+F1 to open a terminal, launch a command like
htop to see running processes and launch kill on not responding process.
Note: if not installed, install
sudo apt-get install htop.
Also, once done in your Ctrl+Alt+F1 virtual console, return to the desktop with Ctrl+Alt+F7.
Another suggestion if you are using Gnome3 (I think the default Mint installation uses something similar), you can use CTRL+F2 then press R and hit return. I use this often and it works. It basically restarts the GUI. Even if you don’t see anything on the screen (e.g., it is frozen) you should do that and it will restart the GUI.
In most distros pressing Ctrl+Alt+Backspace kills the X11 (graphic) interface and restarts it.
Unfortunately some recent, supposedly “user friendly” distros deactivated this very useful shortcut for some unfathomable reason. I don’t know if Mint is so “user friendly” but you have nothing to lose trying it 🙂
If all else fails, you Raise The Elephant. Essentially, there are special Magic SysRq key sequences (Alt+SysRq+?) that the Linux kernel handles specially.
If your Linux box freezes and simply won’t yield to any other key-commands, you should definitely try one particular key sequence before a hard reboot.
The key sequence is popularly remembered with the mnemonic:
Raising Elephants Is So Utterly Boring
- Alt+SysRq+R switch keyboard to ‘raw’ mode
- Alt+SysRq+E send SIGTERM (termination) signal to all processes except mother init
- Alt+SysRq+I send SIGKILL signal to all processes, a little more aggressive
- Alt+SysRq+S sync all filesystems to prevent data loss
- Alt+SysRq+U remount filesystems as read-only
- Alt+SysRq+B forcefully reboot
For the full list of possible commands and additional tips on how to type these commands see the Wikipedia page.
Besides what was already mentioned, I also use those tricks:
If by any chance the unresponsive program was started in a terminal, I would try a Ctrl+D or Ctrl+C. If nothing happens I’d try a Ctrl+Z followed by a ruthless
If I knew the responsible program, I would open a terminal and use
Alternatively, under Gnome, I would launch run command and invoke
xkill, which allows you to kill a program by simply clicking on a window it owns.
Finally, just in case my keyboard melts, I have a System Monitor applet (also under Gnome) which will pop up the gnome-system-monitor when clicked. From there, I can kill any process I own using only my mouse.
On laptops you might need to press CtrlFnF1 to open terminal, what I do is type
reboot now to restart from terminal.
To go back to the GUI from terminal on my laptop (HP G56) I have to CtrlFnF8 (apparently it could also be CtrlFnF7) and you should be back to graphical interface.
Stopping & Starting
shutdown -h now– Shutdown the system now and do not reboot
halt– Stop all processes – same as above
shutdown -r 5– Shutdown the system in 5 minutes and reboot
shutdown -r now– Shutdown the system now and reboot
reboot– Stop all processes and then reboot – same as above
startx– Start the X system
Adding one more possible solution to the mix, and (apart from the accepted answer) one of the least destructive of the answers so far.
If you cannot:
- Use keyboard/mouse to A) Run the Ctrl+Alt+* option above, B) Navigate to a utility that can be used to terminate the offending program, C) Launch a terminal to initiate a
pkill <process name>(or similar, as detailed above)
- Switch to another virtual console (Ctrl+Alt+any one ofF1-6), to initiate a
pkill <process name>(or similar, as detailed above)
… then assuming MagicSysRq support is compiled into the kernel (From http://en.wikipedia.org/wiki/Magic_keys), on a QWERTY keyboard (alternatives for the below f are provided in the aforementioned article), one can try:
Alt+SysRq(Note caveats on http://en.wikipedia.org/wiki/Magic_keys#Commands)+f to
“Call oom_kill, which kills a process to alleviate an O ut O f M emory condition“, which (at least for me) often kills the program that is causing the issue, as it is the largest RAM consuming process running at the time.
On my laptop when it completely freezes (unresponsive mouse or keyboard) on mint 17.3, I’m able to do control + alt + fn + f7, then control + alt + fn+ f2. This gets to the shell, then I login with my username and password. To go back to the desktop I do
chvt 8 this gets me back to my current desktop. To find out the active tty’s type
w then chvt to the current one.
That way you can resume your work without rebooting or losing anything.
Not yet mentioned but might work in some cases – try CTRL+ALT+RIGHTARROW or LEFTARROW. This did switch workspaces, and doing so somehow unhitched whatever was blocking mouse and keyboard actions. I could then switch back to the first workspace, kill Chromium, which I had by then figured had crashed and was hogging all keyboard and mouse events. Now everything’s back to normal, no reboot or loss of anything involved.
In my case, just minutes ago, everything was hung except the mouse moved the cursor, but the mouse did no more. The PrtScn made a popup saying I could drag a rectangle (but not) or hit ESC (works). Nothing else worked. Not even moving the cursor onto another window, when I have focus-follows-mouse, changes the window frame highlighting. But Ctrl+Alt+F3 did switch to a text term, Ctrl+Alt+F1 brought back the X windows session.
The culprit was Chromium. I was reading, switched tabs in one browser window, and upon clicking the tab everything froze but for the few things just described. Switching workspaces