udev + xrandr para definir a gama de exibição quando a conexão de um display funciona brevemente, mas é sobreposta

1

Estou usando um script como esse para definir os valores de gama da tela do meu laptop e do monitor externo:

#!/bin/bash

export DISPLAY=:0
export XAUTHORITY=/home/peat/.Xauthority

xrandr --output LVDS1 --gamma 0.7:0.7:0.4
xrandr --output DP1--gamma 0.8:0.8:0.8  

Executá-lo na inicialização ou manualmente a partir do terminal funciona perfeitamente. No entanto, ao remover ou conectar um monitor, o gama é redefinido para todas as telas. Eu tento resolvê-lo criando esta regra do udev em /etc/udev/rules.d/999_setMonitorGamma.rules:

SUBSYSTEM=="drm", ACTION=="change", RUN+="/home/peat/scripts/setMonitorGamma.sh"

Em que ponto isso quase funciona. Eu posso ver a tela piscar com a gama correta por um breve instante, então a gama incorreta é aplicada novamente. Parece que há algum tipo de detecção automática após o processamento das regras do udev, que redefine as configurações de exibição. Como posso contornar isso?

Executando o Linux Mint 16, baseado no Ubuntu 13.10

    
por peat 14.01.2014 / 05:46

0 respostas