本环境为银河麒麟v10 操作系统,与centos7类似。
1、Linux DISPLAY 变量设置
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 图形将显示在本地窗口上。
DISPLAY环境变量格式如下:
host:NumA.NumB
host指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器,如果Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式. 使用TCP方式连接时, NumA为连接的端口减去6000的值, 如果NumA为0, 则表示连接到6000端口,如果为1则表示使用6001端口,使用端口为6000+NumA; 使用unix socket方式连接时则表示连接的unix socket的路径, 如果为0, 则表示连接到/tmp/.X11-unix/X0 。 NumB则总是0。
图像化安装DM数据库演示如何调用图像化
su - dmdba
export DISPLAY=:0.0
xhost +
当xhost出现以上 clients can connect表示可以成功调用图像化界面了。
2、错误处理
当非root用户设置DISPLAY环境变量, 运行xhost时会收到如下错误时:
Xlib: connection to “:0.0” refused by server
Xlib: No protocol specified
Error: Can’t open display: :0.0
这是因为默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应先以root用户设置DISPLAY后 。在su - 切换身份前的执行xhost + ,xhost + 表示允许其他用户也调用图像化程序 。再切换用户后设置DISPLAY环境变量就能正常调用图像化。
更多资讯请上达梦技术社区了解:https://eco.dameng.com/