X-Windows 中 $DISPLAY 的用途

X-Windows 中 $DISPLAY 的用途

X-Windows 中的 $DISPLAY 变量有什么用途?它如何工作?

我在虚拟机上运行 Fedora,不知道我是否正确运行 X-Windows 来回答这个问题。我去终端并输入sudo startx,然后我只是得到一个空白屏幕并且无法逃脱它。我知道(我认为)这只是运行最小类型操作系统的一种方式,您可以在其中从命令行运行所有内容。

答案1

环境DISPLAY变量向应用程序指示向何处发送 GUI 命令,例如“创建窗口”、“显示一些文本”、“绘制图像”、“等待按键或鼠标单击”等。它与图形用户界面相对应。的标准流用于文本模式应用程序。

大多数情况下,您不需要关心这个变量。如果您从 GUI 会话运行程序,则该变量已设置。如果您通过 SSH 运行程序,则在转发 GUI 时会自动设置该变量,如果未设置该变量,则表明您没有转发 GUI 并且设置该变量不会有帮助。仅当您想要从外部与 GUI 会话交互时,例如在 cron 作业中运行 GUI 程序,或者通过从 SSH 会话启动的程序在计算机屏幕上显示程序,才需要设置该变量那台机器。

要启动 GUI 会话,有两种方法:首先登录然后启动 GUI,或者启动 GUI 并从那里登录。

  • 如果您已登录文本模式控制台,则可以使用命令启动 GUI 环境startx。该命令启动一个X11服务器(GUI 后端,它执行基本的操作,例如记住某个窗口位于某个位置)以及一堆有用的应用程序,通常至少是一个窗口管理器(一种程序,提供在窗口之间切换、移动窗口并控制哪个窗口处于活动状态、启动程序等的方法)并且通常是桌面环境(它通过附加的屏幕小部件和实用程序(例如时钟、桌面切换器、图标托盘、会话保护程序等)完善了窗口管理器。)
  • 大多数桌面使用的发行版都设置了显示管理器。 X 服务器运行,屏幕上唯一的程序是显示管理器,它是一个显示登录提示的程序。一旦您登录,就会启动一个会话,就像第二部分startx(使用窗口管理器等)一样。

如果您尚未安装显示管理器,您可以在gdmkdmlxdmslim等之间进行选择。使用 例如sudo yum install gdm安装一个。

如果您不想安装窗口管理器,或者出于任何原因想要从控制台登录启动 GUI 会话,请仅运行startx,而不是sudo startx。许多 GUI 程序并不适合以 root 身份运行,并且某些环境如果以 root 身份运行则将拒绝启动。

答案2

当您再次进入控制台模式时,使用用户名和密码登录,然后发出命令 sudo /etc/init.d/gdm stop 停止桌面环境的服务。 sudo dpkg-reconfigure xserver-org 重新配置您的x服务器。再次启动您的 DE: sudo /etc/init.d/gdm start

相关内容