Как заблокировать экран с терминала?

65

Я использую Ubuntu 12.04. Есть ли способ заблокировать экран или сеанс от команды терминала или скрипта?

    
задан Ten-Coin 06.09.2012 в 16:20
источник

11 ответов

71

Простой:

gnome-screensaver-command -l

Можно также работать, если заставка включена для блокировки при активации (см. настройки заставки), так как команда активирует экранную заставку:

gnome-screensaver-command -a

Вы можете добавить псевдоним в команду, отредактировав файл .profile в своем домашнем каталоге:

gedit $HOME/.profile

и добавив следующую строку:

alias lock='gnome-screensaver-command -l'

Затем из терминала:

source .profile

Это активирует псевдоним. С этого момента псевдоним lock в терминале будет иметь эффект блокировки экрана.

    
ответ дан January 06.09.2012 в 16:24
источник
30

В дополнение к тому, что январь сказал, это также работает:

gnome-screensaver-command --lock

или

gnome-screensaver-command -l

Согласно странице gnome-screensaver-command man ...

-l, --lock                 Tells the running screensaver process to lock the screen immediately
-a, --activate             Turn the screensaver on (blank the screen)

Для дальнейшего уточнения, вот еще один вопрос / ответ (также к январю), в котором описываются различия между вызовом блокировки и активацией заставки:

Разница между гномом -screensaver-command -a и gnome-screensaver-command -l

    
ответ дан Aaron 06.09.2012 в 16:29
17

Установите vlock . Затем вы можете переключиться на VT (текстовый терминал, используя Ctrl + Alt + F1 ) и запустить

vlock -a -s

Это работает независимо от того, запущен ли X11 или нет.

    
ответ дан Anand Vaidya 14.09.2012 в 07:02
13

Если вам нужно заблокировать экран на терминале в среде, отличной от GUI, вы можете использовать ответ дан pl1nk 12.09.2012 в 12:45

9

Начиная с Ubuntu 14.04, экран блокировки Unity больше не использует gnome-screensaver. Команда gnome-screensaver-command -l по-прежнему будет работать в большинстве случаев, но см. Это для исключений.

Если эта команда не работает (скажем, например, что gnome-screensaver не установлен), создание надлежащего экрана блокировки Unity (а не greeter, где вы можете переключать пользователей), может быть выполнено с помощью этой команды в терминале :

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
    
ответ дан Aibara Iduas 08.07.2014 в 23:05
5
$!(sleep 10s ;  xset dpms force suspend) & xdg-screensaver lock

запускает экранную заставку в режиме блокировки, а затем помещает ваш дисплей в режим ожидания. сладкий и простой, не судо. командной строки или сценария оболочки отлично работает. Я использую это для горячей клавиши клавиатуры. Ubuntu Mate 15.10

    
ответ дан blazedego 08.01.2016 в 01:07
4

Для пользователей LightDM попробуйте dm-tool switch-to-greeter .

    
ответ дан user10962 27.06.2014 в 16:56
4

Грязный взломать ярлык Ctrl + Alt + L для блокировки экрана с терминала:

  1. Установите xdotool из программного центра или из терминала следующим образом:

    sudo apt-get install xdotool
    
  2. Введите блокировку экрана с терминала:

    xdotool key Ctrl+alt+l
    

Подробнее см. на странице руководства для xdotool.

    
ответ дан jobin 27.06.2014 в 17:10
1

Это зависит от вашего диспетчера дисплеев. У меня есть lightdm, я могу сделать dm-tool lock , чтобы открыть экран блокировки. Однако это не очень безопасно, я нашел простой способ обойти его.

    
ответ дан Rolf 30.05.2017 в 13:29
1

Аналогичная ситуация для блокировки экрана в lubuntu

в lubuntu 17.10 (не ubuntu) работает xset dpms force off

    
ответ дан ptetteh227 30.10.2017 в 14:50
0

В моем случае xdg-screensaver lock работает отлично. Также я сохраняю его по настройке или когда я нажимаю window + L , он немедленно блокирует экран

    
ответ дан HeRo 25.10.2017 в 03:56