Как предотвратить пустую заставку при использовании сочетания клавиш для блокировки компьютера?

12

Я часто блокирую свой компьютер, и мне было интересно, есть ли способ получить экран блокировки, когда я нажимаю Ctrl+ Alt+ L. Прямо сейчас, когда я использую эту комбинацию клавиш, экран становится черным, и мне приходится нажимать клавишу или нажимать, чтобы открыть экран, на котором отображается возможность ввода пароля или переключения пользователей, а также отображение фона рабочего стола за ним. ,

Есть ли способ избежать нажатия этой дополнительной клавиши, чтобы вызвать экран, который я хочу? И есть ли способ сохранить это таким образом? Это действительно вопрос личных предпочтений, и я не вижу причин, почему бы не оставить его таким, поскольку мой монитор в конечном итоге выключен и / или мой компьютер приостановлен.

user81572
источник

Ответы:

17

К сожалению, утилита блокировки экрана gnome-screensaver-command, которую использует ярлык Ctrl+ Alt+ L, также будет активировать «заставку» на пустом экране всякий раз, когда сообщается о блокировке экрана.

Хитрость заключается в том, чтобы «подделать» нажатие клавиши сразу после блокировки экрана, чтобы избавиться от пустого экрана и оставить экран блокировки включенным. Мы сделаем это с xdotoolпомощью небольшой утилиты командной строки, которая позволяет автоматизировать щелчки / движения клавиатуры и мыши.

  1. Установить xdotoolс

    sudo apt-get install xdotool
    
  2. Вставьте следующее в файл в вашем домашнем каталоге, например locknoblank.sh:

    #! / Bin / Баш
    gnome-screensaver-command -l xdotool sleep 1 клавиша Ctrl
    • Это просто нормально блокирует экран, но через секунду посылает фиктивное Ctrlнажатие клавиши, чтобы «разблокировать» экран.
    • Сделайте файл исполняемым с

      chmod +x ~/locknoblank.sh
      
  3. Перейти Системные настройки ... Клавиатура ... Ярлыки и удалить Ctrl+ Alt+ в Lкачестве блокировки экрана ярлыка , чтобы мы могли повторно использовать его для нашей пользовательской команды. Нажмите «Система» на левой боковой панели, затем нажмите справа на «Экран блокировки», где написано «Ctrl + Alt + L»; теперь он скажет «Новый ускоритель ...». Нажмите, Backspaceчтобы удалить ярлык.

    введите описание изображения здесь

  4. Теперь перейдите к Custom Shortcuts слева и добавьте ярлык, назвав его тем, что вы хотите, с помощью команды as /home/username/locknoblank.sh. Нажмите Apply, затем щелкните справа, где написано «Disabled», чтобы получить «New Accelerator», и нажмите Ctrl+ Alt+ L.

    введите описание изображения здесь

Закройте настройки системы, и все готово!


Для предотвращения повторной активации заставки (время простоя)

Откройте терминал и введите / вставьте:

gsettings set org.gnome.desktop.session idle-delay 7200

Это устанавливает время активации заставки до 2 часов (или 7200 секунд). Вы можете установить его на что угодно; по умолчанию 600.


Примечание: для Ubuntu 18.04 используйте

xdg-screensaver lock

вместо gnome-screensaver-command -l.

иш
источник
Большое спасибо! Это сработало отлично ... сначала. Я также спросил, есть ли способ сохранить это в течение некоторого времени (например, 1 час). Я думаю, что заставка переинициализируется через минуту или две. Я новичок в написании сценариев, но, может быть, есть способ зациклить ложные нажатия клавиш, скажем, на час? Или, может быть, я мог бы отключить / удлинить время, необходимое для повторной инициализации заставки? Я искал файл конфигурации и не смог его найти.
user81572
Извините, я пропустил это. Пожалуйста, смотрите редактирование внизу ответа о том, как предотвратить повторную активацию заставки.
иш
Спасибо за совет, но, к сожалению, он не работает для меня. Я новичок в Linux, но заядлый программист (почему я перешел на Linux), и я сделал цикл for в скрипте bash, который зацикливает xdotools. Тем не менее, ярлык не сработал, и я считаю несколько затруднительным заблокировать компьютер, запустив скрипт. Есть ли в любом случае просто покончить с заставкой гнома? Я не вижу смысла в этом, так как обычно просто закрываю крышку или выключаю свой ноутбук, когда не использую его. Я также не знаком с gsettings, поэтому я не знаю, где я мог бы найти правильный узел.
user81572
3
Просто интересно, планируете ли вы обновить этот ответ для 2018 и Gnome под Ubuntu 18.04? Он появился несколько раз в Ask Ubuntu, и я начал его исследовать. Мне нравится, что большинство людей будут использовать 18.04 в ближайшее время и в последнее время играют с Gnome DM ...
WinEunuuchs2Unix
4
Для Ubuntu 18.04 используйте xdg-screensaver lockвместоgnome-screensaver-command -l
Dejv