Debugging System Services
This is a quick checklist for debugging services.
Systemd Units
List failed system services:
systemctl --failed
List failed user services:
systemctl --user --failed
Inspect one unit and its recent logs:
systemctl status waybar.service
systemctl --user status hypridle.service
Use status for a human-readable snapshot. It includes runtime state and recent
journal lines, while show is better for scripts.1
Journal Logs
journalctl reads systemd's structured journal and supports filters such as the
current boot, system or user journal, unit names, and grep-style message
matches.2
Read the current boot only:
journalctl -b --no-pager
journalctl --user -b --no-pager
Filter to a unit:
journalctl -b -u display-manager.service --no-pager
journalctl --user -b --user-unit waybar.service --no-pager
Search messages for a word or regex:
journalctl -b -g 'hyprlock|loginctl|pam' --no-pager
Crashes
coredumpctl debug opens the matching core in a debugger, and info PID prints
metadata plus stack trace details when they are available.3
List and inspect coredumps:
coredumpctl list
coredumpctl info PID
coredumpctl debug PID