Для отключения управления ПК программой apcupsd и передачи этой функции специальному скрипту, вам потребуется выполнить следующие действия:
1. Откройте файл конфигурации apcupsd для редактирования. В большинстве дистрибутивов Linux он находится по пути /etc/apcupsd/apcupsd.conf.
2. Найдите строку с параметром UPSMODE и установите его значение в none. Это отключит управление ПК программой apcupsd.
```
UPSMODE none
```
3. Сохраните изменения и закройте файл конфигурации.
4. Создайте специальный скрипт, который будет выполнять необходимые действия при отключении бесперебойного питания.
5. Откройте файл, который обрабатывает событие отключения питания при помощи apcupsd. В большинстве дистрибутивов Linux это файл /etc/apcupsd/apccontrol.
6. В этом файле найдите участок кода, который обрабатывает событие "ONBATT". Закомментируйте или удалите этот участок кода, так чтобы лишний раз не отключался ПК после выдергивания кабеля питания из розетки.
```
#онбатт)
#удалите эту часть кода или закомментируйте ее
#;;
```
7. Внесите изменения в скрипт, который должен обрабатывать событие отключения бесперебойного питания. Передайте необходимые действия для обработки этого события в вашем специальном скрипте.
После выполнения этих действий, управление ПК программой apcupsd будет отключено, а функции будут переданы вашему специальному скрипту.
Чтобы устранить проблему с моментальным отключением ПК и бесперебойника после выдергивания кабеля питания, вам нужно узнать причину проблемы, которая выводится в журнале journalct -u apcupsd. Она может быть связана с настройками программы, подключением по USB или самих устройств.
1. Откройте терминал и выполните следующую команду для просмотра вывода журнала:
```
journalctl -u apcupsd
```
2. Изучите вывод журнала, чтобы определить причину проблемы. Обратите внимание на ошибки, сообщения или предупреждения, которые могут указывать на проблему с подключением или настройками.
3. Если вы обнаружите какие-либо ошибки или предупреждения, попробуйте внести соответствующие изменения в файл конфигурации apcupsd, чтобы исправить проблему. Затем перезапустите службу с помощью команды:
```
sudo systemctl restart apcupsd
```
4. Если проблема не устраняется путем изменения настроек программы, возможно, вам потребуется проверить физическое подключение устройства к ПК. Проверьте, правильно ли подключен кабель USB между бесперебойником и ПК, а также убедитесь, что кабель питания бесперебойника надежно подключен к розетке.
5. Если проблема по-прежнему не устран