miércoles, 15 de abril de 2015

Cambiar sesión de inicio de gdm. Update-alternatives en Debian

En el artículo de Esteban Navas sobre update-alternatives en Debian, nos enseñaba las principales opciones de update-alternatives.
En este caso yo me quiero asegurar que por defecto todos los usuarios comiencen su sesión en gnome, a menos que ellos de forma intencionada elijan iniciar en otra sesión.
Si queremos ver qué alternativa está configurada por defecto lo podemos hacer con la opción --display :

root@servidorweb:/# update-alternatives --display x-session-manager
x-session-manager - modo manual
 el enlace apunta actualmente a /usr/bin/gnome-session
/usr/bin/gnome-session - prioridad 50
 esclavo x-session-manager.1.gz: /usr/share/man/man1/gnome-session.1.gz
/usr/bin/gnome-session-fallback - prioridad 100
 esclavo x-session-manager.1.gz: /usr/share/man/man1/gnome-session.1.gz
/usr/bin/startxfce4 - prioridad 50
 esclavo x-session-manager.1.gz: /usr/share/man/man1/startxfce4.1.gz
/usr/bin/xfce4-session - prioridad 40
 esclavo x-session-manager.1.gz: /usr/share/man/man1/xfce4-session.1.gz
Actualmente la «mejor» versión es `/usr/bin/gnome-session-fallback'.



Esto se hace con el siguiente comando: update-alternatives --config x-session-manager , que nos da como salida las diferentes opciones que hay y con un asterisco muestra cual es la predeterminada.
root@servidorweb:/# update-alternatives --config x-session-manager
Existen 4 opcioens para la alternativa x-session-manager (que provee /usr/bin/x-session-manager).

  Selección   Ruta                             Prioridad  Estado
------------------------------------------------------------
  0            /usr/bin/gnome-session-fallback   100       modo automático
  1            /usr/bin/gnome-session            50        modo manual
  2            /usr/bin/gnome-session-fallback   100       modo manual
  3            /usr/bin/startxfce4               50        modo manual
* 4            /usr/bin/xfce4-session            40        modo manual

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:

Por defecto está el entorno XFCE, si queremos pasarla a gnome pulsaríamos 1 y le damos a enter.

El problema es que esta forma es interactiva, y por ello no podríamos meterlo en ningún script o en tarea puppet.
Esto lo podemos solucionar con la opción --set, que nos pone un valor determinado.
Así si ejecutamos:
update-alternatives --set x-session-manager /usr/bin/gnome-session
update-alternatives: utilizando /usr/bin/gnome-session para proveer /usr/bin/x-session-manager (x-session-manager) en modo manual
nos cambiaría la opción por defecto.