Si crea un iniciador de emacsclient copiando un archivo .desktop (por ejemplo, el de Emacs), no se comporta de la manera estándar del iniciador de Unity. Siempre lanza una nueva ventana; no reconoce que existen ventanas Emacsclient existentes para saltar a ellas. ¿Cómo puedo hacer que se comporte?
Como fondo, este es un modo de uso muy útil para Emacs, donde lo ejecuta como un daemon: emacs --daemony luego invoca una ventana de emacs con emacsclient. Una buena manera de hacer esto para los usuarios habituales de emacs es poner emacs --daemonen sus aplicaciones de inicio.

emacsclient.desktoppor alguna razón. Eventualmente solucioné esto creando el lanzador enalacarte(la GUI "Menú principal").La solución de james.ferguson funciona bien. Lo que quería era vincular emacsclient a algunos tipos de archivos como la "aplicación preferida". Para esto, encontré el script de James con una nueva línea "Exec"
funciona mejor para mí: ejecuta un nuevo emacs si no se está ejecutando ninguno, no abre una nueva ventana y no hace que emacs se queje de que los clientes todavía esperan que sucedan cosas.
Ahora puedo hacer clic en los archivos y se abren en un emacs en ejecución, si existe, de lo contrario se inicia emacs.
fuente
Otra forma es usar un script :
Entonces siempre invocas el mismo comando.
fuente