Отключение, когда оно не используется в течение определенного времени

У меня есть «медиацентр», который иногда забыл выключить ночью. Если я помню, я, как правило, удаляюсь в свой компьютер с медиа-центром и закрываю его, но большинство ночей я забываю сделать это, и компьютер работает всю ночь (и на следующий день тоже).

Есть ли способ отключить ПК через диалоговое окно (т. "Do you want to shutdown?" [Yes] [No] )? Причина, по которой я хочу открыть диалоговое окно, заключается в том, что иногда мы смотрим фильмы поздно ночью, и я не хочу произвольно останавливаться.

Я могу выполнить задание cron, которое запускает скрипт в 1 утра, но я не могу понять, как выполнить shutdown или shutdown в качестве стандартного пользователя. Любая помощь? Я запускаю Linux Mint 17.3 (Ubuntu 14.04).

2 Solutions collect form web for “Отключение, когда оно не используется в течение определенного времени”

Есть ли способ отключить ПК через диалоговое окно (т. "Do you want to shutdown?" [Yes] [No] )?

Я считаю, что самый простой способ сделать это – через xmessage . Что-то вроде этого:

 #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin export DISPLAY=:0.0 xmessage -timeout 10 "Shutdown computer?" -buttons yes:0,no:1 case $? in 0) echo "Shutting down..." #systemctl poweroff ;; 1) echo "Ok." ;; *) echo "Mystic error!" ;; esac 

Я добавил $PATH и $DISPLAY чтобы их можно было использовать cron (подробнее об этом здесь ). И, конечно, если вы хотите выключить компьютер, вам придется раскомментировать эту строку, и вы можете, конечно же, удалить и инструкции echo . Я просто быстро собрал это вместе в качестве образца.

Суть его: когда пользователь нажимает « yes код возврата равен 0 и компьютер выключается. Если пользователь не нажал, код возврата равен 1 , а затем не выключайте. (Редактировать 🙂 Если ни один пользователь не нажимает какую-либо кнопку после timeout секунд (в этом случае 10), xmessage выйдет с 0 и компьютер выключится.

При выполнении сценарий создает это небольшое диалоговое окно:

https://s22.postimg.org/irl97w835/xmessage.png

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

Слишком много актуальных вопросов в одном вопросе. Задайте отдельные вопросы в следующий раз. Описанную вами проблему необходимо решить с помощью опции видеоплеера «Предотвратить приостановку» или «отключить sscreensaver». VLC имеет эту опцию где-то в настройках. Однако люди сообщают, что иногда это не работает.
Чтобы показать диалоги из сценария bash, используйте утилиту xdialog . Тем не менее, он не будет работать, если он запускается из внешней пользовательской сессии, например, из crontab. Сначала вам нужно отключить безопасность сервера X.
Чтобы запустить poweroff в качестве стандартного пользователя, запустите его через systemd
systemctl poweroff .

  • swapon: операция не разрешена
  • AIX NFS mount.nfs: доступ запрещен сервером при установке
  • Зашифровывает ли все мои медленные программы Lubuntu?
  • Можете ли вы добавить записи в fstab с графическим интерфейсом в ubuntu?
  • Как правильно настроить яркость монитора во время загрузки?
  • завиток с переменными на скрипте bash
  • отправка электронной почты на IP-адрес через постфикс
  • Установите libmyodbc на Ubuntu Yakkety (16.10)
  • Можно ли экспортировать переменную env через Upstart?
  • apt-get неправильно разрешает зависимость от фиксированной версии в пакете Debian / Ubuntu
  • Активировать / деактивировать WiFi на Lenovo B5400 под Ubuntu 14.04
  • apt-get: нет кандидата на установку libxul-dev
  • Linux и Unix - лучшая ОС в мире.