2024年4月4日发(作者:)

AIX5.3下 root用户可以弹出Xmanager,oracle用户弹不出

问题描述:

oracle用户使用Xmanager无法打开图形界面,root可以,操作如下:

# export DISPLAY=10.133.64.48:0.0 (10.133.64.48为执行操作的笔记本IP地址)

# xclock -- 可以弹出时钟界面

# su - oracle

$ export DISPLAY=10.133.64.48:0.0

$ xclock -- 一直卡住的状态,没有报错,也没有弹出图形界面

检查过程:

检查xhost +,发现root和oracle用户均没问题(xhost + 这个命令将允许别的用

户启动的图形程序将图形显示在当前屏幕上,一般与DISPLAY共同使用)

1. # xhost +

access control disabled, clients can connect from any host

# su - oracle

$ xhost +

access control disabled, clients can connect from any host

2. 检查是否DISPLAY=ip:0.0,没问题

3. 检查环境变量,没看出有什么问题

root用户

# cat .profile

NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%

export NLSPATH

LANG=en_US

export LANG

oracle用户

$ cat .profile

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.

export PATH

if [ -s "$MAIL" ] # This is at Shell startup. In normal

then echo "$MAILMSG" # operation, the Shell checks

fi # periodically.

export ORACLE_BASE=/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2/db

export NLS_LANG=american_16gbk

export ORACLE_SID=ntes

export PATH=$PATH:$ORACLE_HOME/bin

alias dblog='cd /oracle/admin/ntes/bdump'

4. 检查是否本机的问题,换了其他台机器测试,同网段的服务器也测试过,发现还是

一样的问题。

在原先oracle用户下执行xclock没关掉情况下,大概过了一个多小时后终于显示出

错误:

根据错误提示上网查了一下发现是在字体设置转换缺失字符集的问题

解决方法:export LANG=C (将oracle输出语音改成英文)

# su - oracle

$ export LANG=C

$ export DISPLAY=10.133.64.48:0.0

$ xclock -- 终于弹出界面

总结:

1. Xmanager默认并不提供对于中文的支持

2.先前查看环境变量没仔细对比过,root用户是LANG=en_US,oracle用户是

export NLS_LANG=american_16gbk(中文)