2009-04-16 81 views
1

当我执行上述命令时,X11打开。我很困惑。我运行过吗?我如何确定在查看事物时不运行任何程序?我真的很讨厌阅读一个文本文件可能会执行一个程序的想法。在运行简单的cat命令或类似的命令时,如何编写执行程序?命令“cat/tmp/dir /:0”是做什么的?

+0

那到底发生了什么?你在一个文本终端,X启动了?你为什么要运行这个命令? – Zifre 2009-04-16 13:37:40

+0

@Zifte:我读过的东西:0对应于一个显示器,X将它的文件保存在/ tmp /中。因此,测试事情真正起作用是合乎逻辑的。我正在等待阅读一些不错的代码,但我只打开了一个显示。 – 2009-04-16 13:40:47

+0

您输入'cat/tmp /:0'了吗?我假设最初的$是你的shell提示符? – 2009-04-16 13:50:47

回答

3

如果运行

file /tmp/:0 

你应该看到,这是不正常的“文本”文件,而是一个插座。别名ls从而

ls -F 

将有助于你的shell自动识别此类文件。

2

机:0是一个X显示
我从来没有见过的/ tmp(“机”在第一显示器)/:0,但它可能是你的机器配置,使所有无法比拟的机器名称映射到本地主机。 您还没有执行任何操作,X服务器只会尝试将cat发送的任何命令解释为X指令。这就像做一个http地址的猫

2

:0东西是一个指向X服务器的套接字。程序使用此套接字与X服务器通信(例如绘制一个窗口)。以某种方式从此插座读取导致服务器激活。在执行此命令之前,X服务器必须已经运行。

3

这听起来像OSX 10.5的行为。

launchd侦听套接字'/ tmp/launch-xxxxxx /:0'。 DISPLAY变量设置为告诉X应用程序写入该套接字。当X应用程序打开套接字时,launchd会自动启动'X11.app'以向应用程序提供显示。

cat'ing the socket打开它并触发X11.app。我认为没有任何其他默认配置的行为的实例。