J'ai deux scripts - un pour monter certains dossiers sur SSHFS - et un pour démonter.
Je voudrais lancer le script de montage lorsque mon bureau Ubuntu par défaut est lancé (après ma connexion à la console graphique) - et le script de démontage lorsque je me "déconnecte ..." de la roue dentée en haut à droite de le bureau.
S'il vous plaît, quelqu'un peut-il me dire comment y parvenir? Quels sont les crochets les plus pratiques / standard pour exécuter des commandes au lancement / à la sortie du bureau?
Réponses:
Compte tenu de votre besoin d'exécuter un travail lorsque vous vous connectez à Unity et non pour d'autres connexions, un travail de session Upstart semble parfait.
Vous l'avez peut-être remarqué: les processus que vous exécutez après une connexion à l'interface graphique sont sous un deuxième
init
processus. Ilinit
s'agit d'une bonne initiation Upstart, et vous pouvez démarrer et arrêter des travaux de session en fonction des événements émis par celle-ci. Aucun privilège root nécessaire. Mieux encore (ou pire selon la perspective), ce n'est pas encore complètement pris en charge pour les systèmes sans tête. Une connexion SSH n'a pas démarré l'initialisation de l'utilisateur à partir d'un test rapide que je viens de faire.Pour créer un travail de session, créez un nouveau
.conf
fichier dans~/.config/upstart
. Il s'agit du répertoire principal par défaut pour les travaux de session Upstart ($XDG_CONFIG_HOME/upstart
), créez-le s'il n'existe pas. Voici un exemple de travail:Vous pouvez le contrôler manuellement:
Les
service
commandes sont utilisées pour contrôler les tâches système (celles de/etc/init.d
ou/etc/init
). Pour contrôler les travaux de session, il faut utiliser lainitctl
commande, qui est utilisée pour interagir avec Upstart.Voir
man upstart-events
pour plus d'événements que vous pouvez utiliser.la source
La solution était d'utiliser des tâches parvenues. J'ai exigé deux tâches - une déclenchée lorsque le bureau s'initialise pour un utilisateur; le second lorsque la session des utilisateurs expire. Les deux scripts suivants fonctionnent pour moi sous Ubuntu 14.04.
Dans ~ / .config / upstart / desktopOpen.conf
Dans ~ / .config / upstart / desktopClose.conf
Je croise les doigts pour que ces événements continuent de répondre aux exigences des futures versions d'Ubuntu. J'ai pensé qu'il valait la peine de publier ma solution ici - au cas où elle serait utile à d'autres.
la source
Voici quelques suggestions pour exécuter un script après la connexion:
Script StackOverflow Linux après le démarrage : Cliff notes consiste à placer votre fichier * .sh dans /etc/profile.d.
Si vous souhaitez exécuter des scripts au démarrage, voici quelques suggestions:
Script StackOverflow Linux après le démarrage : Cliff notes doit utiliser /etc/rc.local ou crontab.
la source