Ridimensionamento automatico del display X11 quando si collega un monitor esterno
Domanda
Ho un laptop con Ubuntu al quale collego un monitor esterno quando sono in ufficio. Di solito questo mi richiede di eseguire xrandr --auto
per consentire al laptop di ridimensionare il display per adattarlo al monitor esterno. Sarebbe bello se questo potesse essere fatto automaticamente, sia innescato quando il monitor è collegato, ma sarebbe sufficiente eseguire effettivamente xrandr --auto
quando il laptop si sveglia dalla sospensione / ibernazione.
Ho creato uno script /etc/pm/sleep.d/00xrandr.sh
contenente la riga
xrandr --auto
ma questo non riesce poiché lo script non ha accesso al display X.
Qualche idea?
Soluzione
So che il problema è che lo script viene eseguito come root, senza accesso ai tuoi dati xauth. A seconda della configurazione, potrebbe funzionare qualcosa del genere:
xauth merge /home/your_username/.Xauthority
export DISPLAY=:0.0
xrandr --auto
Potresti usare qualcosa di più intelligente per scoprire da quale utente devi estrarre i dati xauth se necessario.
Altri suggerimenti
Hai provato a impostare correttamente la variabile DISPLAY nello script e hai concesso l'accesso ad altri utenti al tuo DISPLAY con xhost + localhost? Non so se questo aiuta, ma vale la pena provare.