Dado que emacsclient puede manejar el largo tiempo de carga de paquetes de manera correcta, realmente quiero mantener al menos un proceso de emacs, y la mayoría de las veces solo un proceso de emacs , abrir como proceso en segundo plano y ocultar mejor la GUI.
En este momento definí la siguiente función en .bashrc:
emc ()
{
if [[ $# -eq 0 ]]; then
emacs --eval "(suspend-frame)" &
return
fi
args=($*);
setsid emacsclient -c -e "(find-file \"${args[*]}\")"
}
Y también tiene la siguiente línea en .bashrc:
emc
Entonces, cada vez que abro un shell, terminaré teniendo un nuevo proceso de emacs.
El problema es que tendré muchos procesos emacs innecesarios adicionales después de abrir muchos shells. Sin embargo, solo quiero mantener un solo proceso de emacs todo el tiempo desde el inicio para ocultar mejor la GUI .
emacs --eval "(suspend-frame)"
lugar deemacs --daemon
( emacswiki.org/emacs/EmacsAsDaemon ). ¿Hay alguna razón por la que eliges no invocar a emacs como demonio? Podría usar algo comopgrep -U `whoami` emacs || emacs --daemon &
para asegurarse de que se está ejecutando.