Как сделать сценарий, который взаимодействует с экранной блокировкой / разблокировали

Мне нужен сценарий для того, когда я нажимаю Ctrl + Высокий звук + L (Экран Lock), я заблокировал или закрыл весь usb и закрыл все свои сетевые интерфейсы как eth0.

Когда я Разблокировал, все должно вернуться к нормальному. Я попробовал

echo suspend> / sys / bus / usb / devices / usb1 / power / level 

.. но я не мог..

И также

dbus-monitor --session "type = 'signal', interface = 'org.gnome.ScreenSaver' 

взаимодействовать с экраном, но могло не также.

Есть ли какой-либо лучший метод? Или что-то я могу учиться для создания этого сценария?

2
задан 29 November 2016 в 09:48

1 ответ

Как запустить скрипты или команды на изменениях в состоянии блокировки

Согласно этот ответ на U& L, Вы попробовали устаревшее dbus команда. Для 14,04 и, можно использовать:

dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
  while read X; do
    if [[ "$X" =~ desktop-lock ]]; then
      SCREEN_LOCKED;
    elif [[ "$X" =~ desktop-unlock ]]; then
      SCREEN_UNLOCKED;
    fi
  done
)

, который хорошо работает в моей системе (16.04).
(Спасибо за улучшения @Serg и @muru)

, Конечно, необходимо заменить SCREEN_LOCKED и SCREEN_UNLOCKED командами или сценариями, Вы хотите работать на изменениях в состоянии блокировки, но протестировали его, и оно хорошо работает.

2
ответ дан 2 December 2019 в 03:43

Другие вопросы по тегам:

Похожие вопросы: