J'ai quelques félicitations que je souhaite être appelé juste après la connexion, y compris 'startx', et j'ai pensé que cela rc.local
semble être un bon endroit pour eux, mais le problème est qu'il rc.local
est exécuté en tant que root et je ne veux pas cela, évidemment je peux le faire quelque chose comme ça:
su username -c somecommend-here
Mais je cherche un moyen d'exécuter l'ensemble de "rc.local" en tant qu'utilisateur normal, ou peut-être qu'il y a un meilleur endroit pour mettre mon code?
PS. J'utilise Ubuntu-mini-remix 1104i386
Merci
Réponses:
La manière la plus simple de lancer une commande lorsqu'un utilisateur se connecte est de créer un
.desktop
fichier pour la commande et de le coller dans le~/.config/autostart
dossier. À quoi ressemble le fichier de bureau? Voici un exemple qui récupère la page d'accueil Ask Ubuntu àwget
chaque fois que l'utilisateur se connecte:la source
startx
(comme l'OP l'a demandé) après la connexion graphique.startx
partirrc.local
. DésoléJe ne connais pas les différences entre /etc/rc.local et un crontab, mais je crée généralement un compte de service et j'ajoute le travail approprié. Par exemple: sudo crontab -u p4padmin -e
Vous n'avez pas besoin de vous connecter pour que le service s'exécute.
la source
La manière Linux est d'ajouter vos commandes à la
~/.bashrc
place de/etc/rc.local
.Chaque utilisateur a un
.bashrc
dans son répertoire personnel. Ce fichier de script est exécuté automatiquement juste après la connexion d'un utilisateur. Il est exécuté avec les informations d'identification de l'utilisateur, doncsu
aucune commande n'est nécessaire.Il me semble que c'est exactement ce que vous recherchez.
la source
.bashrc
n'est pas lu lorsqu'un utilisateur se connecte en utilisant la normalelightdm
, par exemple.