Rozwiązałem to za pomocą skryptu powiązanego ze skrótem klawiaturowym: CTRL + SUPER + DELETE.
Utwórz skrypt w / usr / local / bin i nazwij go jak lock_and_suspend:
$ sudo gedit /usr/local/bin/lock_and_suspend
Oto skrypt:
#!/bin/bash
xscreensaver-command -lock
sleep 2
xfce4-session-logout --suspend
Zaktualizuj swoje uprawnienia:
$ sudo chmod a+x /usr/local/lock_and_suspend
$ sudo chmod 711 /usr/local/lock_and_suspend
$ sudo chown yourusername /usr/local/bin/lock_and_suspend
I uruchom go, wpisując po prostu lock_and_suspend w wierszu poleceń. Lub powiąż lock_and_suspend ze skrótem klawiaturowym za pomocą SettingsManager> Klawiatura> Skróty aplikacji.
Działa po prostu blokując ekran przed zawieszeniem systemu. Polecenie uśpienia jest konieczne, ponieważ blokada ekranu wymaga czasu, aby zadziałać. Zawieszenie zatrzyma go, zanim zakończy się, jeśli nie ma między nimi przerwy.
Może być konieczne zainstalowanie programu xscreensaver. Blokada ekranu jest zwykle wykonywana przez xlock4. Ale xlock4 po prostu przełącza się między możliwymi programami do blokowania ekranu, takimi jak xscreensaver, i wybiera ten, który działa. Nie pamiętam dokładnie, dlaczego to zrobiłem. Wystarczy powiedzieć, że nie działało, gdy próbowałem zablokować ekran za pomocą xflock4 (używając domyślnego skrótu klawiaturowego CTRL + ALT + DEL) przed zawieszeniem systemu.
W każdym razie chodzi o to, aby właściwie zrobić trzy rzeczy: zablokować ekran, zawiesić system, zamknąć pokrywę. A z doświadczenia chcesz się upewnić, że system jest zamknięty i zawieszony przed zamknięciem pokrywy, ponieważ często zdarza się, że kiedy polegasz na pewnych ustawieniach blokowania i zawieszania podczas zamykania pokrywy, czasami zawodzi, a ty „ nie ma możliwości sprawdzenia bez otwarcia pokrywy. Ale skoro otwarcie pokrywy budzi system z zawieszenia, skąd wiesz, czy zawiesił się? (To przypadek kota Schrödingera. Lub myszy Fourdana). Jedynym sposobem, aby się upewnić, jest zablokowanie i zawieszenie systemu przed zamknięciem pokrywy. A jedynym wygodnym sposobem na to jest użycie jednego skrótu klawiaturowego (CTRL + SUPER + DEL).
Może być konieczne zamknięcie tylnych drzwi do blokady ekranu xscreensaver .
W pewnym momencie mogłem zainstalować light-locker i skonfigurować go tak, aby blokował ekran . Nie pamiętam, czy było to rzeczywiście konieczne.
$ sudo apt install light-locker
$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command --lock" --create -t string
Konieczne może być również włączenie programu xscreensaver i menedżera zasilania w Ustawieniach> Sesstion and Startup> Application Autostart. I może odinstalować / wyłączyć wygaszacz ekranu gnome.
Możesz zainstalować xfce4-power-manager i skonfigurować go (używając menedżera ustawień lub xfce4-power-manager --customize
), aby „zawieszał się”, „gdy pokrywa laptopa jest zamknięta”. W takim przypadku może być konieczne skonfigurowanie menedżera zasilania, aby poprawnie obsługiwał zdarzenie zamknięcia pokrywy . Ale byłem skłonny zablokować + zawiesić przed zamknięciem pokrywy.