Temel sistem kullanımını öğrenmeye çalışıyorum ve kullanıcı servis birimlerinde kafa karıştırıcı bir sorunla karşılaştım.
Systemctl ile sıradan servisler çalıştırırken, bazı servislere başladığımda , bu servis için tam günlüğü bulabilirim (stdout / stderr 'e ne yazdıysam dahil ), sudo journalctl --unit some.service komutunu çalıştırarak .
Örnek servicefile chatty.service örneğini göz önünde bulundurun :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Bu servis dosyasını ~ / .config / systemd / user / chatty.service dizinine koyduğumda ve systemctl --user start chatty.service dizinine koyduğumda çıktısını strout'a gönderilenleri ne düz journalctl ne de journalctl - -kullanıcı . Sadece her ikisinde de aşağıdaki çıktıyı alıyorum:
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.
Ve journalctl --unit chatty.service hiçbir şey döndürmez ( --user olsun veya olmasın) hiç farketmez).
Aynı servis dosyasını / etc / systemd / system 'e taşıyarak ve sudo systemd ile çalıştırsam da chatty.service' i başlatıp sudo journalctl --unit chatty.service çalıştırdığımda aşağıdaki çıktıyı alıyorum :
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
Kullanıcı servis birimi bir şekilde iyi entegre görünmüyor gibi görünüyor, bu bekleniyor mu, bir şey mi eksik veya bir hata mı var?
SystemS 208 (varsayılan yükleme) ile openSUSE 13.1 x86-64 kullanıyorum.
journalctl --user --user-unit chatty
başlat / durdur mesajlarını sistemden almak için kullanabilirsiniz , ancak en azından benim durumumda yankı işleminin çıktılarını değil. Yankılı mesajı alabilirjournalctl --user
veya başka bir filtre kullanabilirsiniz.