在工作中,我可以选择使用两台笔记本电脑,Windows 或 Mac。作为一个 Linux 用户,我认为 MacBook Pro 会很合适。
所以我将 MacBook Pro 笔记本电脑带回家,发现它没有右 ctrl 键。底部面板很烦人。所以我说,没问题,我稍后会解决所有问题,现在我将把它用作服务器并从我的脆皮 Xfce 工作站环境远程 ssh 进入它。嗯……
我花了大约一天的时间想弄清楚:
如何从我的 Fedora 工作站通过 ssh 进入 mac,运行 emacs 并让它在我的 linux 工作站上显示(XForwarded)?你知道这样的:
我已经安装了 XQuartz并将 /etc/sshd_config
和 /private/etc/sshd_config
更改为:
X11Forwarding yes
XAuthLocation /opt/X11/bin/xauth
请注意,xeyes
有效,xclock
也有效,耶!!!
显然 X 转发工作正常,因为其他 gui 应用程序正在远程显示。但至于 Emacs,就别管它了。
/usr/bin/emacs
中的默认 Emacs 只是以 -nw
模式运行它。然后我安装了the latest Emacs 24.3 (进入 /Applications/Emacs.app/Contents/MacOS/Emacs
)。这一次,如果我以物理方式登录到笔记本电脑(即从笔记本电脑键盘),那么从 ssh 运行 Emacs 就会出现在笔记本电脑的屏幕上!什么鬼?如果我注销笔记本电脑,则会得到:
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
我已经无计可施了。知道为什么其他 X 应用程序可以工作吗? Emacs 有什么特别之处吗?
最佳答案
Emacs.app
二进制文件是为使用 Mac OS X 的窗口系统(我们在这里称之为“ns”)而构建的,它与 X11 无关,所以你不能转发它通过网络到另一台主机。相反,您想在 Mac 上安装另一个 Emacs,它是为使用 X11 窗口系统而构建的(因此您可以通过 Xquartz 在本地使用它(它允许 X11 客户端使用 native Mac OS X 显示),或者您可以远程使用它像任何其他 X11 客户端一样)。
最简单的方法可能是自己构建它:获取 emacs-24.3.tar.gz
源代码并使用 ./configure --with-x 编译它;制作
。
关于linux - 从 Linux 通过 SSH 连接到 Mac OS X(使用 XForwarding)时如何运行 Emacs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22735651/