Tim*_*Tim 31 shell x11 environment-variables command display
什么是DISPLAY=:0
,它是什么意思?
这不是命令,是吗?(gnome-panel
是一个命令。)
DISPLAY=:0 gnome-panel
Run Code Online (Sandbox Code Playgroud)
tep*_*pic 33
它是一个仅传递给该程序的环境变量,而不是整个 shell。当您在与命令相同的行上设置变量时,就会发生这种情况。
X11 程序需要知道在哪里显示窗口,因为它是一个客户端/服务器系统,您可以在远程机器上显示。这只是意味着使用本地机器上的第一个显示器。
这通常是在登录到桌面环境时自动设置的。例如,打开图形终端并键入echo $DISPLAY
。
Gil*_*il' 30
DISPLAY=:0 gnome-panel
是一个 shell 命令,它运行外部命令gnome-panel
并将环境变量DISPLAY
设置为:0
. shell 语法仅在指定命令的持续时间内设置环境变量。它大致相当于.VARIABLE=VALUE COMMAND
VARIABLE
(export VARIABLE=VALUE; exec COMMAND)
环境变量DISPLAY
告诉 GUI 程序如何与 GUI 通信。一个 Unix 系统可以运行多个X 服务器,即多个显示器。这些显示可以是物理显示(一个或多个监视器),或远程显示(通过网络转发,例如通过 SSH),或虚拟显示,例如Xvfb等。指定显示的基本语法是;如果省略该部分,则显示为本地显示。HOST:NUMBER
HOST
显示器从 0:0
开始编号,第一个启动的本地显示器也是如此。在典型设置中,这是计算机显示器上显示的内容。
像所有环境变量一样,DISPLAY
从父进程继承到子进程。例如,当您登录到 GUI 会话时,登录管理器或会话启动器会进行DISPLAY
适当的设置,并且会话中的所有程序都会继承该变量。当您打开带有 X 转发的 SSH 连接时,SSH 会将DISPLAY
环境变量设置为转发的连接,以便您在远程机器上运行的程序显示在本地机器上。如果没有转发的 X 连接(因为 SSH 被配置为不这样做,或者因为没有本地 X 服务器),SSH 不会设置DISPLAY
.
DISPLAY
显式设置会导致程序显示在通常不会出现的位置。例如,DISPLAY=:0 gnome-panel
在 SSH 连接中运行会在远程机器的本地显示器上启动一个 Gnome 面板(假设有一个并且用户有权访问它)。显式设置DISPLAY=:0
通常是一种从本地会话外部访问机器本地显示的方法,例如通过远程访问或从 cron 作业。
归档时间: |
|
查看次数: |
100094 次 |
最近记录: |