Çeşitli kaynaklara dayanarak birlikte Arnavut kaldırım ~/.config/systemd/user/screenlock.service
:
[Unit]
Description=Lock X session
Before=sleep.target
[Service]
Environment=DISPLAY=:0
ExecStart=/usr/bin/xautolock -locknow
[Install]
WantedBy=sleep.target
Bunu kullanarak etkinleştirdim systemctl --user enable screenlock.service
. Ancak yeniden başlattıktan, oturum açtıktan, askıya aldıktan ve devam ettirdikten sonra (hem systemctl suspend
kapakla hem de kapağı kapatarak test edilmiştir ) ekran kilitlenmez ve hiçbir şey yokturjournalctl --user-unit screenlock.service
. Neyi yanlış yapıyorum?
Koşu DISPLAY=:0 /usr/bin/xautolock -locknow
, ekranı beklendiği gibi kilitler.
$ systemctl --version
systemd 215
+PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR
$ awesome --version
awesome v3.5.5 (Kansas City Shuffle)
• Build: Apr 11 2014 09:36:33 for x86_64 by gcc version 4.8.2 (nobody@)
• Compiled against Lua 5.2.3 (running with Lua 5.2)
• D-Bus support: ✔
$ slim -v
slim version 1.3.6
systemctl --user start screenlock.service
Ekran kilitlerini hemen çalıştırırsam ve bir günlük mesajı alırsam journalctl --user-unit screenlock.service
, bu yüzden ExecStart
açıkça doğrudur.
xautolock -locker slock &
Aynı dosya ile bir sistem hizmeti oluşturmak işe yarar (yani, slock
devam ederken etkindir):
# ln -s "${HOME}/.config/systemd/user/screenlock.service" /usr/lib/systemd/system/screenlock.service
# systemctl enable screenlock.service
$ systemctl suspend
Ancak $HOME
birkaç nedenden ötürü kullanıcıya özel bir dosya eklemek istemiyorum :
- Kullanıcı hizmetleri sistem hizmetlerinden açıkça ayrılmalıdır
- Kullanıcı hizmetleri, süper kullanıcı ayrıcalıkları kullanılmadan kontrol edilmelidir
- Yapılandırma kolayca sürüm kontrollü olmalıdır
systemd-user
hala çok lapa lapa; özetlediğim yaklaşımla oturumun bir parçası olarak çalışmasını sağlamak, konunun daraltılmasına yardımcı olacaktır; tüm önerebileceğim bu.
/etc/systemd/system/
veya $HOME/.local/systemd/system
bir şey koyarak önlemek için /usr
elle. @Jasonwryan'ın belirttiği gibi, kullanıcı oturumları hala üretim kalitesi olarak kabul edilmez; ama yaklaşıyorlar.