[udev] Appliquer une règle pour une connexion HDMI

Reconnaissance et configuration du matériel / kernel linux
Avatar de l’utilisateur
Ray Mac Coy
newbie
Messages : 5
Inscription : mer. 16 avr. 2014, 04:17

[udev] Appliquer une règle pour une connexion HDMI

Message par Ray Mac Coy »

Bonjour à tous,

Je suis utilisateur d'Archlinux depuis six mois et j'en suis vraiment très satisfait.

C'est cependant la première fois que je suis amené à demander de l'aide, car là, je cale vraiment, en dépit de nombreuses recherches sur le Net où je me rends bien compte que mon cas n'est pourtant pas isolé. J'ai eu beau appliquer les solutions que j'ai pu trouver, rien n'y fait.

Mon problème : je souhaiterais, lorsque je branche ma TV à mon PC portable via un cable HDMI, un switch automatique, à la fois de l'affichage (sortie uniquement vers l'écran TV) et du son (hauts-parleurs TV), au lieu de le faire manuellement via fn+f8 et le réglage des options sonores de Gnome.

J'ai donc créé une règle udev pour HDMI renvoyant à un script sh.

Je vous les soumets.

Script hdmi.sh créé dans /usr/local/bin/, puis modifié pour l'exécution avec chmod +x :

Code : Tout sélectionner

#! /bin/bash

printenv
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
export DISPLAY=:0
read hdmi_status < /sys/class/drm/card0-HDMI-A-1/status
echo $hdmi_status
sleep 1
if [[ $hdmi_status == "connected" ]]; then
	pacmd set-card-profile 0 "output:hdmi-stereo"
	xrandr --output eDP1 --off --output HDMI1 --auto
else
	pacmd set-card-profile 0 "output:analog-stereo"
	xrandr --output eDP1 --auto
fi
Ce script, lancé via le terminal une fois que la TV est branchée, fonctionne comme je le souhaite.
Reste donc à l'appeler par une règle udev. Et c'est là que ça coince.

Règle udev : /etc/udev/rules.d/90-hdmi.rules

Code : Tout sélectionner

KERNEL=="card0", SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/hdmi.sh"
Quand je branche le cable hdmi rien ne se passe.
Pourtant le périphérique est bien détecté puisque udevadm monitor me renvoie lorsque je débranche le cable :

Code : Tout sélectionner

[jeff@zenarch ~]$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1751.647415] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1751.650155] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
À chaque modification, j'ai toujours effectué un rechargement des règles avec sudo udevadm control --reload-rules.

J'ai modifié par la suite, au vu de ce que je pouvais voir sur le Net, à la fois le script (essai initial avec pactl au lieu de pacmd) et la règle udev. Je pense que le problème vient de cette dernière.
Je l'ai notamment modifiée ainsi pensant que le problème pouvait venir de l'exécution :

Code : Tout sélectionner

KERNEL=="card0", SUBSYSTEM=="drm", ACTION=="change", RUN+="su jeff -c /usr/local/bin/hdmi.sh"
J'ai aussi introduit des variantes pour renvoyer au périphérique concerné :

Code : Tout sélectionner

KERNEL=="card0", SUBSYSTEM=="drm", DEVPATH=="/devices/pci0000:00/0000:00:02.0/drm/card0", ACTION=="change", RUN+="/usr/local/bin/hdmi.sh"
... mais chaque tentative s'est soldée par un échec. Je suis revenu pour l'heure à la première rédaction de la règle que j'ai exposée.

Voici enfin ce que donne sudo udevadm test /devices/pci0000:00/0000:00:02.0/drm/card0 (périphérique branché) :

Code : Tout sélectionner

calling: test
version 218
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          218
file size:         6746317 bytes
header size             80 bytes
strings            1710365 bytes
nodes              5035872 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /etc/udev/rules.d/10-local.rules
invalid ACTION operation
invalid rule '/etc/udev/rules.d/10-local.rules:2'
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
Reading rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
Reading rules file: /usr/lib/udev/rules.d/49-sane.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-keyboard.rules
Reading rules file: /usr/lib/udev/rules.d/60-openobex.rules
Reading rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /etc/udev/rules.d/60-schedulers.rules
Reading rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/75-tty-description.rules
Reading rules file: /usr/lib/udev/rules.d/77-nm-olpc-mesh.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /etc/udev/rules.d/81-backlight.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/85-tlp.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /etc/udev/rules.d/90-hdmi.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-udev-late.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
rules contain 196608 bytes tokens (16384 * 12 bytes), 22511 bytes strings
9077 strings (81072 bytes), 7213 de-duplicated (60426 bytes), 1865 trie nodes used
device 0x7f54a369d440 has devpath '/devices/pci0000:00/0000:00:02.0/drm/card0'
device 0x7f54a36b7b90 filled with db file data
device 0x7f54a36ba350 has devpath '/devices/pci0000:00/0000:00:02.0'
device 0x7f54a36bc530 has devpath '/devices/pci0000:00'
GROUP 91 /usr/lib/udev/rules.d/50-udev-default.rules:32
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/60-drm.rules:3
device 0x7f54a36ba350 filled with db file data
RUN 'uaccess' /usr/lib/udev/rules.d/73-seat-late.rules:15
handling device node '/dev/dri/card0', devnum=c226:0, mode=0660, uid=0, gid=91
preserve permissions /dev/dri/card0, 020660, uid=0, gid=91
preserve already existing symlink '/dev/char/226:0' to '../dri/card0'
created db file '/run/udev/data/c226:0' for '/devices/pci0000:00/0000:00:02.0/drm/card0'
ACTION=add
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SUBSYSTEM=drm
TAGS=:seat:uaccess:
USEC_INITIALIZED=39014
run: 'uaccess'
Unload module index
Unloaded link configuration context.
Je vous remercie pour vos conseils et l'aide que vous voudrez bien m'apporter. Merci beaucoup...
ArchLinux x86_64. Kernel : 3.14.33-1-lts
Desktop : Gnome 3.14

Asus Zenbook Prime UX31A, Intel Core i7, 8GB RAM
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [udev] Appliquer une règle pour une connexion HDMI

Message par FoolEcho »

Salut,

Il faudrait que tu testes les règles avant de les charger, cela donnera peut-être une indication sur ce qui coince (je ne vois pas ce qui cloche a priori...):
https://wiki.archlinux.org/index.php/Ud ... re_loading
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Ray Mac Coy
newbie
Messages : 5
Inscription : mer. 16 avr. 2014, 04:17

Re: [udev] Appliquer une règle pour une connexion HDMI

Message par Ray Mac Coy »

Salut FoolEcho,

Merci beaucoup pour ta réponse !

Voici ce que donne le résultat du test (lancé avec le cable HDMI relié au PC) :
sudo udevadm test /sys/class/drm/card0

Code : Tout sélectionner

calling: test
version 218
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          218
file size:         6746317 bytes
header size             80 bytes
strings            1710365 bytes
nodes              5035872 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /etc/udev/rules.d/10-local.rules
invalid ACTION operation
invalid rule '/etc/udev/rules.d/10-local.rules:2'
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
Reading rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
Reading rules file: /usr/lib/udev/rules.d/49-sane.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-keyboard.rules
Reading rules file: /usr/lib/udev/rules.d/60-openobex.rules
Reading rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /etc/udev/rules.d/60-schedulers.rules
Reading rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/75-tty-description.rules
Reading rules file: /usr/lib/udev/rules.d/77-nm-olpc-mesh.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /etc/udev/rules.d/81-backlight.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/85-tlp.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /etc/udev/rules.d/90-hdmi.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-udev-late.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
rules contain 196608 bytes tokens (16384 * 12 bytes), 22522 bytes strings
9077 strings (81083 bytes), 7213 de-duplicated (60426 bytes), 1865 trie nodes used
device 0x7f530691d440 has devpath '/devices/pci0000:00/0000:00:02.0/drm/card0'
device 0x7f5306937b90 filled with db file data
device 0x7f530693a350 has devpath '/devices/pci0000:00/0000:00:02.0'
device 0x7f530693c530 has devpath '/devices/pci0000:00'
GROUP 91 /usr/lib/udev/rules.d/50-udev-default.rules:32
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/60-drm.rules:3
device 0x7f530693a350 filled with db file data
RUN 'uaccess' /usr/lib/udev/rules.d/73-seat-late.rules:15
handling device node '/dev/dri/card0', devnum=c226:0, mode=0660, uid=0, gid=91
preserve permissions /dev/dri/card0, 020660, uid=0, gid=91
preserve already existing symlink '/dev/char/226:0' to '../dri/card0'
created db file '/run/udev/data/c226:0' for '/devices/pci0000:00/0000:00:02.0/drm/card0'
ACTION=add
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SUBSYSTEM=drm
TAGS=:seat:uaccess:
USEC_INITIALIZED=76470
run: 'uaccess'
Unload module index
Unloaded link configuration context.
Il faudra que je corrige une erreur d'action dans la règle 10-local.rules mais cela concerne un périphérique bluetooth.

Si le test n'est pas lancé en sudo je n'ai pas exactement la même chose (peu après la liste des règles : unable to create temporary db file '/run/udev/data/c226:0.tmp': Permission denied, mais c'est logique puisque je ne suis pas en root.
[jeff@zenarch ~]$ udevadm test /sys/class/drm/card0

Code : Tout sélectionner

calling: test
version 218
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          218
file size:         6746317 bytes
header size             80 bytes
strings            1710365 bytes
nodes              5035872 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /etc/udev/rules.d/10-local.rules
invalid ACTION operation
invalid rule '/etc/udev/rules.d/10-local.rules:2'
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
Reading rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
Reading rules file: /usr/lib/udev/rules.d/49-sane.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-keyboard.rules
Reading rules file: /usr/lib/udev/rules.d/60-openobex.rules
Reading rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /etc/udev/rules.d/60-schedulers.rules
Reading rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/75-tty-description.rules
Reading rules file: /usr/lib/udev/rules.d/77-nm-olpc-mesh.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /etc/udev/rules.d/81-backlight.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/85-tlp.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /etc/udev/rules.d/90-hdmi.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-udev-late.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
rules contain 196608 bytes tokens (16384 * 12 bytes), 22522 bytes strings
9077 strings (81083 bytes), 7213 de-duplicated (60426 bytes), 1865 trie nodes used
device 0x7f02f1b72440 has devpath '/devices/pci0000:00/0000:00:02.0/drm/card0'
device 0x7f02f1b8cb90 filled with db file data
device 0x7f02f1b8f350 has devpath '/devices/pci0000:00/0000:00:02.0'
device 0x7f02f1b91530 has devpath '/devices/pci0000:00'
GROUP 91 /usr/lib/udev/rules.d/50-udev-default.rules:32
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/60-drm.rules:3
device 0x7f02f1b8f350 filled with db file data
RUN 'uaccess' /usr/lib/udev/rules.d/73-seat-late.rules:15
handling device node '/dev/dri/card0', devnum=c226:0, mode=0660, uid=0, gid=91
preserve permissions /dev/dri/card0, 020660, uid=0, gid=91
preserve already existing symlink '/dev/char/226:0' to '../dri/card0'
unable to create temporary db file '/run/udev/data/c226:0.tmp': Permission denied
ACTION=add
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SUBSYSTEM=drm
TAGS=:seat:uaccess:
USEC_INITIALIZED=76470
run: 'uaccess'
Unload module index
Unloaded link configuration context.
Merci pour ton aide.
ArchLinux x86_64. Kernel : 3.14.33-1-lts
Desktop : Gnome 3.14

Asus Zenbook Prime UX31A, Intel Core i7, 8GB RAM
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [udev] Appliquer une règle pour une connexion HDMI

Message par FoolEcho »

Inspire-toi peut-être de cette méthode qui passe par udev et un service systemd plutôt que d'invoquer directement ton script:
https://bbs.archlinux.org/viewtopic.php?id=176779
http://jasonwryan.com/blog/2014/01/20/udev/
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Ray Mac Coy
newbie
Messages : 5
Inscription : mer. 16 avr. 2014, 04:17

Re: [udev] Appliquer une règle pour une connexion HDMI

Message par Ray Mac Coy »

Merci. Je vais tester cette méthode alternative. Et ne manquerai pas d'en donner le résultat.
ArchLinux x86_64. Kernel : 3.14.33-1-lts
Desktop : Gnome 3.14

Asus Zenbook Prime UX31A, Intel Core i7, 8GB RAM
Répondre