Как отключить Ubuntu после (2 часа) простоя?

Бег: Xubuntu 14.04 32bit.

Я прочитал несколько устаревших, не работающих, работающих по-разному, что я хочу ответы здесь и в других местах. У меня был скрипт, который приводил к выключению моего ноутбука во время загрузки после того, как я установил его в автозапуск.

Я также попытался установить complexshutdown, несмотря на то, что этот инструмент умер в 2011 году, и в Lauchpad есть ошибка, из-за которой его точная опция недоступна. Он даже не установлен здесь 14.04.

Так что, если я могу задать этот вопрос снова, не будучи наказан «дубликатом» ...

Я ищу простой прямой сценарий, который на самом деле протестирован и работает, и я могу включить его в автозапуск, который ничего не делает, кроме проверки активности (мышь / клавиатура) и выключения ноутбука, если его не было в течение 2 часов. .

Благодаря.

6
задан 3 April 2014 в 13:32

4 ответа

Посмотрев на многие опции для того, чтобы закрыться после определенного времени неактивности, это кажется этим xautolock самый легкий путь. Все кредиты к Sparhawk для упоминания о xautolock.

Благодаря Sneetsher для указания xscreensaver. Используя xscreensaver, я мог вручную указать, что сделать после определенного количества времени неактивности. Для использования xscreensaver необходимо установить его использование:

sudo apt-get install xscreensaver

или установите его от центра программного обеспечения и затем выполните его однажды использование:

xscreensaver-demo

или введите "xscreensaver" на тире и откройте "Screensaver".

Это создаст a ~/.xscreensaver файл. Откройте его и ищите строку:

programs:                                                                     \

и добавьте:

dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true \n\

чуть ниже

programs:                                                                     \

строка.

Можно указать время, после которого завершение работы должно быть инициировано путем изменения строки, запускающейся с timout. Измените его к

timeout:        2:00:00

завершать работу после двух часов.

Взгляните на мой .xscreensaver зарегистрируйте здесь.

Это должно выключение питания Ваша машина после двух часов неактивности или безотносительно времени, которое Вы указываете в сценарии.

Примечания:

  • Взгляните на этот вопрос видеть, как добавить xscreensaver на начальной загрузке.

  • Я пытался использовать сложное завершение работы, но ошибка здесь, кажется, влияет на меня, так не мог произойти. Иначе графическое приложение было бы доступно для этого.

  • Это могло быть достигнуто с помощью xautolock, однако, поскольку redanimalwar указал, timout большее, чем 1 час не возможен, не изменяя его исходный код и перекомпиляцию.

6
ответ дан 3 April 2014 в 13:32

Это - вероятно, лучшее решение. Никакая потребность в тонкой настройке экранной заставки и выполнении.

Установка sudo apt-get install xprintidle

Помещенный этот сценарий в автоматический запуск:

#!/bin/bash

idletime=$((1000*60*60*2)) # 2 hours in milliseconds

while true; do
    idle=`xprintidle`
    echo $idle
    if (( $idle > $idletime )); then
        #sudo shutdown -P now
        dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
    fi
    sleep 1
done

комментарии и ответ @Jobin действительно приводили меня исследовать меня снова, и я на самом деле нашел незаконченный сценарий с xprinttime, но без любого цикла в сценарии. Вероятно, не законченный это, потому что мой Linux/удар knowlege не был хорош в то время. Я также помещал сценарий, который я имел в rc.local, или что-то как этот инициировало завершение работы на начальной загрузке. Благодаря @Jobin для напоминания, как добавить приложения запуска в XFCE, я уже знал это, но... и кредиты на dbus вещь, никогда не видел, что, лучше тогда завершите работу, так как это не требует корня.

0
ответ дан 3 April 2014 в 13:32

Измененный @redanimalwar сценарий, чтобы предупредить пользователя и дать шанс отменить завершение работы. Для тестов это использует 3 секунды и простое сообщение. Корректируйтесь для своих вкусов. HTH.

#!/bin/bash
#https://askubuntu.com/questions/442795/
#http://ubuntuforums.org/showthread.php?t=2172828

function showProgress(){
#
# Force Zenity Status message box to always be on top.
sleep 1 && wmctrl -r "Progress Status" -b add,above &

(
echo "# Shutting Down in 5" ; sleep 2
echo "25"
echo "# Shutting Down in 4" ; sleep 2
echo "50"
echo "# Shutting Down in 3" ; sleep 2
echo "75"
echo "# Shutting Down in 2" ; sleep 2
echo "99"
echo "# Shutting Down in 1" ; sleep 2
echo "# Shutting Down now" ; sleep 2
echo "100"

) |
zenity --progress \
  --title="Progress Status" \
  --text="First Task." \
  --percentage=0 \
 --auto-close

return $?

}


#idletime=$((1000*60*60*2)) # 2 hours in milliseconds
idletime=$((1000*3)) # test, 3seconds

while true; do
    idle=`xprintidle`
    echo $idle
    if (( $idle > $idletime )); then
        showProgress && \
        #sudo shutdown -P now
        #dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
        #echo for tests. use command above to actually shutdown
        echo shuting down the system. Just kidding  ^_^ \
        && exit 0
    fi
    sleep 1
done
0
ответ дан 3 April 2014 в 13:32

Это - мой упрощенный сценарий, это требует, чтобы Вы установили "xprintidle" пакет и изменили команду завершения работы так, чтобы было возможно работать без sudo/password.

sudo chmod u+s /sbin/shutdown
sudo apt-get install xprintidle

Сценарий

#!/bin/bash
idletime=$((15*60*1000)) # 15 min in milliseconds
idle=0

while [ $idle -lt $idletime ];do
    idle=`xprintidle`
    sleep 1
done
shutdown -P now
2
ответ дан 3 April 2014 в 13:32
  • 1
    В Ubuntu, refind.conf обычно будет доступно как /boot/efi/EFI/refind/refind.conf; однако, это предполагает, что ESP смонтирован в /boot/efi. Если it' s не, you' ll должен выяснить, которые делят Ваш ESP, и смонтируйте его там (или где-либо еще that' s удобный). – Rod Smith 3 October 2015 в 01:30

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

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