Estoy tratando de aprender el uso básico del sistema y me he encontrado con un problema confuso con las unidades de servicio al usuario.
Al ejecutar servicios ordinarios con systemctl, inicie some.service. Puedo encontrar el registro completo de este servicio (incluido lo que se ha impreso en stdout / stderr, según tengo entendido) ejecutando sudo journalctl --unit some.service .
Considere el ejemplo servicefile chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Cuando coloco este archivo de servicio en ~ / .config / systemd / user / chatty.service y lo ejecuto con systemctl --user start chatty.service no puedo encontrar su salida enviada a stdout en journalctl, ni con journalctl simple ni con journalctl - -usuario . Solo obtengo el siguiente resultado en ambos:
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service...
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service.
Y journalctl --unit chatty.service no devuelve nada (con o sin --user no hace ninguna diferencia).
Mientras que si muevo el mismo archivo de servicio a / etc / systemd / system y lo ejecuto con sudo systemd start chatty.service , obtengo el siguiente resultado cuando ejecuto sudo journalctl --unit chatty.service :
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Jan 15 19:28:08 qbd-x230-suse.site echo[27098]: test from chatty.service
Parece que la unidad de servicio al usuario no está tan bien integrada de alguna manera, ¿se espera esto, me falta algo o es un error?
Estoy ejecutando openSUSE 13.1 x86-64, con systemd 208 (instalación predeterminada).
journalctl --user --user-unit chatty
para obtener esos mensajes de inicio / detención de systemd, pero no lo que genera el proceso de eco, al menos en mi caso. Puede obtener el mensaje repetidojournalctl --user
o utilizar algún otro filtro.Respuestas:
--user-unit
Opción de uso , y en su caso ...fuente
journalctl --user
me saleNo journal files were found.
Yjournalctl --user-unit chatty
no funcionó para mí.Necroposting, pero hoy enfrenté y resolví el mismo problema. Probablemente
journalctl --user-unit chatty
no funcionó para usted porque lo ejecuta desde la raíz. Sin embargo, perman journalctl
,--user-unit
filtra las entradas de registro no solo por_SYSTEMD_USER_UNIT=
, sino también por_UID=
, y no haychatty
servicio con root uid, por lo que no se encuentran entradas.Es probable que también haya intentado huir
journalctl --user-unit chatty
de su usuario habitual, pero lo consiguióNo journal files were found
. Esto sucede porque (y todos los usuarios tienen acceso a sus diarios privados de cada usuario deman journalctl
puede ser confuso aquí) en el año 2018 en mi Debian 9 journalctl todavía no es persistente por defecto (Storage=auto
en/etc/systemd/journald.conf
, y/var/log/journal/
no existe), y en la no el modo persistentejournald
no es compatible con la división de registros, por lo que todos los registros terminan en un solo lugar a/run/log/journal
pesar de que la división está activada de forma predeterminada, verSplitMode
enman journald.conf
. Habilitar la persistencia corrige esto.TL; DR: habilitar la persistencia poniendo
Storage=persistent
a/etc/systemd/journald.conf
y recarga con journaldsudo systemctl restart systemd-journald
.Alternativamente, busque con
sudo journalctl _SYSTEMD_USER_UNIT=chatty.service
Algunos detalles más están en https://lists.freedesktop.org/archives/systemd-devel/2016-October/037554.html
fuente
No journal files were opened due to insufficient permissions.
una "pista" confusa sobre la configuración de permisos, pero no debería tener que establecer permisos porque estoy tratando de acceder a los registros de usuarios, no a los registros del sistema. Su arreglo funcionó. Muchas gracias.Hasta systemd v230 , tenía que usar el
--user-unit
indicador menos intuitivo para ver los registros de la unidad de su usuario:Desde systemd v230, ahora puede combinar las banderas
--user
y--unit
como esperaría:La
--user --unit
sintaxis es compatible desde Ubuntu 17.10.fuente