What do I do, when my PC freezes?

Windows has ctrl+alt+del, does Linux Mint has something comparable? The only thing I know about is REISUB, but that borked my PC, so I am hesitant to use that again.

Are there any remaining alternatives to waiting and/or using the power button?

Edit: Thank you all for your insights and possible fixes. Crashes usually happened when I was running (cpu/ram?) heavy workload. Increasing swap space was not even on my radar, so I did that now. :) Hopefully Mint will run more stable now.

  • abcdqfr@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    Tried F1-6, no love. Only thing that does respond is the mouse movement… keyboard only responds to input reisub. I think if I am at keyboard and the screen does not lock, any windows open will respond to mouse hover but not clicks… I need a linux doctor lol. Maybe a second display for outputting kernel logs, that would be fun for dev work. Though I feel like ssh is the defacto way to accomplish that… Anything we can accomplish with one host and two displays, no network?

    Prompted GPT

    It sounds like you’re encountering a kernel-level or X/Wayland-level freeze while developing. The fact that the keyboard is unresponsive except for REISUB suggests a deep hang in the graphical session or related system processes.

    Here’s a practical way to debug and diagnose this issue with two displays and one host, without needing a network:


    Setup for Debugging on Two Displays

    1. Enable Persistent Kernel Logs on Second Display:

      • Use a TTY session on your second display to monitor kernel logs.
      • Connect your second display and switch to it using Ctrl+Alt+F2 (or F3-F6, depending on availability).
      • Login and run:
        sudo tail -f /var/log/kern.log
        
        or
        sudo dmesg -w
        
      • This will show you kernel logs in real time, which is often critical for diagnosing freezes.
    2. Mirror Logs or Virtual Console Across Displays:

      • If your second display doesn’t switch TTYs independently, use a terminal multiplexer (like tmux or screen) to duplicate the kernel log view.
        • Start tmux in TTY1 and attach to it from TTY2:
          tmux
          tail -f /var/log/kern.log
          
          Then on the second TTY:
          tmux attach
          

    Improve Debugging Workflow

    1. Set Up Magic SysRq for More Control:

      • If your system allows REISUB, the Magic SysRq key is already enabled. You can use other commands to debug live:
        • Sync and Kill Tasks: Alt + SysRq + F can attempt to kill resource-hogging processes.
        • Toggle TTY: Alt + SysRq + R can re-enable raw keyboard input if the GUI is frozen.
    2. Enable Kernel Debugging Outputs:

      • Append debug to your kernel boot parameters in GRUB:
        • Edit /etc/default/grub:
          GRUB_CMDLINE_LINUX_DEFAULT="quiet splash debug"
          
        • Update GRUB and reboot:
          sudo update-grub
          
      • This provides richer debugging output in logs.
    3. Use a Non-GUI Target:

      • For safer development, switch to a lower system target to prevent full GUI freezes:
        sudo systemctl set-default multi-user.target
        
        • Reboot into a non-GUI mode where you can manually start your app, making it easier to debug without freezing the entire desktop.
    4. Forcefully Isolate the Process:

      • Run your wallpaper application in a separate X server to isolate it:
        xinit /path/to/your/app -- :1
        
        • This starts a new X session on display :1 while keeping your primary desktop untouched.

    Tips to Prevent GUI Freezes During Development

    • Limit CPU or Memory Usage:
      • Use ulimit to restrict resource usage of your program:
        ulimit -v 1048576  # Limit to 1GB virtual memory
        
    • Log Debugging Information:
      • Add debug prints in your app and log them to a file instead of stdout.