Habilitar diversos terminals gràfics locals

febrer 9, 2009

Tant si usem xdm, com kdm o gdm, la configuració per defecte a Debian (i suposo que a la majoria de distribucions GNU/Linux) fa que només tinguem un escriptori gràfic disponible (normalment al terminal vt7). Com podem fer-ho per tenir-ne més d’un?

Si fem servir kdm (K Display Manager)

Les versions actuals de kdm ja no usen un fitxer anomenat Xservers (antigament situat al directori de configuració del kdm) per a controlar quins servidors locals cal engegar. Aquesta configuració, molt més senzilla, pot fer-se des del propi fitxer kdmrc (normalment a /etc/kde3/kdm/kdmrc)

[General]
ConfigVersion=2.3
ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6
PidFile=/var/run/kdm.pid
ReserveServers=:1,:2,:3
ServerVTs=-7
StaticServers=:0

Les tres últimes línies són les que ens interessen. StaticServers és la que indica quants (i quins) servidors gràfics s’engegaran per defecte. ServerVTs indica en quins terminals s’engegaran aquests servidors (el guió “-” evita que s’utilitzi vt7 si ja està ocupat. En aquest cas s’utilitzaria el primer que estigués lliure). Finalment ReserveServers indica quins terminals gràfics estan a la reserva o, el que és el mateix, quins podem engegar posteriorment (però que no s’engegaran de forma automàtica). Així doncs, si per defecte volem dos servidors gràfics als terminals vt7 i vt8 modificarem el fitxer així:

[General]
ConfigVersion=2.3
ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6
PidFile=/var/run/kdm.pid
ReserveServers=:2,:3
ServerVTs=-7,-8
StaticServers=:0,:1

Si fem servir gdm (GNOME Display Manager)

Encara és més fàcil. Només cal editar /etc/gdm/gdm.conf i modificar la secció [servers]:

[servers]
0=Standard vt7
1=Standard vt8

Amb això, haurem definit dos servidors gràfics als terminals vt7 i vt8.

Si fem servir xdm (X Display Manager)

xdm sí que utilitza el fitxers Xservers, com les versions velles de kdm i gdm, per tant, si volem iniciar dos servidors gràfics a vt7 i vt8 caldrà que editem /etc/X11/xdm/Xservers i el configurem així:

:0 local /usr/bin/X :0 vt7 -nolisten tcp
:1 local /usr/bin/X :1 vt8 -nolisten tcp

Anuncis

Usar el servidor X d’un altre usuari

febrer 8, 2009

Per defecte Debian no permet que l’usuari root iniciï una sessió gràfica, però de tant en tant ens pot interessar executar algun programa que utilitzi finestres des d’un terminal de root a l’entorn gràfic.

llengot:~# kcalc
kcalc: cannot connect to X server

Això ho podem arreglar donant permís a l’usuari root perquè utilitzi el servidor X de l’usuari que ha iniciat la sessió. L’usuari haurà d’executar:

xhost +local:

I d’aquesta manera s’indica que els usuaris locals tenen permís per usar aquest servidor X. Després, root haurà d’instanciar la seva variable DISPLAY fent:

export DISPLAY=:0.0

I immediatament ja podrà llançar comandes que obrin programes gràfics des de la consola (només durant la sessió actual, és clar).