Как я могу запустить скрипт при открытии крышки моего ноутбука?

Вопрос или проблема

Я использую Kubuntu 24.10 на своем ноутбуке ASUS ROG G733P (версия Plasma 6.1.5). В настройках системы, похоже, нет контроля для включения подсветки клавиатуры, но я могу заставить их работать, используя команду в терминале “sudo brightnessctl –device=”asus::kbd_backlight” s 95″. Это решает мою задачу.

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

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

Итак… как мне запустить команду, когда крышка ноутбука приподнята, и как мне сделать это от имени суперпользователя, не открывая терминал?

Спасибо!

Ответ или решение

Чтобы автоматически выполнять команду включения подсветки клавиатуры при открытии крышки вашего ноутбука на Kubuntu 24.10, можно воспользоваться системой управления событиями ACPI (Advanced Configuration and Power Interface). Это позволит вам запустить команду "sudo brightnessctl –device=’asus::kbd_backlight’ s 95" каждый раз, когда вы поднимаете крышку устройства.

Шаги по настройке автоматического запуска команды:

1. Установка необходимых пакетов

Первоначально убедитесь, что у вас установлен пакет acpid, который отвечает за управление событиями ACPI:

sudo apt install acpid

После установки, активируйте и запустите службу:

sudo systemctl enable acpid
sudo systemctl start acpid

2. Создание обработчика lid-аспекта

Создайте или отредактируйте файл, который будет обрабатывать события открытия крышки. Откройте терминал и выполните следующие команды:

sudo nano /etc/acpi/events/lid

Вставьте следующий код в открывшийся файл:

event=button/lid
action=/usr/local/bin/lid_open.sh

Сохраните и закройте файл, нажав Ctrl+O, затем Enter, и Ctrl+X.

3. Создание скрипта

Теперь создадим скрипт, который будет исполнять вашу команду. Используйте текстовый редактор для создания файла:

sudo nano /usr/local/bin/lid_open.sh

Вставьте в файл следующий код:

#!/bin/bash
sudo brightnessctl --device="asus::kbd_backlight" s 95

Сохраните файл теми же комбинациями, как указано выше, и затем сделайте его исполняемым:

sudo chmod +x /usr/local/bin/lid_open.sh

4. Проверка sudo без запроса пароля

Для выполнения команды без запроса пароля вам необходимо обновить конфигурацию sudo. Запустите:

sudo visudo

Добавьте строку в конце файла:

your_username ALL=(ALL) NOPASSWD: /usr/local/bin/lid_open.sh

Замените your_username на ваше имя пользователя. Сохраните изменения.

5. Перезапуск службы

После завершения всех настроек, перезапустите acpid для применения изменений:

sudo systemctl restart acpid

Завершение

Теперь ваша команда автоматически будет выполняться при открытии крышки ноутбука. Это удобное решение, особенно в условиях низкой видимости. Также, если у вас возникнут сложности с настройками или выполнением шагов, рассмотрите возможность проверки системных журналов командой journalctl -xe, чтобы быстро выявить и устранить проблемы.

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

Оцените материал
Добавить комментарий

Капча загружается...