Lihuen
RSSRSS AtomAtom

Diferencia entre revisiones de «Multiterminales con Xorg»

Línea 1: Línea 1:
 +
=Objetivos=
 +
Obtener
 +
 
Nota: No usar el driver VESA en ningún dispositivo
 
Nota: No usar el driver VESA en ningún dispositivo
 +
 +
 +
==Configuración de Xorg==
 
*Ejemplo de xorg.conf:
 
*Ejemplo de xorg.conf:
 
  <nowiki>
 
  <nowiki>
 
Section "Files"
 
Section "Files"
 
# RgbPath is the location of the RGB database.  Note, this is the name of the
 
# file minus the extension (like ".txt" or ".db").  There is normally
 
# no need to change the default.
 
# Multiple FontPath entries are allowed (they are concatenated together)
 
# By default, Red Hat 6.0 and later now use a font server independent of
 
# the X server to render fonts.
 
 
#      FontPath    "unix/:7100"
 
#      FontPath    "unix/:7100"
 
     RgbPath        "/usr/X11R6/lib/X11/rgb"
 
     RgbPath        "/usr/X11R6/lib/X11/rgb"
Línea 89: Línea 88:
 
       Screen       "Screen1" RightOf "Screen0"
 
       Screen       "Screen1" RightOf "Screen0"
 
       Screen       "Screen2" RightOf "Screen1"
 
       Screen       "Screen2" RightOf "Screen1"
       [...]
+
       ...
 
       InputDevice    "Keyboard0" "SendCoreEvents"
 
       InputDevice    "Keyboard0" "SendCoreEvents"
 
       InputDevice    "Mouse0" "SendCoreEvents"
 
       InputDevice    "Mouse0" "SendCoreEvents"
Línea 100: Línea 99:
 
  </nowiki>
 
  </nowiki>
  
 +
==Inicializando las placas de vídeo==
 
Precisaremos una copia de esta configuración para inicializar las placas de vídeo. Copiamos la configuración realizada a /etc/xorg.conf.probe, borrando todos los ServerLayout excepto el que usa Xinerama y enumera a todos los Devices, además modificamos para cada Device la opción "NoInt10" a "No" como se muestra a continuación.
 
Precisaremos una copia de esta configuración para inicializar las placas de vídeo. Copiamos la configuración realizada a /etc/xorg.conf.probe, borrando todos los ServerLayout excepto el que usa Xinerama y enumera a todos los Devices, además modificamos para cada Device la opción "NoInt10" a "No" como se muestra a continuación.
 
  <nowiki>
 
  <nowiki>
Línea 112: Línea 112:
 
  </nowiki>
 
  </nowiki>
  
Para inicializar todos los Devices cada vez que el equipo arranca debemos escribir un script en /etc/xorg-multiterminal
+
Para inicializar todos los Devices cada vez que el equipo arranca debemos escribir un script en /etc/init.d/xorg-multiterminal
  <nowiki>
+
  #!/bin/bash
#!/bin/bash
+
file=/etc/X11/xorg.conf.probe
file=/etc/X11/xorg.conf.probe
+
echo Configurando Xorg para MultiHead
echo Configurando Xorg para MultiHead
+
/usr/X11R6/bin/X -config "$file" -probeonly 2>/dev/null
/usr/X11R6/bin/X -config "$file" -probeonly 2>/dev/null
+
 
</nowiki>
+
 
le cambiamos los permisos con
 
le cambiamos los permisos con
 
  chmod 755 /etc/init.d/xorg-multiterminal
 
  chmod 755 /etc/init.d/xorg-multiterminal
 
y agregamos los links en el runlevel correspondiente con
 
y agregamos los links en el runlevel correspondiente con
 
  update-rc.d xorg-multiterminal start 70 S
 
  update-rc.d xorg-multiterminal start 70 S
 +
 +
==Configurando GDM==
 +
Para que GDM utilice todos los display por defecto tenemos que agregar las siguientes lineas en el archivo /etc/gdm/gdm.conf reemplazando el argumento de isolateDevice por el "BusId" de cada dispositivo
 +
### Configuración del Servidor ###
 +
[servers]
 +
0=Server0
 +
1=Server1
 +
...
 +
 +
### Configuración por terminal ###
 +
[server-Server0]
 +
name=Server 0
 +
command=/usr/X11R6/bin/X -novtswitch -sharevts -isolateDevice PCI:x:y:z -layout Layout0
 +
flexible=true
 +
 +
[server-Server1]
 +
name=Server 1
 +
command=/usr/X11R6/bin/X -novtswitch -sharevts -isolateDevice PCI:p:q:t -layout Layout1
 +
flexible=true
 +
...

Revisión de 21:51 20 nov 2007

Objetivos

Obtener

Nota: No usar el driver VESA en ningún dispositivo


Configuración de Xorg

  • Ejemplo de xorg.conf:
Section "Files"
#       FontPath     "unix/:7100"
    RgbPath         "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
	Load	"bitmap"
	Load	"ddc"
#	Load	"dri"
	Load	"extmod"
	Load	"freetype"
#	Load	"glx"
	Load	"int10"
	Load	"vbe"
EndSection

# --- Desde aquí hay que repetir estas secciones tantas veces como terminales querramos ---
# --- cambiando los identificadores y las características del hardware según sea necesario ---
# Teclados
Section "InputDevice"
	Identifier	"Keyboard0"
	Driver		"evdev"
	Option		"Device"	"/dev/input/event0" # Cambiar event0 por lo que corresponda
	Option		"XkbModel"	"evdev"
	Option		"CoreKeyboard"
	Option		"XkbRules"	"xorg"
	Option		"XkbLayout"	"es"
EndSection

Section "InputDevice"
	Identifier	"Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/input/mouse0" # Cambiar mouse0 por lo que corresponda
	Option		"Protocol"		"imPS/2"
	Option		"Buttons"		"5"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "Device"
	Identifier  "Tarjeta0"
	Driver      "ati"
	BusID       "PCI:1:0:0"
	Option      "NoInt10"       "Yes" # Anulamos la inicialización de la placa por BIOS
	Option      "DDCMode" "True"
	Option      "MonitorLayout" "CRT, CRT"
EndSection

Section "Monitor"
	Identifier	"Monitor0"
	Option		"DPMS"
	HorizSync	30-70
	VertRefresh	50-160
EndSection

Section "Screen"
	Identifier  "Screen0"
	Device      "Tarjeta0"
	Monitor     "Monitor0"
	DefaultDepth	24
		Depth   24
		Modes		"1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier	"Layout0"
	Screen	  	"Screen0"
	InputDevice	"Keyboard0"
	InputDevice	"Mouse0"
EndSection

# --- De aquí en más lo que sigue no hay que repetirlo ---

# Este layout puede ser utilizado para probar las placas usando Xinerama
Section "ServerLayout"
      Identifier      "Layout2"
      Screen          "Screen0" 0 0
      Screen		      "Screen1" RightOf "Screen0"
      Screen		      "Screen2" RightOf "Screen1"
      ...
      InputDevice     "Keyboard0" "SendCoreEvents"
      InputDevice     "Mouse0" "SendCoreEvents"
      Option          "Xinerama" "on"
EndSection

Section "DRI"
	Mode	0666
EndSection
 

Inicializando las placas de vídeo

Precisaremos una copia de esta configuración para inicializar las placas de vídeo. Copiamos la configuración realizada a /etc/xorg.conf.probe, borrando todos los ServerLayout excepto el que usa Xinerama y enumera a todos los Devices, además modificamos para cada Device la opción "NoInt10" a "No" como se muestra a continuación.

Section "Device"
	Identifier  "Tarjeta0"
	Driver      "ati"
	BusID       "PCI:1:0:0"
	Option      "NoInt10"       "No" # Habilitamos la inicialización de la placa por BIOS
	Option      "DDCMode" "True"
	Option      "MonitorLayout" "CRT, CRT"
EndSection
 

Para inicializar todos los Devices cada vez que el equipo arranca debemos escribir un script en /etc/init.d/xorg-multiterminal

#!/bin/bash
file=/etc/X11/xorg.conf.probe
echo Configurando Xorg para MultiHead
/usr/X11R6/bin/X -config "$file" -probeonly 2>/dev/null

le cambiamos los permisos con

chmod 755 /etc/init.d/xorg-multiterminal

y agregamos los links en el runlevel correspondiente con

update-rc.d xorg-multiterminal start 70 S

Configurando GDM

Para que GDM utilice todos los display por defecto tenemos que agregar las siguientes lineas en el archivo /etc/gdm/gdm.conf reemplazando el argumento de isolateDevice por el "BusId" de cada dispositivo

### Configuración del Servidor ###
[servers]
0=Server0
1=Server1
...

### Configuración por terminal ###
[server-Server0]
name=Server 0
command=/usr/X11R6/bin/X -novtswitch -sharevts -isolateDevice PCI:x:y:z -layout Layout0
flexible=true
[server-Server1]
name=Server 1
command=/usr/X11R6/bin/X -novtswitch -sharevts -isolateDevice PCI:p:q:t -layout Layout1
flexible=true
...