Emacs charge mon .emacs.d/init.el
n'a pas de problème lorsqu'il est exécuté en tant qu'utilisateur normal, mais refuse de le charger lorsqu'il est exécuté en tant que sudo emacs file.type
. J'ai essayé de changer le propriétaire de .emacs.d
a root
sans succès.
Réponses
Trop de publicités?Lorsque vous vous exécutez en tant que sudo
ajouter -s
pour préserver votre environnement. Ce n'est pas préserver votre environnement, donc votre HOME
est perdue. Emacs cherche dans ~/.emacs, ~/.emacs.el, or ~/.emacs.d/init.el
donc si vous perdez HOME, vous perdez le chemin d'accès à vos fichiers de démarrage.
Sudo -s n'a pas fonctionné pour moi. Voici la solution de contournement que j'ai utilisée.
Chargez emacs en tant qu'utilisateur normal (pour que vos réglages prennent effet)
- Type
M-x customize-themes
- Utilisez le lien pour migrer vos paramètres vers un thème.
- Donnez un nom à votre thème. (J'ai décoché la case Remove saved theme settings from Custom save file. Je ne sais pas si cela a eu un effet)
- Cliquez sur enregistrer le thème et notez l'endroit où le thème est enregistré.
- Quittez emacs et copiez votre fichier de thème dans votre dossier de thème emacs par défaut (par exemple, ./usr/share/emacs/24.4/etc/themes/)
- Maintenant, ouvrez emac avec sudo.
- Type
M-x customize-themes
et vous devriez voir votre thème nouvellement créé comme sélectionnable. - Cliquez sur Enregistrer les paramètres du thème et votre session sudo utilisera désormais votre thème personnalisé à l'avenir.
J'aurais aimé qu'il y ait un moyen plus élégant de résoudre ce problème, mais cela fait l'affaire.
Jmq a raison. Une solution alternative délicate. Si vous êtes la seule personne autorisée à être sudoer ou à vous connecter en tant que root, vous pouvez ajouter un lien symbolique dans le répertoire /root/
à votre .emacs.d
répertoire. Par exemple :
ls -l /root/.emacs
lrwxrwxrwx. 1 root root 18 May 5 11:14 /root/.emacs -> /home/<user>/.emacs
Jmq a la bonne idée, le problème est que emacs cherche dans les répertoires ~/ pour trouver votre fichier .emacs et vos scripts installés.
Sa suggestion de sudo -s
si elle fonctionne, est la plus simple, mais il y a de fortes chances qu'elle ne fonctionne pas. Le problème est en fait de savoir comment votre sudoers
est configuré. Le site sudoers
est probablement configuré pour réinitialiser votre environnement, ce qui signifie qu'il ne conserve pas le répertoire HOME de votre utilisateur lorsqu'il exécute la commande sudo. Les options possibles sont présentées aquí comme la réponse la mieux notée, et en utilisant -s
ne peut pas contourner la plupart des sudoers
des paramètres qui vont tout faire foirer en premier lieu.
- Réponses précédentes
- Plus de réponses