Como posso detectar quando um monitor externo está conectado no linux?
Preciso executar vários scripts para configurar meu espaço de trabalho.
Existe alguma maneira inteligente de iniciar um script quando o estado do monitor mudou?
Estou usando o driver de vídeo da Nvidia.
xrandr
cada dois segundos e execute o (s) script (s) se notar uma diferença.Respostas:
Há um conjunto de ferramentas chamadas read-edid que podem analisar dados de identificação de exibição estendidos (EDID). Se o seu monitor externo for realmente detectado por essas ferramentas, você poderá verificar periodicamente a detecção e usar a saída para iniciar scripts etc.
Você não mencionou se precisa fazer isso, independentemente de o X estar em execução.
fonte
Eu estava procurando a mesma resposta: /
Estou usando o disper ( http://willem.engen.nl/projects/disper ) e o gconftool para ativar / desativar meu segundo monitor junto com um segundo painel de gnomo.
disper -l lista todos os monitores conectados, para que você possa pesquisar isso como último recurso.
fonte
Você deve usar
udev
eventos ... uma regra possível pode se parecer com:(Fonte https://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
fonte
Dado que, a partir de 270.18, os drivers binários da nVidia ainda não parecem implementar o XRandR moderno, talvez você precise seguir a sugestão do new123456 de pesquisar uma ferramenta como
xrandr
para mudanças no tamanho da tela.No meu sistema, ainda não encontrei uma maneira de fazer a nVidia anunciar adequadamente
xrandr
que tenho dois monitores de 1280x1024, em vez de um único de 2560x1024 ... o que, como você pode imaginar, torna os jogos em tela cheia centralizados nos dois monitores quando eu proíbo eles alterem a resolução. (Ele destrói meus stickies da área de trabalho)fonte