我经常将我的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 …Run Code Online (Sandbox Code Playgroud)