在安装Oracle 11g时,可能会遇到xhost: unable to open display的问题,这个问题通常是由于X服务器配置不正确或者X客户端无法连接到X服务器导致的,为了解决这个问题,我们可以按照以下步骤进行操作:
1、检查X服务器配置
我们需要检查X服务器的配置是否正确,可以通过以下命令查看X服务器的配置信息:
grep -i xserver /etc/sysconfig/displaymanager
如果输出结果中包含DISPLAYMANAGER=gdm
或DISPLAYMANAGER=lightdm
,则表示X服务器已经正确配置,如果没有输出结果,或者输出结果中不包含这些值,则需要修改X服务器的配置。
2、修改X服务器配置
如果X服务器配置不正确,可以通过以下步骤进行修改:
打开/etc/sysconfig/displaymanager
文件:
sudo vi /etc/sysconfig/displaymanager
将DISPLAYMANAGER
的值修改为gdm
或lightdm
:
DISPLAYMANAGER=gdm
或
DISPLAYMANAGER=lightdm
保存并退出文件。
3、重启X服务器和计算机
修改完X服务器配置后,需要重启X服务器和计算机以使更改生效,可以通过以下命令重启X服务器:
sudo service gdm restart
或
sudo service lightdm restart
通过以下命令重启计算机:
sudo reboot
4、检查X客户端连接状态
重启计算机后,再次尝试运行安装程序,看是否还会出现xhost: unable to open display的错误,如果问题仍然存在,可以尝试使用以下命令查看X客户端的连接状态:
xhost +si:localuser:root
如果输出结果中包含SI: Local User access control enabled
,则表示X客户端已经成功连接到X服务器,如果没有输出结果,或者输出结果中不包含这个值,则需要进一步检查X客户端的配置。
5、检查X客户端配置
如果X客户端无法连接到X服务器,可以尝试检查X客户端的配置,确保已经安装了X客户端软件(如xterm、xclock等),通过以下命令查看X客户端的配置文件:
grep -i xauth ~/.xinitrc ~/.xsessionrc ~/.xserverrc ~/.xclients ~/.xhosts | grep -v noaccess
如果输出结果中包含localhost:0
或其他IP地址和端口号,则表示X客户端已经正确配置,如果没有输出结果,或者输出结果中不包含这些值,则需要修改X客户端的配置。
6、修改X客户端配置
如果X客户端配置不正确,可以通过以下步骤进行修改:
打开~/.xinitrc
、~/.xsessionrc
、~/.xserverrc
、~/.xclients
和~/.xhosts
文件:
vi ~/.xinitrc ~/.xsessionrc ~/.xserverrc ~/.xclients ~/.xhosts
在这些文件中添加以下内容:
export XAUTHORITY=$HOME/.Xauthority xhost +si:localuser:root@localhost:0 &> /dev/null & disown -a && xhost +si:localuser:root@$HOSTNAME:0 &> /dev/null & disown -a && xhost +si:localuser:root@$DISPLAY:0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(ip route get 8.8.8.8 | awk '{print $NF; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si:localuser:root@$(hostname -I | awk '{print $1; exit}'):0 &> /dev/null & disown -a && xhost +si