Ekran kilitli olacak şekilde komut satırından nasıl askıya alınır?


10

Xubuntu 12.04 kullanıyorum. Power Manager'da, askıya alma / hazırda bekletme moduna geçerken Genişletilmiş -> Kilit ekranını kontrol ettim. Ana menüden / Panel 1'den askıya almayı seçersem, ekran kilitlenir. Ancak, ben kullanırsanız dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend(bkz ? Komut satırından hazırda bekletme / I askıya alabilir Nasıl , ben bir klavye kısayolu ile bu komutu kullanın), ekran edilir değil kilitledi. Nasıl (1) sistemi askıya alabilirim (2) aynı anda ekran kilitli olsun (3) bunu yapmak için kök hakları gerektirmez [çünkü komutun bir klavye kısayoluna atanmasını istiyorum].

Yanıtlar:


10

Bunu aşağıdakileri kullanarak yapabilirsiniz:

gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Bir klavye kısayolunda yukarıdaki komutla sh -c "<command>"değiştirmeyi koymanız gerekir <command>, örneğin:

sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"

Yukarıdaki komut işe yaramazsa, bir kabuk komut dosyası (örneğin suspend_lockscreen.sh) kullanmayı da deneyebilirsiniz . Öncelikle dosyayı bir konsolda aşağıdaki komutları arayın:

cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh

Bu, kullanıcının giriş klasöründe suspend_lockscreen.sh adlı bir dosya oluşturur. Ardından, kısayolda sadece ara: ./suspend_lockscreen.sh.

Not: Bir yorumda belirtildiği gibi gnome-screensaver-commanddeğiştirilebilir xscreensaver-command.


Hayır, sadece ekranı kilitler ve yaptığım cevapta yapılan bir yoruma göre askıya almayı unutur;)
Rinzwind

1
Ahh iyi. Sadece gnome-screensaver-commandbununla değiştirilebileceğini fark ettim, xscreensaver-commandböylece ek kurulum gerekmez. && dbus-send...Parça olmadan sadece bir kilit alır (askıya alınmadan); onunla, uyandırma kilitli bir askıya alır. Mükemmel.
Marius Hofert

Ne yazık ki, komut terminalden çalışıyor, ancak tanımladığım klavye kısayolundan değil :-( Sorunun ne olabileceğini biliyor musunuz?
Marius Hofert

@MariusHofert Cevabı, bir klavye kapanmasından gelen komutların nasıl kullanılacağı ile güncelledim. İstediğiniz gibi çalışıp çalışmadığına bakın. (Ubuntu 12.04'te test ettim ve işe yaradı).
amfcosta

Yine aynı sorun: kilitleme işleri; askıya almıyor (Xubuntu 12.04)
Marius Hofert

2

Komut satırından askıya almak için amfcosta'un dbus komutunu kullanıyordum. Ancak, özgeçmiş üzerine eth0 çöktü.

Sonra bu komutu buldum:

xfce4-session-logout --suspend

Bu komut, bilgisayar uyandığında ağı devre dışı bırakır, askıya alır ve ardından yeniden ağ etkinleştirir.

xfce4-session-logoutxfce'ye özgüdür, ancak diğer masaüstü ortamlarında da benzer *-session-logoutkomutlar olabilir .

Xubuntu 14.04 kullanıyorum.

Güncelleme: Bu başkalarını etkilemeyebilir, ancak Asus EEE 900'ümde, kablolu ethernet bağlantısı sadece EEE her açıldığında çalışır. Bu elbette çok sinir bozucu ve askıya almanın kullanılamaz olduğu anlamına geliyor.


1

Ubuntu 15.10 ile bu da işe yarar:

gnome-screensaver-command --lock && systemctl -i suspend

0

Not: xscreensaver-commandsadece seçenekle çalışır -lock(1 tire ile, iki ile değil gnome-screensaver-command). Ancak, komut sadece ekran koruyucu çalışırken çalışır, bu yüzden çok yararlı değildir.

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.