Você precisa de --user-unit=
para filtrar as unidades do usuário, pois elas têm diferentes metadados anexados.
$ SYSTEMD_LOG_LEVEL=debug journalctl --user-unit=foobar
Journal filter: (((_UID=0 OR _UID=1000) AND OBJECT_SYSTEMD_USER_UNIT=foobar.service)
OR ((_UID=0 OR _UID=1000) AND COREDUMP_USER_UNIT=foobar.service)
OR (_UID=1000 AND USER_UNIT=foobar.service)
OR (_UID=1000 AND _SYSTEMD_USER_UNIT=foobar.service))
-u
sempre adiciona filtros para unidades do sistema - é independente de --user
, que seleciona apenas quais arquivos do diário devem ser lidos. (Na maioria das vezes você não precisa --user.)
$ SYSTEMD_LOG_LEVEL=debug journalctl --unit=foobar
Journal filter: ((OBJECT_SYSTEMD_UNIT=foobar.service AND _UID=0)
OR (UNIT=foobar.service AND _PID=1)
OR (COREDUMP_UNIT=foobar.service AND _UID=0 AND MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1)
OR _SYSTEMD_UNIT=foobar.service)