Karena emacsclient dapat menangani waktu pemuatan paket yang lama dengan benar, saya benar-benar ingin menjaga setidaknya satu proses emacs, dan sebagian besar waktu hanya satu proses emacs , terbuka sebagai proses latar belakang dan lebih baik menyembunyikan GUI.
Saat ini saya mendefinisikan fungsi berikut di .bashrc:
emc ()
{
if [[ $# -eq 0 ]]; then
emacs --eval "(suspend-frame)" &
return
fi
args=($*);
setsid emacsclient -c -e "(find-file \"${args[*]}\")"
}
Dan juga memiliki baris berikut di .bashrc:
emc
Jadi setiap kali saya membuka shell, saya akan berakhir dengan proses emacs baru.
Masalahnya adalah saya akan memiliki banyak proses emacs tambahan yang tidak perlu setelah membuka banyak shell. Namun, saya hanya ingin mempertahankan satu proses emacs tunggal sepanjang waktu dari startup lebih baik menyembunyikan GUI .
emacs --eval "(suspend-frame)"
daripadaemacs --daemon
( emacswiki.org/emacs/EmacsAsDaemon ). Apakah ada alasan Anda memilih untuk tidak memanggil emacs sebagai daemon? Anda dapat menggunakan sesuatu sepertipgrep -U `whoami` emacs || emacs --daemon &
untuk memastikan itu berfungsi.