Ubuntu 16.04 emacsclient -c 桌面应用程序不起作用

Ubuntu 16.04 emacsclient -c 桌面应用程序不起作用

亲爱的 Ubuntu 社区,

我的目标是,使用 emacsclient(版本 24.5.1)作为 Ubuntu 16.04 中的默认编辑器。如果我双击一个文本文件,emacsclient 会快速打开新框架。如果守护程序未运行,它将启动一个。

如果我在终端中运行 emacsclient 命令 (emacsclient -c -a=""),一切都会正常工作。如果我第一次启动 emacs,它将启动 emacs-server,即使我没有在 .emacs/.init 文件中运行 emacs-server。如果守护进程已经在运行,emacs 将打开一个新框架。但我想在我的 GUI(Unity)中使用 emacsclient。根据我将以下文本添加到 ~/.local/share/application/emacsclient.desktop:

[桌面条目]
名称 = Emacs (客户端)
通用名称 = 文本编辑器
注释 = 编辑文本
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/xc;text/x-c++;
Exec = emacsclient -с -a "emacs" %F
图标 = emacs
类型 = 应用程序
终端 = false
类别 = 开发;文本编辑器;实用程序;
StartupWMClass = Emacs

并且还补充道:

导出 ALTERNATE_EDITOR=""
导出 EDITOR="emacsclient -c"
导出 VISUAL="emacsclient -c -a emacs"

到我的 ~/.bashrc

现在,当我右键单击文本文件时,可以选择使用“Emacs(客户端)”打开它。启动器符号出现,但没有打开任何框架。大约 10 秒钟后,符号再次消失。如果我返回 emacsclient.desktop 并将 Execline 更改为:

执行=emacsclient -a “emacs” %F

它将相应地打开文件;这意味着如果没有守护程序正在运行,它将启动 emacs。如果 emacsclient 已经打开,它将在已经存在的框架中打开文件,类似于这个帖子

我做错了什么,或者 -c 选项与桌面应用程序不兼容?

你好,安迪

相关内容