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