Tengo un portátil con Kubuntu Precise (12.04) que ocasionalmente uso para mirar videos. Cuando lo hago, enchufo un cable HDMI conectado a un receptor de A / V con un monitor HDMI conectado.
Cuando veo videos de esta manera, todavía necesito usar la pantalla del portátil cuando estoy interactuando con el sistema para controlar la reproducción, etc. El texto en el monitor HDMI es difícil de leer desde donde estoy sentado.
Cuando conecto el cable HDMI, Kubuntu lo detecta, pero tengo que pasar por una secuencia de baile extraña (que funciona, pero es complicada) para configurarlo correctamente cada vez para video y audio. Para solucionar esto, estoy tratando de escribir un script bash xrandr
para hacerlo bien la primera vez.
Tengo la idea básica de la respuesta de Peoro a esta pregunta y respuesta de U&L titulada: Una herramienta para aplicar automáticamente la configuración RandR cuando se conecta la pantalla externa .
Sobre mi guion
Mi script (incluido a continuación) funciona, pero necesita mejoras.
Establece el modo de video correctamente para el monitor HDMI, pero el monitor LVDS1 (en la computadora portátil) cambia para mostrar solo la parte superior izquierda del escritorio, lo cual es un problema porque corta las barras de desplazamiento de la ventana a la derecha y la barra de tareas en El fondo.
Traté de arreglar esto --scale
, pero mi primer intento desordenó las cosas lo suficiente como para tener que reiniciar para recuperar una pantalla que funcionara.
¿Hay alguna manera de hacer que ambas pantallas muestren el mismo contenido, pero con cada una utilizando su propia resolución preferida?
¿O, al menos, una forma de configurar la pantalla del portátil de modo que todavía se pueda acceder a todo el escritorio cuando la pantalla HDMI está en uso?
Como estoy depurando el script, aún no se ha limpiado. Es posible que quiera hacerlo más tarde.
Mi guion
#!/bin/bash
## hdmi_set
## Copyleft 11/13/2013 JPmicrosystems
## Adapted from
## /unix/4489/a-tool-for-automatically-applying-randr-configuration-when-external-display-is-p
## Answer by peoro
# setting up new mode for my VGA
##xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1089 1095 1125 +hsync +vsync
##xrandr --addmode VGA1 1920x1080
##source $HOME/bin/bash_trace
# default monitor is LVDS1
MONITOR=LVDS1
# functions to switch from LVDS1 to HDMI and vice versa
function ActivateHDMI {
echo "Switching to HDMI"
##xrandr --output HDMI1 --mode 1920x1080 --dpi 160 --output LVDS1 --off
##xrandr --output HDMI1 --same-as LVDS1
xrandr --output HDMI1 --mode 1920x1080
xrandr --output LVDS1 --mode 1366x768
MONITOR=HDMI1
}
function DeactivateHDMI {
echo "Switching to LVDS1"
xrandr --output HDMI1 --off --output LVDS1 --auto
MONITOR=LVDS1
}
# functions to check if VGA is connected and in use
function HDMIActive {
[ $MONITOR = "HDMI1" ]
}
function HDMIConnected {
! xrandr | grep "^HDMI1" | grep disconnected
}
## MONITOR doesn't do anything because it's not preserved between script executions
# actual script
##while true
##do
if HDMIConnected
then
ActivateHDMI
fi
if ! HDMIConnected
then
DeactivateHDMI
fi
##sleep 1s
##done
Salida de xrandr
Esto es lo que ve xrandr:
bigbird@ramdass:~$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected (normal left inverted right x axis y axis)
1920x1080 60.0 +
1680x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x720 60.0
1024x768 60.0
800x600 60.3
720x480 59.9
640x480 60.0
720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)