Accueil > Informatique > 20c tips > emacs & systemd
emacs & systemd
mercredi 28 octobre 2020, par
L’objectif
Lancer emacs comme un service via systemd et utiliser un client emacs pour se servir de l’éditeur. Cela permet d’obtenir une lancement en apparence plus rapide.
Pré-requis
Mise en place
Créer un fichier service
~/.config/systemd/user/emacs.service
[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=simple
ExecStart=/usr/bin/emacs --fg-daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure
[Install]
WantedBy=default.targetEnregistrer le service
> systemctl --user enable emacs
Lancer le service
> systemctl --user start emacs
Écrire un fichier Desktop
Il suffit de prendre le fichier de votre distribution en général /usr/share/applications/emacs.desktop et de remplacer la ligne
Exec= ....
par
Exec=emacsclient -c
~/.local/share/applications/myemacs.desktop
[Desktop Entry]
Version=1.0
Name=Emacs (client)
GenericName=Text Editor
GenericName[fr]=Éditeur de texte
Comment=GNU Emacs is an extensible, customizable text editor - and more
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=emacsclient -c
Icon=emacs
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
StartupWMClass=Emacs
Keywords=Text;Editor;Enfin, il suffit de définir emacsclient pour ouvrir vos fichiers préférés !
gio mime application/x-tex myemacs.desktop
ou
gio mime plain/text myemacs.desktop
Remarques
- L’option —fg-daemon n’est disponible qu’après la version 26.1
- Lorsque l’on ferme la fenêtre le serveur reste ouvert et les buffers également. Si l’on relance un client on retrouve les buffers dans l’état où ils étaient
Voir en ligne : Emacs Wiki
Heptagone