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

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

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

Я пытался

  • /etc/acpi/power.sh
  • добавление символической ссылки на /etc/laptop-mode/battery-start

Кажется, это не работает.

решение1

Вы должны иметь возможность делать то, что хотите, со скриптом в /etc/pm/power.d. Цитата из HOWTO.hooksфайла в pm-utils:

Как написать хук pm-utils:

ПАРАМЕТРЫ

Хук pm-utils — это просто исполняемый файл, который принимает как минимум один параметр.

Для хуков в power.d потенциальные значения этого параметра следующие:

  • true — хук ДОЛЖЕН выполнить любое соответствующее действие при переходе системы НА питание от батареи.
  • false — хук ДОЛЖЕН выполнить любое соответствующее действие при переходе системы ОТ питания от батареи.

Возможно, вам также будет интересно прочитать некоторые из существующих приемов, /usr/lib/pm-utils/power.dчтобы получить идеи о том, как структурировать свой сценарий.

Обратите внимание, что если вы используете pm-utilsинтерфейс, то с помощью первого аргумента вы узнаете, подключены ли вы к сети переменного тока или нет: если $1это так true, то вы переключаетесь на питание от батареи, а если это так, falseто вы переключаетесь обратно на питание от сети.

решение2

Я достигаю аналогичной цели, используя acpi.

используйте /usr/bin/acpi_listen для перехвата нужного вам события acpi. На моем ноутбуке событие, которое возникает при переключении на батарею, — это «ac_adapter ACPI0003:00 00000080 00000000». Поэтому я создаю новое событие: /etc/acpi/events/switch-to-battery, ниже приведено его содержимое:

event=ac_adapter ACPI0003:00 00000080 00000000
action=/etc/acpi/switch-to-battery.sh

Просто делайте все, что хотите в ac_adapter.sh. Больше примеров можно найти, если установлен acpi-support.

Наконец, выполните эту команду, чтобы новое событие вступило в силу.

sudo service acpid restart

решение3

Это не совсем правильный вопрос. Я получаю некоторые ошибки, но сейчас я их исправляю и мой power.sh и все работает

if on_ac_power; then
  echo 0 > /home/riad/1 
  #on ac
else 
  echo 1 > /home/riad/1
  #on battery
fi

и это работает

Связанный контент