Não tenho certeza absoluta, mas acho que uma regra do udev se aplica à ação add
por padrão. A regra do udev está em uma placa gráfica, não em um monitor; então ele é executado quando uma placa gráfica é adicionada ao sistema, o que na prática significa no momento da inicialização.
Conectar um monitor resulta em uma ação change
, não em uma ação add
. Portanto, a regra do udev deve especificar uma ação change
.
KERNEL=="card0", SUBSYSTEM=="drm", ACTION=="change", \
ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/var/run/gdm/auth-for-vazquez-OlbTje/database", RUN+="/usr/bin/arandr"
Exemplos encontrados na web corroboram meu entendimento, por exemplo codingtony cujo monitor-hotplug.sh
script pode ser do seu interesse .
O nome do arquivo em /var/run
muda a cada vez que você reinicia, então você deve determiná-lo automaticamente dentro do seu script. Esta resposta deve ajudar.