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

Publicado por P. Ruiz en

Ya hemos publicado un artículo, titulado Ejecutar un programa automáticamente al iniciar sesión en Ubuntu 20.04 LTS, en el que 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 su funcionamiento correcto.

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.

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

Como-ver-y-administrar-todos-los-programas-que-se-ejecutan-al-iniciar-una-sesion-de-Ubuntu-20-04-LTS-001

Por ejemplo, el archivo pulseaudio.desktop contiene la información de inicio del script start-pulseaudio-x11, encargado de iniciar pulseaudio, el servidor de sonido que utiliza GNOME. Su contenido será como este (aunque yo he suprimido la líneas que dan soporte a diferentes idiomas para facilitar su comprensión):

[Desktop Entry]
Version=1.0
Name=PulseAudio Sound System
Comment=Start the PulseAudio Sound System
Exec=start-pulseaudio-x11
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Initialization
X-KDE-autostart-phase=1
NoDisplay=true

Contenido del archivo pulseaudio.desktop visto con el editor gEdit.

Como-ver-y-administrar-todos-los-programas-que-se-ejecutan-al-iniciar-una-sesion-de-Ubuntu-20-04-LTS-002

Como puedes ver en la imagen y comentábamos más arriba, la mayor parte del archivo ofrece soporte para adaptar el nombre del programa y su comentario en diferentes idiomas. Debajo, encontramos una variable llamada NoDisplay. 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 38 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

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

Como-ver-y-administrar-todos-los-programas-que-se-ejecutan-al-iniciar-una-sesion-de-Ubuntu-20-04-LTS-003

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

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

Como-ver-y-administrar-todos-los-programas-que-se-ejecutan-al-iniciar-una-sesion-de-Ubuntu-20-04-LTS-004

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

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

Como-ver-y-administrar-todos-los-programas-que-se-ejecutan-al-iniciar-una-sesion-de-Ubuntu-20-04-LTS-005

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, cuando no pienses utilizar dispositivos de este tipo) y no tiene mucho sentido mantenerlo en ejecución de forma indefinida.

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 el momento. Espero que te resulte útil.