Come posso fare in modo che xfce si adatti automaticamente alle modifiche delle uscite disponibili?


11

In xfce, posso eseguire Impostazioni -> Schermo per modificare il mio monitor di output preferito. Quello per cui non ho trovato un'opzione è che si adegui automaticamente a un cambiamento nelle uscite disponibili.

Ad esempio, se sto usando un display DVI, ma scollego il mio laptop, XFCE non si accorgerà automaticamente che non ho più un display funzionante e cambierà l'output. Gnome ha fatto questo, anche se non sono sicuro di quale servizio. Vorrei avere un modo per assicurarmi di avere sempre almeno un output funzionante automaticamente.

NOTA LATERALE: ciò è correlato a un'altra mia domanda, se uso solo un gestore di finestre e non un ambiente desktop, come posso ottenere aggiornamenti automatici della risoluzione dock / sblocco? , ma è per xfce, non qualsiasi gestore di finestre generico.



@akostadinov Le risposte dovrebbero essere risposte. Vado avanti e lo trasformerò in uno.
Aleksandr Dubinsky,

Risposte:


6
$ xrandr --auto

Dalla pagina man di xrandr:

--auto : per le uscite connesse ma disabilitate, ciò consentirà loro di utilizzare la loro modalità preferita (o, qualcosa vicino a 96 dpi se non hanno una modalità preferita). Per le uscite disconnesse ma abilitate, questo le disabiliterà.


Questo lavoro per me almeno per la mia installazione.
pl1nk

Ma questo è un comando una tantum, non un servizio, giusto?
Aleksandr Dubinsky,

0

Questa domanda ha una risposta su Unix StackExchange: /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945 Tuttavia, poiché non lo è possibile contrassegnare questa domanda come duplicato di una domanda su un altro sito, ho intenzione di copiare la risposta qui.


Un modo è quello di creare una regola udev, ma poiché volevo qualcosa di più portatile, ho questo script bash. Si basa sul supporto inotifywait, non ha alcun tipo di loop ed è considerato efficiente.

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 

Non dimenticare di rendere il file eseguibile ( chmod +x external-lcd.sh). Quindi avvialo ogni volta che avvii il tuo DE.

Sto usando questo su Archlinux, quindi penso che dovrebbe funzionare. È possibile modificare i parametri xrandr o scambiarlo per utilizzare le configurazioni arandr.


-1

Non esiste tale opzione poiché la tecnologia dietro il rilevamento di eventi hardware indipendente dal desktop ( udev) è piuttosto nuova per un progetto hobbistico come xfce.

Potresti ottenere alcuni buoni risultati scavando in D-Buse udev. Dai un'occhiata a udev non in esecuzione rimuovere eventi per i principianti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.