Whenever I shutdown my computer, I can see some logs appearing just before it completes the shutdown process. For example, I execute profile-cleaner as a startup command, I’m able to see its output before the shutdown occurs.
However, I’m unable to find the specific command to access these logs.journalctl -b displays kernel boot logs and what not, but it doesn’t include the logs I’m seeking.
That command shows the current boot, the shutdown happens in the future.
$ journalctl --help
journalctl [OPTIONS...] [MATCHES...]
Query the journal.
Options:
--system Show the system journal
--user Show the user journal for the current user
-M --machine=CONTAINER Operate on local container
-S --since=DATE Show entries not older than the specified date
-U --until=DATE Show entries not newer than the specified date
-c --cursor=CURSOR Show entries starting at the specified cursor
--after-cursor=CURSOR Show entries after the specified cursor
--show-cursor Print the cursor after all the entries
--cursor-file=FILE Show entries after cursor in FILE and update FILE
-b --boot[=ID] Show current boot or the specified boot
--list-boots Show terse information about recorded boots
-k --dmesg Show kernel message log from the current boot
-u --unit=UNIT Show logs from the specified unit
--user-unit=UNIT Show logs from the specified user unit
-t --identifier=STRING Show entries with the specified syslog identifier
-p --priority=RANGE Show entries with the specified priority
--facility=FACILITY... Show entries with the specified facilities
-g --grep=PATTERN Show entries with MESSAGE matching PATTERN
...
I’m looking for the log/output of the programs that are executed at startup. It’s something that has already happened. I’m not talking about the systemd shutting down verbose output, you know, the one that says which service or process is being closed, I’m talking about the logs of the programs that had already been executed at startup. I can see the output just before the systemd shutdown process starts or whatever it’s called.
I already did and I mentioned that I didn’t find anything. Maybe I’m just dumb, but I’ve tried everything and nothing works.
This does show the systemd’s shutdown logs, but as I mentioned, that’s not what I’m looking for. I can’t provide images because the quality is too poor, and I can’t take a screenshot for obvious reasons. However, before it shuts down, I see outputs from dbus-daemon, wlr, sway, fnott, etc. I can’t find these logs or outputs anywhere, and I’m not sure if they are being logged by journalctl at all.
The only reason I’m looking for these logs is because every time I attempt to start recording with the FFmpeg VAAPI H.264 video encoder in OBS, the entire session crashes. I’ve been able to capture the logs/error messages that appear just before the crash (it’s the same screen I see when I reboot or shut down my PC), but unfortunately, the text isn’t fully visible.
That shows all the logs from the time the system started to the time it shutdown. If what you are looking for was logged, it should be in there somewhere.
These are perhaps messages displayed on the console you are seeing? Those might not be logged at all.
Yeah, I don’t think it’s being logged. I’m using greetd with tuigreet, so maybe it’s the TTY output or something? Honestly, I’m not sure how to access it after starting Sway.
It was actually Sway output, which were not being logged to systemd, making them inaccessible to me.
I run Sway through a wrapper script located in /usr/local/bin/ called sway-run. This method is recommended for starting Sway when using greetd (I’m using it with tuigreet. See greetd/wiki). The script itself explains how to direct Sway outputs to the journal.
# If you use systemd and want sway output to go to the journal, use this
# instead of the `exec sway $@` above:
#
# exec systemd-cat --identifier=sway sway $@
So now I use exec systemd-cat --identifier=sway dbus-run-session sway $@ to start a session bus instance.