Ir al contenido principal

Ejecutando cosas al inicio de la máquina y del usuario

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;

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

Entradas populares de este blog

El error SAF_19 en Autofirma y Firefox (cuando sí tienes certificados válidos instalados)

(Actualización: instalar la firma en todos los perfiles que el sistema haya creado automáticamente también puede ser una solución viable. Para ello arrancamos Firefox desde la línea de comandos con firefox -p y seleccionamos primero un perfil, instalamos el certificado, volvemos a arrancar Firefox con el otro perfil y lo instalamos ahí. Hay que tener cuidado con terminar marcando como predeterminado nuestro perfil real.) En ocasiones y sobre todo si hemos estado trasteando con el sistema nos puede suceder que al intentar acceder a Portafirmas (o cualquier otro servicio que use Autofirma) el sistema nos devuelve un error extraño conocido como error SAF_19, en el que se nos dice que no hay ningún certificado válido en el almacén. Tras ir al almacén de certificados de Firefox comprobamos que todo está bien, que el certtificado con nuestro nombre y apellidos está correctamente instalado y que no hemos dado un salto en el tiempo que haga que las fechas de validez del certificado produzcan...

Sirhus en Gecos, ahora que lo tengo calentito (OBSOLETO)

NOTA: Ahora SIRHUS está certificado y se recomienda con Java 1.8.  Instalar Sirhus en Windows puede convertirse en algo dificultoso. Instalarlo sin romper nada es, sin lugar a dudas, digno de admiración. Hacerlo además en Gecos es cosa de elegidos por el Dios del Pingüino, pero hacerlo sin romper nada (como podría ser Portafirmas, que también depende de Java) es tarea de titanes. Subamos al Olimpo pues. Podríamos degradar al pobre de Firefox a una versión anterior a la 52, con soporte para Java, pero sería una pena y el panda rojo no se merece esa tortura. Como lanzador vamos a usar Epiphany, ese navegador de Gnome que algunos usamos alguna vez en el pasado (ejem) y que todavía dispone de soporte para el plugin de Java. Así que tenemos que instalarlo con sudo apt install epiphany-browser Después vamos a descargar la máquina Java desde la web de Oracle. La versión que voy a instalar es la jre1.6.0_43 de 64 bits. Activamos el bit de ejecución a la descarga de Java ...

Sirhus en Gecos, pero con java 1.8

Desde hace no mucho podemos tener Sirhus funcionando con Java 1.8.  Vamos a instalar Java 8 y ponerlo por defecto en nuestra máquina. Para ello ejecutaremos sudo apt install oracle-java8-jre oracle-java8-plugin Una vez lo tengamos instalado para fijar Java 8 ejecutamos  sudo update-alternatives --config javaws Y seleccionamos la versión 1.8 de entre todas las que nos aparezcan como valor por omisión. Y lo mismo para el plugin de Mozilla (que lanzaremos mediante Epiphany, ese "Internet Explorer" de Gecos). sudo update-alternatives --config mozilla-javaplugin.so Luego lanzaremos el ControlPanel para limpiar la caché de applets y ya podemos lanzar Sirhus.