askıya alma ve kilitleme kapağını kilitleme / kilitleme


22

Ekranı kilitlemenin ve kapağı kapatırken askıya almanın en kolay yolu nedir? Olay kancalarını kullanıyorum /etc/systemd/logind.confve kapağı kapattıktan sonra başarılı bir şekilde askıya alıyorum . Ancak kilitleme kısmına geldiğimde kayboldum - ekran koruyucu hizmeti vermem gerekiyor ve iki olayı aynı anda nasıl başlatabilirim logind.conf?


Kapsam dışında bu yüzden yorum yapıyorum: i3'te komutlara tuş bağlamak çok kolaydır. Yana mod+Lzaten atandı blurlockbenim için kolaydı mod+Solmak blurlock && systemctl suspend -iyerine. Yani, kapağı kapatırken değil, sadece kilitlemek veya kilitlemek veya askıya almak isteyip istemediğimi seçmek için çok iyi çalışıyor.
pzkpfw

Yanıtlar:


17

Arch Wiki'de birkaç örnek var .

Temelde, ekran dolap için bir servis dosyası oluşturma ve o da bağladım, sağlama almaktır suspend, hibernateya sleephedeflerle.

Slock gibi basit bir ekran dolabı kullanıyorsanız , /etc/systemd/system/lock.serviceşuna benzer:

[Unit]
Description=Lock the screen on resume from suspend

[Service]
User=jason
Environment=DISPLAY=:0
ExecStart=/usr/bin/slock

[Install]
WantedBy=suspend.target

Wiki'deki diğer örneklerde, kapatılması ve diğer hizmetlerin devreye sokulması gibi daha karmaşık seçenekler bulunur.


Teşekkürler, bu örneği gördüm, ancak ExecStart=/usr/bin/slockbitin ilk bakışta kilitlenmeyi ifade ettiğini anlamadım .
pldimitrov

Askıya alıp geri dönersem, X ekran yöneticimin bir ekran kilidi var, bu harika. Peki ya benim tty'lerim? Giriş yapsaydım ve askıya aldım ve tty'lerimden çıkmayı unuttum, insanlar oraya geçip işlemlerine devam edebilirdi.
CMCDragonkai

@CMCDragonkai istediğiniz physlock sonra ...
jasonwryan

1
Bu işe yarar, ancak yalnızca sistemin tek kullanıcısıysanız. Daha temiz bir çözüm xss-lock(önümüzdeki hafta Debian, Arch Linux; ayrıca Fedora'da mevcut) kullanmak ve bunu bir kullanıcı olarak i3lockveya ile birlikte çalıştırmaktır slock.
Martin,

1
@ MartinUeding ve @ jasonwryan, Userkodlanmış bir koddur . Bu makinenin yalnızca jason(ya da örneğin kız arkadaşı gibi şifresini bilen biri tarafından) kullanılacağı varsayımı . İdeal olarak, Useraskıya alma işlemini başlatan kim olmak isterdik , ancak bunun için bir çözüm bulamadım (henüz).
Rolf

1

Eğer kullanırsanız openrcile elogind(bağımlı systemd değildir) alternatif bir çözüm yoktur:

#!/bin/sh
#
# /lib/elogind/system-sleep/lock.sh
# Lock before suspend integration with elogind

username=lerax
userhome=/home/$username
export XAUTHORITY="$userhome/.Xauthority"
export DISPLAY=":0.0"

case "${1}" in
        pre)
            su $username -c "/usr/bin/slock" &
            sleep 1s;
            ;;
esac

ref: https://gist.github.com/ryukinix/bd0c1ddcbbafdb4149ae70e41b7c822b

Bunu gönderiyorum çünkü düzgün bir şekilde çalışmasını sağlamak çok zordu ve bu konu google’ın "askıya alındıktan sonra kilitle" ya da her neyse ilk sonuçlarında görünüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.