emacs - 如何确定 Emacs session 的显示位置?

标签 emacs ssh elisp x11

我经常将我的 X session 从我的家庭服务器 (Slackware) 转发到我的工作桌面 (Cygwin/Windows 7)。 IE。 ssh -X home-server; emacs & 。我想知道(以编程方式)我的 Emacs session 在哪里显示,但 DISPLAY 环境不是很有帮助:

(getenv "DISPLAY")
"localhost:10.0"

有什么想法吗?

更新:我应该更清楚;我正在寻找运行 X session 的主机的名称(在这种情况下是我的工作桌面)。例如,调用 (system-name)(getenv "HOSTNAME") 将返回 Emacs 实际运行的“home-server”。

更新 2:我一直在尝试回复 Tobias,下面,但试图让格式在评论中起作用一直让我发疯:

谢谢,Tobias,但似乎 xauth 只处理授权数据:
Using authority file /home/mgh/.Xauthority
home-server/unix:0  MIT-MAGIC-COOKIE-1  c545124...
localhost.localdomain/unix:0  MIT-MAGIC-COOKIE-1  c5451...
home-server/unix:14  MIT-MAGIC-COOKIE-1  7b7be...
home-server/unix:13  MIT-MAGIC-COOKIE-1  96d13...
home-server/unix:12  MIT-MAGIC-COOKIE-1  8b186...
home-server/unix:11  MIT-MAGIC-COOKIE-1  28a0a...
home-server/unix:10  MIT-MAGIC-COOKIE-1  bbf6c...

更新 3:

托比亚斯,它表明了这一点:
xauth -v nlist
Using authority file /home/mgh/.Xauthority
0100 0007 4261672d456e64 0001 30 0012 4d49542d4... 0010 c5451248...
0100 0015 6c6f63616c686f73742e6... 0001 30 0012 4d4954... 0010 c545124...
...
0100 0007 4261672d456e64 0002 3130 0012 4d49542d4d... 0010 bbf6c4d...

最佳答案

我在 Unix stackexchange 上问过这个问题.简短的回答是

(getenv "SSH_CLIENT")

关于emacs - 如何确定 Emacs session 的显示位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20955439/

相关文章:

java - 如何使用 Java 自动化质询-响应身份验证

emacs - 对整个区域应用删除缩进

Emacs: `mouse-1`, `mouse-2`按钮等是什么意思?

emacs - 人们如何在 ECB Emacs 中进行调试?

git - 被 gitolite 锁定并且无法 gl-admin-push

c# - 是否可以使用 SSH.NET 从单个登录 session 执行多个 SSH 命令?

emacs - 在 emacs 或 org-mode 中打开 http 链接的键盘快捷键

emacs - 如何使 emacs 缓冲区中的长单词显示为较短的单词?

emacs - 防止 Emacs 滚动到缓冲区末尾

regex - emacs 无法打开加载文件 make-regexp