首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定Emacs会话的显示位置?

如何确定Emacs会话的显示位置?
EN

Stack Overflow用户
提问于 2014-01-07 01:15:56
回答 3查看 123关注 0票数 6

我经常将X会话从我的家庭服务器(Slackware)转发到我的工作桌面(Cygwin/Windows7)。即ssh -X home-server; emacs &。我想知道(以编程方式)在哪里显示我的Emacs会话,但显示环境没有太大帮助:

代码语言:javascript
复制
(getenv "DISPLAY")
"localhost:10.0"

有什么想法吗?

更新:我应该说得更清楚一些;我正在查找运行X会话的主机的名称(本例中是我的工作台式机)。例如,调用(system-name)(getenv "HOSTNAME")将返回"home-server",即Emacs实际运行的位置。

更新2:我一直在尝试回复Tobias,如下所示,但试图让评论中的格式生效,这让我抓狂:

谢谢,托拜厄斯,但xauth似乎只处理授权数据:

代码语言:javascript
复制
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:

托比亚斯,它显示了这个:

代码语言:javascript
复制
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...
EN

回答 3

Stack Overflow用户

发布于 2014-01-07 04:29:55

我在Unix stackexchange上问过这个问题。简短的答案是

代码语言:javascript
复制
(getenv "SSH_CLIENT")
票数 1
EN

Stack Overflow用户

发布于 2014-01-07 01:40:33

这些只是常规的linux变量:

代码语言:javascript
复制
(getenv "HOSTNAME")
(getenv "TTY")

他们应该告诉你你在哪台机器上,以及你在那台机器上的位置。

票数 0
EN

Stack Overflow用户

发布于 2014-01-07 05:50:29

我不知道X协议是否提供了一种方法来请求X服务器向您提供运行X协议的机器的主机名。您可以使用其他信息,例如RandR数据(例如,其EDID信息可能包括显示器的品牌名称)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20955439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档