Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何处理DISPLAY=:0.0_Linux_Bash_Shell_Configuration_X11 - Fatal编程技术网

Linux 如何处理DISPLAY=:0.0

Linux 如何处理DISPLAY=:0.0,linux,bash,shell,configuration,x11,Linux,Bash,Shell,Configuration,X11,我的X程序有时必须从控制台启动,但默认情况下,在Ubuntu上未设置DISPLAY env var。在启动脚本中包含DISPLAY=:0.0 startmyapp是否正确,或者如何处理它?谁、何时以及如何负责正确设置此显示变量?为什么在安装X或包含X的桌面后,环境还没有准备就绪?显示变量控制应用程序与之通信的X会话。在任何给定的时刻,都可能有许多或没有这些可用。您不能只是静态地设置此值,并使其必须正确 它在环境中的X会话中设置正确,您可以在该会话之外手动设置以使用同一会话,但您必须知道要使用哪个

我的X程序有时必须从控制台启动,但默认情况下,在Ubuntu上未设置DISPLAY env var。在启动脚本中包含DISPLAY=:0.0 startmyapp是否正确,或者如何处理它?谁、何时以及如何负责正确设置此显示变量?为什么在安装X或包含X的桌面后,环境还没有准备就绪?

显示变量控制应用程序与之通信的X会话。在任何给定的时刻,都可能有许多或没有这些可用。您不能只是静态地设置此值,并使其必须正确

它在环境中的X会话中设置正确,您可以在该会话之外手动设置以使用同一会话,但您必须知道要使用哪个会话


如果您知道该会话将始终是您的会话,并且您知道该会话将始终是您想要使用的会话,那么可以在服务启动脚本中设置它。否则,您需要找到其他方法来确定您需要的显示值。

shell不能假定您的显示始终是localhost:0.0,这就是:0.0的含义,因为您的实际显示可能在其他位置,甚至在另一个IP地址上。您可以在流程开始时将$DISPLAY的定义放在某个位置,但您可能希望检查$DISPLAY是否尚未定义。