Mic*_*ael 5 x11 emacs ssh elisp
我经常将我的X会话从我的家庭服务器(Slackware)转发到我的工作桌面(Cygwin/Windows 7).即ssh -X home-server; emacs &.我想知道(以编程方式)显示我的Emacs会话的位置,但是DISPLAY环境不是很有帮助:
(getenv "DISPLAY")
"localhost:10.0"
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
更新:我应该更清楚; 我正在寻找运行X会话的主机的名称(在这种情况下,我的工作桌面).呼叫,比方说,(system-name)或者(getenv "HOSTNAME")将返回Emacs实际运行的"家庭服务器".
更新2:我一直在尝试回复下面的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...
Run Code Online (Sandbox Code Playgroud)
更新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...
Run Code Online (Sandbox Code Playgroud)
这些只是常规的 Linux 变量:
(getenv "HOSTNAME")
(getenv "TTY")
Run Code Online (Sandbox Code Playgroud)
他们应该向您提供您所在的计算机以及您在该计算机上的位置。