Jak zablokować ekran pulpitu za pomocą wiersza polecenia?

Odpowiedzi:

82

Można zablokować komputer, uruchamiając gnome-screensaver-commandz -lflagą tak:

gnome-screensaver-command -l

Działa to jednak tylko wtedy, gdy dla twojej sesji działa Gnome Screensaver (powinno być - chyba że go wyłączyłeś) możesz rozpocząć od wiersza poleceń za pomocą:

gnome-screensaver
Marco Ceppi
źródło
10
cinnamon-screensaver-command -ldo cynamonu! ;))
4
Podobnie, użyj mate-screensaver-command -ldla pulpitu MATE.
alanaktion
28
gnome-screensaver-command -l

Jeśli uczestniczysz w innej sesji (stacjonarnej) (np. Konsoli wirtualnej, przełączono na inny login, SSH), jawnie określ ekran ( :0jest to ekran domyślny):

DISPLAY=:0 gnome-screensaver-command -l

Aby odblokować, użyj opcji -d( --deactivate).

Fantastyczna okazja
źródło
1
czy możesz mi wyjaśnić opcję DISPALY =: 0?
Renjith G
1
Przepraszam za mój angielski ... WYŚWIETLACZ jest zmienną i określa, w jakim ekranie ma być renderowany program X Window System (może to być inny monitor). W TTY ta zmienna jest pusta. Domyślnie pierwszy ekran to „: 0.0”. Więc użyj DISPLAY =: x przed poleceniem, wskazuje, na którym wyświetlaczu uruchom polecenie. I użyj DISPLAY =: 0 lub DISPLAY =: 0.0 oznacza: uruchom program na pierwszym ekranie.
Snip,
@RenjithG jest to dość jasne, jeśli się nad tym zastanowić, proszę również nie bądź nieuprzejmy wobec autora poprzedniego komentarza.
ζ--
Działa idealnie, dzięki! Teraz mogę dodać skrót klawiaturowy, aby naprawić moje zepsute polecenie blokady ekranu.
domih
18

gnome-screensaver-command --lock zrobię to.

mgunes
źródło
8

W nowszych wersjach GNOME 3 gnome-screensavernie ma już.

Wydaje się, że jest to ogólne rozwiązanie

xdg-screensaver lock

Zamiast tego możesz również bezpośrednio wywołać dbus ( źródło ):

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

Wygląda również na to, że zabrali możliwość odblokowania ekranu z linii poleceń.

Marian
źródło
tak. bardzo dobra odpowiedź. jedno polecenie, aby rządzić nimi wszystkimi! :-)
solsTiCe
4

Pod KDE dm-tool lockbędzie działać (dla mnie na Kubuntu 15.04).

pbhj
źródło
1

Oto długa droga do jego osiągnięcia (dodanie szybszej metody poniżej):

aby jeszcze łatwiej było zablokować, możesz dodać skrypt wykonywalny do ścieżki wykonywalnej, nazwać go „blokadą”, a wtedy zablokowanie ekranu będzie tak proste, jak wpisanie „blokady” w cli

Oto jak to zrobić:

mkdir ~/bin

vim ~/bin/lock

#!/bin/bash
gnome-screensaver-command -l

Zapisz i wyjdź

chmod +x ~/bin/lock

nie zapomnij dodać ~ / bin do ~ / .profile - zwróć uwagę na kropkę na początku nazwy jednego słowa ostrzeżenia na ten temat, upewnij się, że dodałeś go do odpowiedniego pliku. Oto, co mówi na ten temat .profile:

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.

dlatego chcesz najpierw sprawdzić, czy wyżej wymienione pliki istnieją w twoim katalogu domowym, powinieneś je tam dodać, jeśli nie istnieją, a następnie dodać ścieżkę do bin do .profile

vim ~/.profile # or one of the the other files if they exist

dołącz na końcu:

# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"

w tym momencie możesz uruchomić następujący skrót z cli

you@yourUbuntu:~$ lock

[EDYCJA] Oto szybki i łatwy sposób, aby to zrobić: dodaj alias do pliku ~ / .bashrc, który jest wykonywany przy każdym otwarciu powłoki, zapewniając w ten sposób Alias:

vim ~/.bashrc
# set lockscreen
alias lock="gnome-screensaver-command -l"

wynik jest taki sam, ale szybszy

George Mohylewski
źródło
0

Istnieje również wiele minimalistycznych narzędzi, które naprawdę tylko blokują , nie robią nic więcej. (Może to być bezpieczniejsze, ponieważ generalnie proste programowanie prowadzi do mniej błędów).

Na przykład:

Alois Mahdal
źródło