8 votes

Comment exécuter rc.local en tant qu'utilisateur normal ?

J'ai quelques commandes que je souhaite voir appelées juste après la connexion, y compris 'startx', et j'ai pensé que rc.local semble être un endroit agréable pour eux, mais le problème est que rc.local est exécuté en tant que root et je ne veux pas cela, évidemment je peux 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 y a-t-il un meilleur endroit où placer mon code ?

PS. J'utilise Ubuntu-mini-remix 1104i386

Remerciements

6voto

Jon Galloway Points 28243

La manière la plus simple de lancer une commande lorsqu'un utilisateur se connecte est de créer un fichier .desktop pour la commande et le coller dans le fichier ~/.config/autostart dossier. À quoi ressemble le fichier du bureau ? Voici un exemple qui récupère la page d'accueil Ask Ubuntu avec wget à chaque fois que l'utilisateur se connecte :

[Desktop Entry] 
Name=Launch wget
Comment=Fetches the Ask Ubuntu home page.
Exec=wget http://askubuntu.com/

1voto

Je ne connais pas les différences entre /etc/rc.local et une 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

@reboot ~/bin/p4p -d -r ~/var/p4p/cache/foo -p 2020 -t depot:2020 -L ~/var/p4p/log/foo.log

Il n'est pas nécessaire de se connecter pour que le service s'exécute.

0voto

thom Points 6932

La méthode linux consiste à ajouter vos commandes à ~/.bashrc 代わりに /etc/rc.local .

Chaque utilisateur dispose d'un .bashrc dans son répertoire d'origine. 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, de sorte qu'un fichier su n'est pas nécessaire.

Il me semble que c'est exactement ce que vous recherchez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X