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

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

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

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

  • почему мы не можем установить приложение, скомпилированное для Ubuntu, на Linux mint или некоторые другие дистрибутивы с одним ядром?
  • ajaxterm с использованием пропорционального шрифта
  • программа «убита», как только она запускается
  • Ошибка установки SSH в Ubuntu, работающем в VirtualBox
  • Как разрешить xserver рисовать окна с указанного хоста?
  • Не удалось получить доступ к Docker после установки в подсистеме Windows для Linux
  • Не удалось обновить модуль ядра с помощью modprobe: после перезагрузки dmesg указывает старую версию (но modinfo показывает новую)
  • Ошибка загрузки разделяемой библиотеки libSDL-1.2
  • 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 - лучшая ОС в мире.