Vous n'êtes pas identifié.
Bonjour à toutes et à tous.
Je rencontre un problème avec le trio Emacs, Firefox et systemd.
Si Emacs est exécuté en tant que daemon par un service systemd (au niveau utilisateur) et que j'essaye d'ouvrir une url HTTP depuis Emacs, Firefox me répond:
"Firefox is already running, but is not responding. To use Firefox, you must first close the existing Firefox process, restart your device, or use a different profile."
Mais si j'exécute une instance d'Emacs directement, sans utiliser systemd, et j'essaye d'ouvrir une url HTTP depuis Emacs, Firefox l'ouvre sans problème.
Est-ce que quelqu'un à une idée ?
Est-ce que les processus lancés (au niveau utilisateur) par une unité .service de systemd sont isolée des processus lancés par l'utilisateur/utilisatrice ?
Merci pour vos réponses.
Hors ligne
Salut Seb.
Deux questions:
- Comment as-tu configuré ton service systemd pour emacs ?
- Comment emacs lance-t-il firefox pour ouvrir les url ?
Et pendant que j'y pense, as-tu monitoré les processus qui tournent dans les deux cas de figure ?
Hors ligne
Voici le fichier de service pour systemd :
[Unit] Description=Emacs: the extensible, self-documenting text editor [Service] Type=forking ExecStart=/usr/bin/emacs --daemon ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)" Restart=always [Install] WantedBy=default.target
Pour ouvrir l'URL, Emacs exécute la commande:
xdg-open url
Où "url" est remplacé par l'URL.
À noter que si j'ouvre un terminal dans l'Emacs lancé par systemd et
que j'essaye une de ces deux commandes:
xdg-open "https://swisslinux.org" firefox "https://swisslinux.org"
Dans les deux cas j'ai un message d'erreur. Mais si j'exécute une de
ces commandes depuis un terminal hors Emacs, ou depuis un Emacs lancé
manuellement, je n'ai pas d'erreur.
Qu'entends-tu par monitorer ?
Hors ligne
Tu peux essayer d'afficher l’environnement et comparer:
env
en ligne de commande et (il me semble)
systemctl --user show-environment
. Je pencherais pour un DBUS_* ou un XDG_RUNTIME_DIR qui change.
Hors ligne