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

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

Простой:

gnome-screensaver-command -l

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

gnome-screensaver-command -a

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

gedit $HOME/.bashrc

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

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

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

source .profile

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

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

gnome-screensaver-command --lock

или

gnome-screensaver-command -l

Согласно gnome-screensaver-command справочная страница...

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

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

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

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

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

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

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

vlock -a -s

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

$!(sleep 10s ;  xset dpms force suspend) & xdg-screensaver lock

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

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

Находясь в screen нажмите следующие комбинации клавиш, чтобы заблокировать терминал.

Ctrl + a

Ctrl + x

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

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

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

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

    sudo apt-get install xdotool
  2. Введите следующее, чтобы заблокировать экран с терминала:

    xdotool key Ctrl+alt+l

Дополнительные сведения см. на странице руководства по xdotool.

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