Magit无法连接到Docker内部的emacsclient?
我正在Docker中运行emacs24.5.1(基本映像是Ubuntu)。 我通过apt-get安装了emacs。 此外,我通过melpa(magit版本magit-20170702.858)安装了magit,非常棒。 但是,当我尝试提交的东西,然后magit遇到以下错误:
1 git ? commit -- /usr/bin/emacsclient.emacs24: connect: Connection refused /usr/bin/emacsclient.emacs24: error executing alternate editor "sh -c 'echo "WITH-EDITOR: $$ OPEN $0"; sleep 604800 & sleep=$!; trap "kill $sleep; exit 0" USR1; trap "kill $sleep; exit 1" USR2; wait $sleep'" error: There was a problem with the editor '/usr/bin/emacsclient.emacs24 --socket-name=/root/.emacs.d/server/server'. Please supply the message using either -m or -F option.
当我尝试手动启动emacsclient然后emacsclient有错误:
/usr/bin/emacsclient.emacs24 --socket-name=/root/.emacs.d/server/server tmp.make /usr/bin/emacsclient.emacs24: connect: Connection refused /usr/bin/emacsclient.emacs24: error accessing socket "/root/.emacs.d/server/server"
这表明这不是一个真正的错误,而是一个emacsclient错误,实际上可能是因为我在Docker中运行,尽pipe我不确定。
有没有人有一个关于如何启动emacsclient或绕过magma内的emacsclient的要求的想法。 曾经有一个插件模式绕过emacsclient里面的magit,但这是过时,从melpa从前一段时间,从而我不太热衷尝试它。
更新 emacs --daemon
守护进程启动没有问题在docker,但磁道提交仍然不工作,所以也许这不是一个docker问题?
emacs --daemon Warning: due to a long standing Gtk+ bug http://bugzilla.gnome.org/show_bug.cgi?id=85715 Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost. Using an Emacs configured with --with-x-toolkit=lucid does not have this problem. Loading 00debian-vars... Loading 00debian-vars...done Loading /etc/emacs/site-start.d/50cmake-data.el (source)... Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)... Loading debian-ispell... Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)... Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...done Loading debian-ispell...done Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)... Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...done Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done Loading /root/.emacs.d/init_func.el (source)... Loading /root/.emacs.d/init_func.el (source)...done Loading flymake... Loading flymake...done Loading company... Loading company...done Loading linum... Loading linum...done [yas] Prepared just-in-time loading of snippets successfully. Loading /root/.emacs.d/recentf... Loading /root/.emacs.d/recentf...done Cleaning up the recentf list... Cleaning up the recentf list...done (0 removed) Starting Emacs daemon.
仔细检查您的基本图像: 此线程报告看到相同的错误信息:
我设法弄清楚了这个问题。 我有字节编译emacs代码与emacs24,并加载在emacs23导致所有赫克松散。
通过emacs的匹配版本完成字节编译,testing套件通过。
你可以在这里find一个使用emacs从各种发行版 (包括Ubuntu 16.04) 构buildDocker镜像的例子 。
Emacs(23,将其replace为您的版本) 安装为 :
export DEBIAN_FRONTEND=noninteractive test $1 = 7.11 && emacs=emacs23-nox || emacs=emacs-nox apt-get update apt-get install -y -q build-essential git \ libxapian-dev libgmime-2.6-dev libtalloc-dev \ zlib1g-dev python-sphinx man dtach $emacs gdb gpgsm apt-get -y autoremove apt-get -y clean rm -rf /var/lib/apt/lists/
- java.lang.RuntimeException:没有检测到主类
- 如何在Google Container Engine(GKE)中代理泊坞窗registry?
- Apache Mesos + Docker + Karaf地窖集群
- configurationfluentd以正确parsing并将使用docker json-file日志logging驱动程序格式化的java stacktrace转换为弹性的单个消息
- Azk与phpmyadmin
- 在Windows上的Docker for Selenium
- 什么添加到我的SBT支持非播放项目的Docker镜像创build?
- sbt只取取依赖关系
- RabbitMQ从属性文件加载用户