Toute la journée, je suis confronté à un problème de script de démarrage.
Ce que je recherche, c’est un moyen d’exécuter un seul script à partir de boot/before login qui configurera ma machine et exécuter des services appropriés. (Un seul script pour tous les utilisateurs serait cool - maintenance facile)
script simple "/machineSetup.sh"
#LC_NUMERIC - Specifies the decimal delimiter
export LC_NUMERIC="en_US.UTF-8"
#-------------------------------------------------------------------
#add custom aliases path
export PATH=$PATH:/home/user/aliases
#-------------------------------------------------------------------
#run backburnerServer (tool to control remote computing) run process
/usr/discreet/backburner/backburnerServer &
#-------------------------------------------------------------------
#run x11vnc run process
/usr/bin/x11vnc &
Je suis sur Ubuntu14.04. J'ai déjà fait des tests avec /etc/rc.local sans succès. J'ai essayé /etc/profile.d/machineSetup.sh mais cela ne fonctionne qu'après la connexion.
Ce serait cool si vous pouviez me donner des indices. Est-il possible de stocker la configuration dans un seul fichier? Merci d'avance pour vos suggestions!
Vous pouvez commencer n'importe quel script à partir de
/etc/rc.local
Mieux vous créez un fichier .conf upstart. Ceux-ci sont stockés dans
/etc/init/*.conf
A titre d'exemple, voici le contenu du fichier /etc/init/hostname.conf
:
#
# This task is run on startup to set the system hostname from /etc/hostname,
# falling back to "localhost" if that file is not readable or is empty and
# no hostname has yet been set.
description "set system hostname"
start on startup
task
exec hostname -b -F /etc/hostname
Une autre solution consiste à utiliser la fonction crontab @reboot
, en savoir plus sur crontab here
Les variables d'environnement de déclaration sont généralement effectuées dans ~/.profile, vous pouvez donc simplement ajouter ces lignes à la fin de ce fichier. Je ne sais pas si cela répond à votre question, mais si vous êtes d'accord avec l'exécution du script à la connexion, vous devriez essayer d'ajouter le script à votre Applications de démarrage. Ouvrez simplement le tiret, entrez Applications de démarrage, puis cliquez sur Ajouter. Entrez le nom de votre choix et dans le champ Commande, naviguez dans votre script. Cliquez ensuite sur Ajouter et vous avez terminé.
Lorsque vous appelez de rc.local, vous devez disposer d’un script Shell exécutable:
Sudo -i
vi /machineSetup.sh
Contenu:
#!/bin/bash
#LC_NUMERIC - Specifies the decimal delimiter
export LC_NUMERIC="en_US.UTF-8"
#-------------------------------------------------------------------
#add custom aliases path
export PATH=$PATH:/home/user/aliases
#-------------------------------------------------------------------
#run backburnerServer (tool to control remote computing) run process
/usr/discreet/backburner/backburnerServer &
#-------------------------------------------------------------------
#run x11vnc run process
/usr/bin/x11vnc &
Rendez-le exécutable:
chmod 0755 vi /machineSetup.sh
Je ne sais pas pourquoi je n'y ai pas pensé plus tôt. Tout ce que vous avez à faire est d’ouvrir /etc/rc.local dans un éditeur de texte et de coller le contenu de votre script dans le fichier, avant la ligne exit 0
. Je sais que cela fonctionne, car j’ai mis mon ordinateur portable Bluetooth automatiquement au démarrage.