Mostrando entradas con la etiqueta monitor. Mostrar todas las entradas
Mostrando entradas con la etiqueta monitor. Mostrar todas las entradas

viernes, 6 de junio de 2008

Xinerama, xrand, gtf, y alguna otra cosilla del mundillo de las X.Org

Buscando info para configurar correctamente un segundo monitor conectado al portátil, he dado con unos cuantos comandos que me han sido de gran utilidad.
Hay que decir que antes de tocar nada, Debian detectaba correctamente cuando conectabas un segundo monitor LCD y clonaba la imagen. Mi objetivo era utilizar los 2 monitores en modo xinerama.


  • Configuración de xinerama


  • Como las opciones creo que son bastante autoexplicativas, paso a indicar las modificaciones que he tenido que hacer en el archivo xorg.conf.

    Añadir en la sección "device":

    Option "monitor-VGA" "VGA"
    Option "monitor-LVDS" "LVDS"


    Sustituir la sección "Monitor" por una independiente por cada monitor:

    La versión original:

    Section "Monitor"
    Identifier "Monitor genrico"
    Option "DPMS"
    EndSection


    Ha quedado así:

    Section "Monitor"
    Identifier "VGA"
    Option "PreferredMode" "1280x1024"
    Option "Position" "0 0"
    EndSection

    Section "Monitor"
    Identifier "LVDS"
    Option "DPMS"
    Option "LeftOf" "VGA"
    Option "Enable" "true"
    EndSection


    Respecto a la sección "Screen":

    La versión original:

    Section "Screen"
    Identifier "Default Screen"
    Device "Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    Monitor "Monitor genrico"
    DefaultDepth 24
    SubSection "Display"
    Modes "1680x1050" "1440x900" "1400x1050"
    EndSubSection
    EndSection


    Ha quedado así:

    Section "Screen"
    Identifier "Default Screen"
    Device "Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    Monitor "LVDS"
    DefaultDepth 24
    SubSection "Display"
    #Modes "1680x1050" "1440x900" "1400x1050" "1280x800"
    Modes "1280x800" "1280x768" "1024x768" "800x600" "640x480"
    Virtual 2624 1200
    EndSubSection
    EndSection

    Section "Screen"
    Identifier "Second Screen"
    Device "Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    Monitor "LVDS"
    DefaultDepth 24
    SubSection "Display"
    Modes "1680x1050" "1440x900" "1400x1050" "1280x1024"
    Virtual 2624 1200
    EndSubSection
    EndSection


    Y por último, en la sección "ServerFlags" hay que añadir:

    Option "Xinerama" "enable"


    En mi caso no tenía dicha sección, así que he añadido algo tal que así:

    Section "ServerFlags"
    Option "Xinerama" "enable"
    EndSection


    La única opción que parece poco intuitiva es "Virtual". Esta es la resolución máxima que vamos a darle al entorno de ambos escritorios. [1]


  • Comando Xrandr


  • Obviamente, el tema de las resoluciones es cosa de cada uno. Ahí es donde entra el comando xrand. Dicho comando sirve para modificar dinámicamente la resolución, orientación etc. de los monitores. Muy útil para realizar las pruebas sin el incordio de estar reiniciando las X.

    Además a mí me han ido de coña los valores de autodetección que devuelve:

    xrandr -q
    Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2624 x 1200
    VGA connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 376mm x 301mm
    1280x1024 60.0*+ 74.9 75.0 59.9
    1024x768 75.1 70.1 60.0
    832x624 74.6
    800x600 72.2 75.0 60.3 56.2
    640x480 75.0 72.8 66.7 60.0
    720x400 70.1
    LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
    1280x800 60.0*+ 60.0
    1280x768 60.0
    1024x768 60.0
    800x600 60.3
    640x480 59.9
    TV disconnected (normal left inverted right x axis y axis)


    Con esto conseguimos, por un lado saber si las X están detectando correctamente los dispositivos que tenemos conectados, y por otro cuales son las resoluciones que soportan.

    Varios ejemplos de las pruebas que podemos realizar con xrandr:
    Deshabilitar el monitor externo:

    xrandr --output VGA --off


    Clonar ambas imágenes:

    xrandr --output LVDS --auto --output VGA --auto --same-as LVDS


    Poner el monitor externo a la derecha de la pantalla del portátil:

    xrandr --output LVDS --auto --left-of VGA



  • Comando gtf


  • Por último, si tienes algún dispositivo rarito - o conectado a través de algún dispositivo que impide su correcta autodetección, podemos usar el comando gtf

    Por ejemplo, la resolución que necesito para el proye es 1280x720 a 60 Hz.

    1º Ejecutamos

    gtf 1280 720 60

    # 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
    Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync


    2º Pegamos el resultado que nos ha devuelto en la sección "Monitor" del monitor que nos interesa, obviamente. Con esto, hemos creado una resolución llamada "1280x720_60.00"

    3º Especificamos dicha resolución en los "modes" que nos interesen.


    Como siempre, aconsejo tirar de las páginas MAN de xrandr , gtf, xorg y xorg.conf para aprovechar sus posibilidades.


    Mis archivos xorg.conf:

    xorg.conf.Single_Monitor
    xorg.conf.Dual_Monitor

    Importante, el cacharro tiene una gráfica INTEL, así que ojito con los copypaste a ciegas xD. Concretamente tengo una

    lspci |grep Display
    00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)


    [1]Casi toda la info ha sido sacada (que no fusilada ^_~) de http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

    domingo, 25 de mayo de 2008

    Usando synergy con un solo monitor

    Ahora que tengo un portatil nuevo y lo tengo enganchado casi todo el tiempo al cacho de monitor que me compre es engorroso tener 2 teclados encima de la mesa.

    Lo cierto es que he estado asi 2 semanas pero por fin encontre la solucion usando synergy.

    Describire primero mi caso para que los que ya useis synergy no os riais de mi porque os resulte demasiado tribial.

    Dos ordenadores conectados a un mismo monitor (si, tiene 4 entradas mi monitor :P) y quiero que los dos ordenadores usen el mismo teclado y raton. Ademas quiero manejar todo con el teclado y el raton es decir cambiame a este ordenador, o cambiame al otro...

    section: screens
    servername:
    clientname:
    end

    section: links
    end

    section: aliases
    end

    section: options
    keystroke(alt+left) = switchToScreen(clientname)
    keystroke(alt+right) = switchToScreen(servername)
    end


    Desde el servidor (el que tiene el teclado) :
    synergys -f -c /etc/synergy.cfg

    Desde el cliente
    synergyc servername

    Los monitores con varias entradas, normalmente, buscan la entrada que les da "chicha"... Buscando por inete vi esto para poner en stand-by el monitor desde consola
    xset dpms force off

    si asignamos unas teclas para la ejecucion de esta linea (desde gnome se hace con gconf-editor : apps / metacity / keybinding_commands), ya tenemos como cambiar de monitor....

    Yo me asigne Alt + F12 para apagar el monitor (en los dos, client y server) y luego con Alt <- voy a una maquina u otra con Alt ->.

    Las cosas como son, no es perfecto, pero a corto plazo es lo mejor que he podido hacer y por ahora rula...

    De free nos llevamos que synergy, por defecto, comparte el porta-papeles.

    Enlaces : http://synergy2.sourceforge.net/
    http://mundogeek.net/archivos/2004/07/01/apagar-el-monitor-en-linux-va-la-lnea-de-comandos/

    Seguidores