Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Debugging system services

A checklist for debugging system and user 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 display-manager.service
systemctl --user status noctalia.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 noctalia.service --no-pager

Search messages for a word or regex:

journalctl --user -b -g 'noctalia|umbriel|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

  1. https://man7.org/linux/man-pages/man1/systemctl.1.html ↩

  2. https://man7.org/linux/man-pages/man1/journalctl.1.html ↩

  3. https://man7.org/linux/man-pages/man1/coredumpctl.1.html ↩