Как выключить Ubuntu при отключении питания? [дубликат]

Мой проект требует, чтобы источник питания для ноутбук должен быть включен и выключен.

Есть ли способ правильно завершить работу Ubuntu при пропадании внешнего питания? Он запустит выключение на своей внутренней батарее.

5
задан 11 October 2014 в 10:02

3 ответа

Попытайтесь проверить on_ac_power команда. От man on_ac_power:

NAME
       on_ac_power - test whether computer is running on AC power

SYNOPSIS
       on_ac_power

DESCRIPTION
       on_ac_power  checks  whether  the  system  is  running on AC power (i.e., mains power) as opposed to battery
       power.

OPTIONS
       None.

EXIT STATUS
       0 (true)  System is on mains power
       1 (false) System is not on mains power
       255 (false)    Power status could not be determined

if on_ac_power; then 
    echo "You are on AC-Power" # System is on mains power
 else
    echo "Power Lost"          # System is not on mains power
fi

Необходимо проверить состояние питания переменным током в каждые X интервалов времени. Это - самый легкий способ, которым Вы выполняете его в фоновом режиме, внутри некоторое время цикл:

while true
 do
    if on_ac_power; then 
        echo "You are on AC-Power" # System is on main power
     else
        echo "Power Lost"          # System is not on main power
    fi
    sleep [Seconds]
 done

Сохраните свой сценарий (ChechMainPWR.sh) и если Вы хотите запустить скрипт на запуске, поэтому включите строку /etc/rc.local назвать Ваш сценарий (ChechMainPWR.sh) + "и" заставить его выйти. Как это

sh /home/USERNAME/ChechMainPWR.sh $

Перезагрузка и видит изменения.

ПРЕМИЯ

Если Вы хотите видеть предупреждение, когда оно потеряно или не соединено на Вашем настольном уведомлении, можно использовать notify-send программа.

notify-send "Main Power Lot!" "System is now shutting down"

Посмотрите man notify-send для большего количества информации.

NAME
       notify-send - a program to send desktop notifications

SYNOPSIS
       notify-send [OPTIONS] <summary> [body]

DESCRIPTION
       With  notify-send you can sends desktop notifications to the user via a notification daemon from the command
       line.  These notifications can be used to inform the user about an event or display some form of information
       without getting in the user's way.

Затем заключительный сценарий был бы похож на это:

Заключительный сценарий

while true
 do
    if ! on_ac_power; then    # System is not on main power
        notify-send "Main Power Lot!" "System is going down after 10 seconds"
        sleep 10
        echo YOUR_PASSWORD | sudo -kS  shutdown -h now
        #####^^^^^^^^^^^^^ VERY VERY VERY insecure!   ##########
    fi
    sleep 300 # check main power status every 5 minutes
 done

Предупреждение: echo YOUR_PASSWORD | sudo -kS shutdown -h now работы, НО это чрезвычайно небезопасно, поскольку Ваш пароль записан в Вашей истории и может также быть видим другим пользователям через список процессов.

Затем альтернативное решение; можно настроить систему это sudo someCommand не требует пароля (в моем случае для sudo shutdown). Чтобы сделать это, работать sudo visudo и добавьте следующую строку в КОНЦЕ в файле, который открывается:

Your_USERNAME  ALL=NOPASSWD: /sbin/shutdown

Затем выйдите из редактора и сохраните его (CTRL+x).

Теперь можно использовать shutdown команда из командной строки или в Вашем сценарии без пароля.

Таким образом, сценарий был бы похож на это:

while true
 do
    if ! on_ac_power; then  #your system is not on AC-Power
        notify-send "Main Power Lost!" "System is going down after 10 seconds"
        sleep 10
        sudo shutdown -h now  # System is not on mains power
    fi
    sleep 300 # check main power status every 5 minutes
 done

Внешние ссылки:

Как я выполняю определенные команды sudo без пароля?
Как я перезапускаю завершение работы / от терминала?

6
ответ дан 23 November 2019 в 09:24

В Предпочтениях Управления питанием можно установить, что произойти, когда заряд батареи критически низок .

Набор это там к закрылось :

enter image description here

0
ответ дан 23 November 2019 в 09:24

Переходят к параметрам настройки системы путем нажатия на значок настроек на главный правый угол рабочего стола и выбора "параметров настройки системы..."

В панели Cick параметров настройки системы на "питании" и там Вы видите опцию для, "когда питание является критически низким он черный по умолчанию. выберите его и выберите 'power off' в выпадающем меню.

enter image description here

-1
ответ дан 23 November 2019 в 09:24

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

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