Cómo ver y administrar todos los programas que se ejecutan al iniciar una sesión de Ubuntu 14.04 LTS

Hace unos días, en el artículo Ejecutar automáticamente Transmission al iniciar sesión en Ubuntu, aprendimos cómo hacer que un programa se inicie, sin nuestra intervención, cada vez en usemos el ordenador. En esa ocasión, utilizamos como excusa el programa Transmission, pero podemos utilizar el mismo procedimiento para cualquier otro programa que tengamos instalado.

Sin embargo, intentando protegernos de nosotros mismos, Canonical ha impedido que los programas del sistema que también se ejecutan durante el inicio, estén visibles para los usuarios dentro de la herramienta Aplicaciones al inicio. De esta forma, impiden que los usuarios inexpertos deshabiliten herramientas del sistema que pueden resultarle imprescindibles para funcionar de forma correcta.

Antes de nada, hay que decir que esta herramienta utiliza el directorio /etc/xdg/autostart/ para definir las aplicaciones que deben ejecutarse durante el inicio.

1

Aquí vemos el contenido de la carpeta /etc/xdg/autostart/.

Por ejemplo, el archivo indicator-bluetooth.desktop contiene la información de inicio del programa que nos muestra el indicador Bluetooth del sistema (llamado indicator-bluetooth-service).

[Desktop Entry]
Type=Application
Name=Indicator Bluetooth
Exec=/usr/lib/x86_64-linux-gnu/indicator-bluetooth/indicator-bluetooth-service
NoDisplay=true
StartupNotify=false
Terminal=false
X-Ubuntu-Gettext-Domain=indicator-bluetooth

2

Contenido del archivo indicator-bluetooth.desktop visto con el editor gEdit.

Como podemos ver en el contenido del archivo, existe una variable llamada NoDisplay. Pues bien, cuando esta variable tiene el valor true, el servicio no aparecerá en la herramienta Aplicaciones al inicio.

Para conseguir que aparezca, lo único que tenemos que hacer es cambiar su valor por false (en realidad, basta con comentar la línea). Sin embargo, si queremos que aparezcan todos los servicios, tendríamos que editarlos uno por uno. A modo de ejemplo, en el momento de escribir estas líneas, mi servidor tiene 32 archivos en el directorio /etc/xdg/autostart/.

Para solventar el problema de una forma mas sencilla, podemos recurrir al comando sed (stream editor). Se trata de un editor de textos bastante especial que acepta como entrada un archivo y lo modifica línea a línea según el parámetro recibido. Sin entrar en mucho detalle, el siguiente comando pone un carácter de comentario delante de la palabra NoDisplay en todos los archivos que terminen en *.desktop:

sudo sed --in-place 's/NoDisplay/#NoDisplay/g' *.desktop

3

Ejecutamos el comando sed dentro del directorio /etc/xdg/autostart/.

Si ahora consultamos de nuevo el contenido del archivo indicator-bluetooth.desktop comprobaremos que la línea ha cambiado satisfactoriamente.

4

La variable NoDisplay aparece precedida por un carácter de comentario.

Cuando abramos de nuevo la herramienta Aplicaciones al inicio, comprobaremos que ahora aparecen todas las aplicaciones que el sistema ejecuta durante su arranque.

5

La herramienta Aplicaciones al inicio mostrando todos los servicios y aplicaciones.

Para deshabilitar cualquiera de ellas, bastará con desmarcar la casilla de verificación que hay a su izquierda. Ten en cuenta que puede haber elementos en esta lista que no utilices nunca, como las notificaciones de Bluetooth que hemos mencionado más arriba (si no tienes dispositivos Bluetooth, claro) y no tiene mucho sentido mantenerlo en ejecución de forma indefinida en el servidor.

Si deshabilitamos las aplicaciones innecesarias, el sistema arrancará más rápido, funcionará más desahogado y será más seguro.

Para deshacer los cambios y volver a ocultar los programas en la herramienta Aplicaciones al inicio, bastará con quitar el comentario que hemos puesto antes. Por ejemplo, usando el siguiente comando:

sudo sed --in-place 's/#NoDisplay/NoDisplay/g' *.desktop

El directorio /etc/xdg/autostart contiene aplicaciones que se inician para todos los usuarios del equipo. Si queremos que una aplicación se inicie sólo para un usuario en particular, deberemos ubicar el lanzador (el archivo con extensión .desktop) en el directorio ~/.config/autostart. (recuerda que el carácter '~' hace referencia a /home/usuario, donde usuario es el nombre de la cuenta de cada usuario del equipo).

Como cabe esperar, los usuarios que no sean administradores sólo podrán actuar sobre sus propios lanzadores (los que se encuentran en su carpeta home).

Bueno, pues esto es todo por hoy. Espero que re resulte útil.