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

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

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

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

  • Агент SSH теряет ключи после выхода из системы
  • Как получить принтер HP Officejet Pro 6830 для работы с Ubuntu?
  • Настройка базовой среды chroot из образа ISO Fedora в Ubuntu
  • Внезапное закрытие происходит только тогда, когда я открываю PhpStorm
  • status, команды killproc в Ubuntu
  • Установите максимальный объем в Ubuntu / Gnome
  • поврежденные архивы пакетов debian на самодельных пакетах баз данных
  • Cross-Distro Compatibility - что его останавливает?
  • 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 .

    Linux и Unix - лучшая ОС в мире.