lunes, 22 de mayo de 2017

Ejecutar un script justo cuando termina de arrancar el sistema


Cada vez que arranco Elementary OS me muestra el icono de Dropbox mal, y tengo que lanzar un script para que ponga bien el icono de Dropbox.

Pues bien, en lugar de lanzar este script manualmente, sabiendo ya cuál es el problema, veamos cómo automatizar esta tarea, de modo que, cada vez que arranque el equipo, lance mi script para que Dropbox muestre bien su icono en Elementary OS.


Este es el script que ejecuto para resolver el problema con Dropbox:

#!/bin/bash

dropbox stop &>/dev/null
killall dropbox 
dropbox stop &>/dev/null
DROPBOX_USE_LIBAPPINDICATOR=1 XDG_CURRENT_DESKTOP=Unity QT_STYLE_OVERRIDE='' \
    dropbox start -i 
Aspecto de mi script ~/scripts/dropbox-elementary.sh


Lo que tenemos que hacer es agregar al archivo /etc/rc.local una llamada al script que queremos ejecutar.

Yo he metido entre líneas de comentarios cada script que quiero lanzar, y además, anoto en el fichero ~/scrpipts/log.txt la fecha y la hora en la que se ejecutó. Así puedo comprobar que todo ha ido bien.


Aspecto de rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

########################################################################
### MOI: 20 Mayo 2017
### El icono de dropbox se carga mal
### con este script hacemos que se reinicie dropbox y que cargue bien
echo '--- executing dropbox-elementary (rc.local)...' >> /home/moises/scripts/log.txt
echo `date` >> /home/moises/scripts/log.txt
sh /home/moises/scripts/dropbox-elementary.sh
echo '/// executing dropbox-elementary (rc.local)...' >> /home/moises/scripts/log.txt

########################################################################
### MOI: 20 Mayo 2017
### el docker plank a veces se carga mal y no muestra la papelera
### si reiniciamos plank se carga bien
echo '--- executing killall plank (rc.local)...' >> /home/moises/scripts/log.txt
echo `date` >> /home/moises/scripts/log.txt
killall plank
echo '/// executing killall plank (rc.local)...' >> /home/moises/scripts/log.txt

########################################################################
exit 0


Icono de Dropbox en Elementary OS Loki 0.4.1



Fuentes: