Mi compañero bloguero me preguntaba esta mañana de sábado cómo consigo lanzar scripts que hagan cosas en Gecos. La verdad es que tenía que haberlo publicado hace tiempo. Ahora toca.
Como casi todo en las distros Linux, se puede hacer de muy diversas maneras. Éste es mi camino:
En primer lugar hay que distinguir perfectamente entre lo que vamos a hacer en el inicio de la máquina y lo que vamos a hacer en el espacio de usuario. Cosas como editar ficheros de configuración de servicios quedarán en el script de inicio de máquina (/usr/local/bin/iniciomaquina.sh) y se ejecutan como root. Cosas como aplicar un tema o lanzar un navegador de archivos al inicio de la sesión quedarán lógicamente en el inicio de sesión de usuario (/usr/local/bin/iniciousuario.sh) y se ejecutan con los permisos del usuario activo.
Ahora vamos con las cosas que ejecutamos al iniciar la máquina. En primer lugar tenemos que colocar una política de "Archivos locales" para que el archivo se nos descargue a los Gecos de nuestra red como ésta:
Y para su ejecución nada más fácil que aplicar otra política. Ésta:
Ya lo tenemos configurado para nuestras cositas de inicio de máquina. El tema de los permisos quizá se pueda afinar más. Acepto sugerencias.
Ahora vamos con los comandos de ejecución en el espacio de usuario, cuando se inicia sesión.
Primero colocamos el archivo con el contenido que vamos a ejecutar mediante una política de "archivos locales". Hay que dar permisos de ejecución a "otros" para que funcione.
Ahora el problema es que no existe una política del Gecos-CC para lanzar scripts en el inicio de sesión de usuario, por lo que tenemos que buscarnos la manera de hacerlo por nosotros mismos. Yo lo hago mediante el iniciador de scripts de Cinnamon, que básicamente consiste en poner un archivo .desktop en la ubicación /etc/xdg/autostart/iniciarusuario.sh.desktop. El formato del archivo es el siguiente:
[Desktop Entry]
#Lanzador de operaciones en el espacio de usuario
Type=Application
Exec=/usr/local/bin/ iniciousuario.sh <-- Cuidado con la ruta y el nombre. Tienen que estar perfectos.
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
#Terminal=true
Name[es_ES]=
Name=InicioUsuarioGecos
Comment[es_ES]=Lanzador de operaciones Gecos en Usuario
Comment=
X-GNOME-Autostart-Delay=10 <-- Le introduzco un retraso de 10 segundos por si acaso
Categories=System;Settings;
#Lanzador de operaciones en el espacio de usuario
Type=Application
Exec=/usr/local/bin/
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
#Terminal=true
Name[es_ES]=
Name=InicioUsuarioGecos
Comment[es_ES]=Lanzador de operaciones Gecos en Usuario
Comment=
X-GNOME-Autostart-Delay=10 <-- Le introduzco un retraso de 10 segundos por si acaso
Categories=System;Settings;
Un último aviso. Para que todo esto funcione necesitaremos un par de reinicios de máquina y sesión. En el primero se "bajan" los ficheros, y en el segundo ya se ejecutan. También podemos forzar la descarga mediante el comando "sudo gecos-chef-client-wrapper" o dándole a actualizar al engranaje que nos aparece junto al reloj.
Comentarios
Publicar un comentario