¿Cómo puedo hacer que xfce se ajuste automáticamente para cambiar las salidas disponibles?

11

En xfce, puedo ejecutar Configuración -> Pantalla para cambiar mi monitor de salida preferido. Lo que no he encontrado es una opción para que se ajuste automáticamente a un cambio en las salidas disponibles.

Por ejemplo, si estoy usando una pantalla DVI, pero desacople mi computadora portátil, XFCE no se dará cuenta automáticamente de que ya no tengo una pantalla que funcione y cambie la salida. Gnome hizo esto, aunque no estoy seguro de qué servicio. Me gustaría tener alguna forma de asegurarme de que siempre tenga al menos una salida de trabajo automáticamente.

NOTA LATERAL: Esto está relacionado con otra pregunta mía, si solo uso un administrador de ventanas y no un entorno de escritorio, ¿cómo obtengo actualizaciones automáticas de resolución de acoplamiento / desacoplamiento? , pero es para xfce, no para cualquier administrador de ventanas genérico.

Ken Kinder
fuente
1
mejor hasta ahora que he visto: unix.stackexchange.com/a/120945/14907
akostadinov
@akostadinov Las respuestas deberían ser respuestas. Seguiré adelante y lo convertiré en uno.
Aleksandr Dubinsky

Respuestas:

6
$ xrandr --auto

Desde la página de manual de xrandr:

--auto : para salidas conectadas pero deshabilitadas, esto les permitirá usar su modo preferido (o algo cercano a 96 ppp si no tienen modo preferido). Para salidas desconectadas pero habilitadas, esto las deshabilitará.

pl1nk
fuente
Esto funciona para mí al menos para mi configuración.
pl1nk
Pero este es un comando de una sola vez, no un servicio, ¿verdad?
Aleksandr Dubinsky
0

Esta pregunta se responde en Unix StackExchange: /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945 Sin embargo, dado que no lo es posible marcar esta pregunta como un duplicado de una pregunta en otro sitio, solo voy a copiar la respuesta aquí.


Una forma es crear una regla udev, pero como quería algo más portátil, tengo este script bash. Se basa en el soporte de inotifywait, no tiene algún tipo de bucles y se considera 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 

No olvide hacer que el archivo sea ejecutable ( chmod +x external-lcd.sh). Luego, solo inícielo cada vez que inicie su DE.

Estoy usando esto en archlinux, así que creo que debería funcionar. Puede cambiar los parámetros de xrandr o cambiarlo para usar configuraciones de arandr.

Aleksandr Dubinsky
fuente
-1

No existe tal opción ya que la tecnología detrás de la detección de eventos de hardware independiente del escritorio ( udev) es bastante nueva para un proyecto de aficionado como xfce.

Es posible que obtenga buenos resultados al investigar D-Busy udev. Echa un vistazo a udev no se ejecuta eliminar eventos para empezar.

aquaherd
fuente