版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/
在Linux/Unix类操作上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动設置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下內容:
使用xdpyinfo可以查看到当前显示的更详细的信息.
设置DISPLAY环境变量, 运行图形程序(如xclock)时会收到如下错误:
这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令
这個命令将允许别的用户启动的图形程序将图形显示在当前屏幕上.
则从客户端ssh到服务器端后会自动设置DISPLAY环境变量, 允许在服务器端执行的图形程序将图形显示在客户端上. 在服务器上查看环境变量显示如下(这个结果不同的时候并不相同)
在客户机上用netstat -lnp可以看到有程序监听了6010端口
如果唏望允许远程机器上的图形程序将图形显示在本地机器的Xserver上, 除了要设置远端机器的DISPLAY环境变量以外, 还需要设置本地机器的Xserver监听相应的TCP端口. 而現在的Linux系统出于安全的考虑, 默认情况下不再监听TCP端口. 可通过修改/etc/X11/xinit/xserverrc文件, 将
允许在直接使用startx启动图形时启动对TCP端口的监听.
允许kdm作为显示管理器時, 启动会话时监听相应的TCP端口.
使用CutyCapt截图工具的时候报这个错。
版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/
#PS:要转载请注明出处本人版权所有
#PS:这个只是 《 我自己 》理解,如果和你的
#原则相冲突请谅解,勿喷
我在GUI桌媔中的bash能够执行此PyQt程序但是在字符终端中的bash执行就会报错
想到是由于无图形界面的原因,在网上找了一下午想实现一个功能就是在tty1中指定tty7来运行这个程序,但是没有找到解决办法最后发现一个环境变量可以很Ok的解决此问题。
#PS:请尊重原创,不喜勿喷
#PS:要转载请注明出处本人版权所有.
有问题请留言,看到后我会第一时间回复
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。