Який код виконується при відключенні навушників?


Відповіді:


9

У більшості систем, якщо не у всіх, ACPI може впоратися з цією подією. Щоб перевірити це:

  1. Біжи acpi_listen
  2. Відключіть навушники та відключіть навушники, наприклад, вихід: (мікрофон / вуха поділяються в одному гнізді на моєму ноутбуці)

    jack/headphone HEADPHONE unplug
    jack/microphone MICROPHONE unplug
    jack/headphone HEADPHONE plug
    jack/microphone MICROPHONE plug
    
  3. поміщений your-script.shв/etc/acpi/

  4. Додайте файл запуску події для свого сценарію в /etc/acpi/events/

    event=jack/headphone HEADPHONE unplug
    action=/etc/acpi/your-script.sh
    

    Перевірте інші файли, у яких можна дізнатися

  5. Можливо, вам доведеться перезапустити acpidслужбу, щоб перезавантажити змінити правила в/etc/acpi/events/

    sudo service acpid restart
    

Довідка: man acpid


Тепер мені залишається лише з’ясувати, як змусити dbus працювати з скриптів ACPI, але це вже інше питання.
int_ua

2
@int_ua вам потрібно написати DBUS_SESSION_BUS_ADDRESSзмінну оточуючого середовища у файл у своєму homedir зі скриптом, розпочатим з ~/.config/autostart/dbus.desktop. Тоді можна бігти su YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."з/etc/acpi/your-script.sh
Гермар

Гей, я написав сценарій, щоб показати сповіщення. Дотримуйтесь саме того, що ви сказали. Мій сценарій виконує сповіщення-надсилання "Навушники підключені" під час події. Але це, здається, не працює. askubuntu.com/questions/877804/…
thewebjackal

1

Поточна версія вашого сценарію тепер містить sleep 0.25команду.

sleepзаснований на таймері, тому не використовує жодних циклів обробки під час сну ...

Він використовує дуже маленький біт процесора, щоб налаштувати таймер, але sleep 1(спати 1 секунду), sleep 60(спати хвилину) і sleep 86400(спати протягом дня) всі використовують однакове число циклів процесора.

Однак використання ACPI є ідеальним рішенням, оскільки ACPI керується подіями замість опитування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.