`xinit /usr/bin/firefox` 与 `xinit firefox`

`xinit /usr/bin/firefox` 与 `xinit firefox`

xinit /usr/bin/firefox似乎做了预期的事情:在没有窗口管理器的情况下运行 Firefox。

xinit firefoxxterm看起来做的差不多,只是落后了一点。

有人可以解释一下这里发生了什么吗?

答案1

我怀疑你根本没有文件~/.xinitrc。当xinit启动时,它会查找该文件,如果没有找到它,则会运行一个微小的xterm.确切地说,它运行:

xterm  -geometry  +1+1  -n  login  -display  :0

另外,命令行xinit是:

xinit [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

--我们可以忽略(右侧)之后的部分,因为那是针对服务器(X 服务器)端的,并且您只是在其中使用默认值。现在,对于客户端(左侧),您有一些模棱两可的东西:[ [ client ] options ... ]。换句话说,xinit优先考虑选项代替客户

该行为实际上在以下描述man

客户端程序名称和服务器程序名称都必须以斜杠 (/) 或句点 (.) 开头。否则,它们将被视为参数,并附加到各自的启动行。这样就可以添加参数(例如,前景色和背景色),而无需重新输入整个命令行。

所以:

  • /usr/bin/firefox是X客户端,所以执行
  • firefox是一个客户选项,所以xterm执行,使用上面的参数和一个额外的参数(选项):“firefox”。正是这样:

    xterm  -geometry  +1+1  -n  login  -display  :0  firefox
    

相关内容