Se log fra systemd user unit, hvordan hænger det sammen?

pawsen
Antal: 71
Tilmeldt:
22-10-2011
User is offline
Se log fra systemd user unit, hvordan hænger det sammen?

Hej alle,

Jeg starter emacs dæmon med en systemd unit fil.
Dvs jeg har filen ~/.config/systemd/user/emacs.service.

Jeg starter emacs med
systemctl start --user emacs.service

og kan se på loggen journalctrl at emacs starter

Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv

Normal kan man se logs for individuelle units med journalctl -u unit, men
journalctl -u emacs virker ikke.

I stedet kan jeg finde PID fra:

systemctl --user status emacs
● emacs.service - Emacs: the extensible, self-documenting text editor
   Loaded: loaded (/home/paw/.config/systemd/user/emacs.service; enabled; vendor
   Active: active (running) since Thu 2016-09-22 13:25:57 CEST; 10min ago
  Process: 22532 ExecStop=/usr/bin/emacsclient --eval (kill-emacs) (code=exited,
  Process: 23002 ExecStart=/usr/bin/emacs --daemon (code=exited, status=0/SUCCES
Main PID: 23003 (emacs)
   CGroup: /user.slice/user-1000.slice/user@1000.service/emacs.service
           ├─23003 /usr/bin/emacs --daemon
           └─23020 /usr/bin/aspell -a -m -B --encoding=utf-8 --sug-mode=ultra

og så slå PID op:

journalctl _PID=23002
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv

Det viser sig at jeg også kan skrive

journalctl _COMM=emacs
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: http://bugzilla.gnome.org/show_bug
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Emacs might crash when run in daem
Sep 22 13:25:49 MEK-404-s082705 emacs[23002]: Using an Emacs configured with --w
osv

Er der nogle der kan forklare hvordan journalctl virker præcist? Hvorfor kan jeg i nogle tilfælde bruge journalctl -u unit og i andre journalctl _COMM=unit. Hvad er forskellen og hvornår skal jeg bruge hvad?

Og relateret:
Hvordan bruger du systemctl og journalctl?

Hilsen
Paw


frogmaster
frogmaster's picture
Antal: 3584
Tilmeldt:
20-05-2010
User is offline
Er der nogle der kan

#0: Er der nogle der kan forklare hvordan journalctl virker præcist?

Det er et rimeligt stort spørgsmål, og du ser jo ud til allerede at være godt igang. Har du læst DigitalOcean's oplysninger om systemctl og journalctl, inklusiv afsnittet Next Steps nederst på siden?

https://www.digitalocean.com/community/tutorials/s...

Jeg har ikke emacs installeret, men hvis jeg skal bruge info om f.eks. cron.service, så kan det være: journalctl -b -u cron.service

Derfor ved jeg ikke om der er forskel på emacs versionerne i henhold til:

administrator@hp-probook ~ $ emacs
Programmet "emacs" kan findes i de følgende pakker:
* emacs24
* emacs24-nox
* e3
* emacs24-lucid
* jove
Prøv: sudo apt install < valgt pakke >
administrator@hp-probook ~ $


pawsen
Antal: 71
Tilmeldt:
22-10-2011
User is offline
Jeg har selv lavet

Jeg har selv lavet unit-filen til emacs, så det har ikke noget med versionen af emacs at gøre.
Forskellen synes at være når unit filer køres med --user flaget. Jeg har lavet flere unit filer der kører som root, her kan jeg se loggen med journalctl -u unit som forventet.
Jeg er bare overrasket over at der ser ud til at være en vis inkonsistens. Også fx.

journalctl -u ssh
journalctl _COMM=sshd

giver næsten det samme, uden jeg helt forstår forskellen. Jeg ville have forventet at journalctl -u sshd var det rigtige.

Desuden skal man gøre følgende for at gemme journaler mellem boots.:

# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald

pawsen
Antal: 71
Tilmeldt:
22-10-2011
User is offline
Arhh. Jeg har overset det i

Arhh.
Jeg har overset det i manualen flere gange...
Det er bare

journalctl --user-unit emacs

DOH :)