Poiché emacsclient è in grado di gestire in modo corretto lunghi tempi di caricamento dei pacchetti, voglio davvero mantenere almeno un processo emacs, e il più delle volte solo un processo emacs , aperto come processo in background e nascondere meglio la GUI.
In questo momento ho definito la seguente funzione in .bashrc:
emc ()
{
if [[ $# -eq 0 ]]; then
emacs --eval "(suspend-frame)" &
return
fi
args=($*);
setsid emacsclient -c -e "(find-file \"${args[*]}\")"
}
E avere anche la seguente riga in .bashrc:
emc
Quindi ogni volta che apro una shell, finirò per avere un nuovo processo di emacs.
Il problema è che avrò molti processi di emacs non necessari dopo aver aperto molte shell. Tuttavia, voglio solo mantenere un singolo processo emacs in ogni momento dall'avvio per nascondere meglio la GUI .
emacs --eval "(suspend-frame)"
piuttosto che conemacs --daemon
( emacswiki.org/emacs/EmacsAsDaemon ). C'è un motivo per cui scegli di non invocare emacs come demone? È possibile utilizzare qualcosa di similepgrep -U `whoami` emacs || emacs --daemon &
per assicurarsi che sia in esecuzione.