我有这个程序可以在文本用户界面和图形用户界面下运行。
它没有任何命令行开关来强制一个或另一个,而是我猜它以某种方式自动检测我们是否在 X 中(例如,如果我从虚拟终端运行它,它会进入它的文本模式,如果我从X 终端模拟器,它会打开一个单独的图形窗口)。
我想强制它进入文本模式并让它在 X 终端内运行。我将如何去做?
Tho*_*key 40
通常只是
unset DISPLAY
Run Code Online (Sandbox Code Playgroud)
在终端的命令行中。有些应用程序比这更聪明,实际上检查控制台与伪终端的权限和类型。
tob*_*i_s 31
如果您想为单个命令禁用 X,您可以编写
DISPLAY= ./my_command
Run Code Online (Sandbox Code Playgroud)
请注意=
.之后的战略空白区域。更一般地,您可以通过在命令前加上<variable>=<value>
由空格分隔的序列来为进程设置环境变量。由于空格用作分隔符,=
紧随其后的空格会清除前面的变量。我们可以通过使用子shell作为命令然后打印其环境来查看这些前缀的效果。举个例子:
$ A=a B=b C= D=d sh
$ echo $A $B $C $D
Run Code Online (Sandbox Code Playgroud)
这将打印
a b d
Run Code Online (Sandbox Code Playgroud)
这表明子shell的环境确实与预期不同。请注意,shell 替换发生在将单个参数传递给 之前echo
。这意味着echo
将使用三个参数调用,因此输出之间b
和d
输出中只有一个空格,就像命令行一样echo a b d
(即使在d
它只打印单个空格之前有两个空格),但不像echo a b "" d
(它打印两个空格)b
和d
)之间的空格。
归档时间: |
|
查看次数: |
4819 次 |
最近记录: |