我有这个程序可以同时运行文本用户界面和图形用户界面。
它缺少任何命令行开关来强制其中一个,而是我猜它以某种方式自动检测我们是否在 X 中(例如,如果我从虚拟终端运行它,它会进入其文本模式,如果我从X 终端仿真器,它会打开一个单独的图形窗口)。
我想强制它进入文本模式并让它在 X 终端内运行。我该怎么做呢?
我有这个程序可以同时运行文本用户界面和图形用户界面。
它缺少任何命令行开关来强制其中一个,而是我猜它以某种方式自动检测我们是否在 X 中(例如,如果我从虚拟终端运行它,它会进入其文本模式,如果我从X 终端仿真器,它会打开一个单独的图形窗口)。
我想强制它进入文本模式并让它在 X 终端内运行。我该怎么做呢?
通常只是
在终端的命令行中。一些应用程序比这更智能,并且实际上检查控制台与伪终端的权限和类型。
如果您想为单个命令禁用 X,您可以编写
注意后面的战略性空白
=
。更一般地说,您可以通过在命令前加上一系列<variable>=<value>
由空格分隔的前缀来为进程设置环境变量。由于空格用作分隔符,因此=
紧跟空格会清除前面的变量。我们可以通过使用 subshell 作为命令然后打印其环境来查看这些前缀的效果。举个例子:这将打印
这表明子外壳的环境确实与预期的不同。请注意,shell 替换发生在将各个参数传递给
echo
. 这意味着它将用三个参数调用,因此输出之间和输出echo
之间只有一个空格,就像命令行一样(即使在它只打印单个空格之前有两个空格),但不同的是(打印两个和)之间的空格。b
d
echo a b d
d
echo a b "" d
b
d