My journalctl
is littered with gnome-session
warnings. I've tracked down the issue to Google Chrome, and the warning is relatively harmless. However, it's flooded my journal output, and frankly I won't be able to find what I need if I do need to check it.
May 30 12:13:49 hostname gnome-session[1347]: Window manager warning: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.
Frankly, it's a Chrome issue and I'll leave it at that. But is there a way to make the journalctl
command suppress output from a certain process? I'd like to just disable gnome-session
logging altogether.
This question seems like it would be a better fit on Unix & Linux.
Regardless though, being able to filter out units when perusing logs can easily be done piping to grep -v
even when following (with grep's --line-buffered
param) like
journalctl -f | grep --line-buffered -v "gnome"
That still sucks because now there is no helpful coloring. Constructing the command arguments for journalctl gives a much nicer experience.
JARGS=`journalctl -F _COMM | sed -e 's/gnome.*//' -e 's/^/_COMM=/' | xargs`
journalctl -a -f $JARGS
Now follow works as nicely as paging while hiding gnome lines in less using $!gnome
. Woot!
It is a shame systemctl and journalctl don't allow regex matching for inclusion/exclusion.
On a personal use system (which I'm guessing your on because of the gnome-session annoyance) there are a few settings that may be useful to setup.
Edit the system journald.conf
to
Storage=
persist or auto (default).sudo mkdir -p /var/log/journal
MaxRetentionSec=1week
Reboot to effectively restart the systemd-journald.service.
Then you can use
journalctl -a -b -f $JARGS # -b to limit to current boot
or whatever args you desire without the unwanted gnome-session stuff.