Como o xfce pode se ajustar automaticamente à alteração das saídas disponíveis?

11

No xfce, eu posso executar Configurações -> Tela para alterar meu monitor de saída preferido. Não encontrei uma opção para fazer com que ela se ajustasse automaticamente a uma alteração nas saídas disponíveis.

Por exemplo, se eu estiver usando uma tela DVI, mas desencaixar meu laptop, o XFCE não perceberá automaticamente que eu não tenho mais uma tela funcional e alterarei a saída. O Gnome fez isso, embora não tenha certeza de qual serviço. Eu gostaria de ter uma maneira de garantir que eu sempre tenha pelo menos uma saída funcionando automaticamente.

NOTA LATERAL: Isso está relacionado a outra questão minha: se eu apenas usar um gerenciador de janelas e não um ambiente de área de trabalho, como faço para obter atualizações automáticas de resolução de encaixe / desencaixe? , mas é para o xfce, não qualquer gerenciador de janelas genérico.

Ken Kinder
fonte
1
melhor até agora que eu vi: unix.stackexchange.com/a/120945/14907
akostadinov
@akostadinov Respostas devem ser respostas. Vou em frente e transformá-lo em um.
Aleksandr Dubinsky

Respostas:

6
$ xrandr --auto

Na página de manual do xrandr:

--auto : Para saídas conectadas mas desativadas, isso permitirá que elas usem o modo preferido (ou algo próximo a 96dpi, se não tiverem o modo preferido). Para saídas desconectadas, mas ativadas, isso as desativará.

pl1nk
fonte
Este trabalho para mim, pelo menos para a minha instalação.
Pl1nk
Mas este é um comando único, não um serviço, certo?
Aleksandr Dubinsky
0

Esta pergunta é respondida no Unix StackExchange: /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945 No entanto, uma vez que não é possível marcar essa pergunta como uma duplicata de outra pergunta em outro site, copiarei a resposta aqui.


Uma maneira é criar uma regra do udev, mas como eu queria algo mais portátil, tenho esse script bash. Ele conta com o suporte do inotifywait, não possui algum tipo de loop e é considerado eficiente.

external-lcd.sh

#!/bin/sh
# inspired of:                                                                                            
#   http://unix.stackexchange.com/questions/4489/a-tool-for-automatically-applying-randr-configuration-   when-external-display-is-p                                                                                
#   http://ozlabs.org/~jk/docs/mergefb/                                                                   
#   http://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes/181543#181543  

export MONITOR2=/sys/class/drm/card0-VGA-1/status                                                         

while inotifywait -e modify,create,delete,open,close,close_write,access $MONITOR2;                        

dmode="$(cat $MONITOR2)"                                                                                  

do                                                                                                        
    if [ "${dmode}" = disconnected ]; then                                                                
         /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    elif [ "${dmode}" = connected ];then                                                                  
         /usr/bin/xrandr --output VGA1 --auto --right-of LVDS1                                            
         echo "${dmode}"                                                                                  
    else /usr/bin/xrandr --auto                                                                           
         echo "${dmode}"                                                                                  
    fi                                                                                                    
done 

Não esqueça de tornar o arquivo executável ( chmod +x external-lcd.sh). Em seguida, inicie-o sempre que você iniciar o seu DE.

Estou usando isso no archlinux, então acho que deve funcionar. Você pode alterar os parâmetros xrandr ou trocá-lo para usar configurações de arandr.

Aleksandr Dubinsky
fonte
-1

Não existe essa opção, pois a tecnologia por trás da detecção de evento de hardware independente da área de trabalho ( udev) é bastante nova para um projeto amador como o xfce.

Você pode obter bons resultados pesquisando D-Buse udev. Dê uma olhada no udev não executando os eventos remove para iniciantes.

aquaherd
fonte