Já tentou recarregar o udev? Ele deve reconhecer novas regras automaticamente, mas talvez não ...
sudo udevadm control --reload-rules ; sudo udevadm trigger
Eu estava chateado que toda vez que eu conecto meu cabo HDMI eu preciso alterar manualmente a configuração do som.
Eu comecei a investigar as regras do udev, o que eu descobri são esses dois arquivos:
/etc/udev/rules.d/99-hdmi_sound.rules
SUBSYSTEM=="drm", RUN+="/lib/udev/hdmi_sound_toggle.sh"
/lib/udev/hdmi_sound_toggle.sh
:
#!/bin/bash
HDMI_STATUS='cat /sys/class/drm/card0/*HDMI*/status'
if [ $HDMI_STATUS = "connected" ]
then
sudo -u root pactl set-card-profile 0 output:hdmi-stereo
else
sudo -u root pactl set-card-profile 0 output:analog-stereo
fi
Quando estou executando o hdmi_sound_toggle.sh no terminal, ele funciona. Não é executado automaticamente, no entanto.
O que estou fazendo de errado?
Já tentou recarregar o udev? Ele deve reconhecer novas regras automaticamente, mas talvez não ...
sudo udevadm control --reload-rules ; sudo udevadm trigger
99-hdmi_sound.rules
(com apenas 2 dígitos) & amp; use RUN
e omitir ACTION
SUBSYSTEM=="drm", RUN+="/lib/udev/hdmi_sound_toggle.sh"
Pode ser um problema de ambiente (não é mesmo usuário, ou env
variáveis não declaradas). Tente adicionar alguns comandos echo
ou touch
para rastrear seu script. Exemplo:
echo 'date --rfc-3339='ns'' START >> /home/<your-username>/Desktop/udev_test_log.txt
Coloque um no início, no final, dentro de if
, else
...
Tags udev