亲爱的 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 选项与桌面应用程序不兼容?
你好,安迪