小小唠叨一下,我认为有2点可以注意下,第一,xdmcp参数配置要细心,第二,直接用oracle用户登录并配置启动图像界面之前的参数。
xdmcp原理
转载一篇xdmcp原理的相关文章
导读:
几个人同时有x windows时。
X server :主要是负责显示。
x client:主要是负表运算。
设定XDMCP
XDM是X Display Manager的简称。功能就是管理操控xserver的显示。
主要有两种方式:
X Server/client在同一部机器上时,那么启动xdm之后,就会产生一个X server了,
如果不在一部机器上时,启动xdm之后,他会透过网络去管理远程那部主机的
x server了,而XDMCP(X Display Manager Control Protocol)就是负责监听来自网络上面对于xdm的要求。
由X11(Centos使用的是Xorg这个计划的X11)提供的display manager为xdm,设定档在/etc/X11/xdm/xdm-config.而KDE与GNOME也都有自已的display manager管理程序。分别是kdm与gdm,设定档则是/etc/X11/xdm/kdmrc与/etc/X11/gdm/gdm.config我们可以透过三者中任何一个的display manager 的设定档案来启动xdmcp这个协议呢?
要启用xdmcp的功能真的很简单,修改/etc/X11/xdm/xdm-config这个档案,找到底下一行(一般是最后一行):
DisplayManager.requestPort:0
将它改成:
!DisplayManager.requestPort:0
就是批注掉,然后重新启动xdm就好了。KDM与GDM的设定也类似,底下的就是以kdm来进行xdmcp的架设。
1。先让kdm支持xdmcp模式。
[root@test root]#cd /etc/X11/xdm
[root@test xdm]#vi kdmrc
[Xdmcp]
Enable=1
#大约是在70行左右。
2。让client可以透过X来登系统!与权限有关的设定。
[root@test xdm]#vi Xaccess
*
#为了安全性上面的需要,想要登入X的话,得要通过这个档案的验证。
#找到上面这一行,如果没有这一行的话,
#就自行加入。这表示(不论来自哪里,我都接受X的登入)
3.启动kdm。
[root@test root]#/etc/init.d/xfs start
#就如同我们上面提到的,kdm执行后,可能的话,会在本机端启动一个X server#的。而我们这一版的Xorg要顺利的启动,得要先启用X Font server才行。
#否则的话,您就得要到/etc/x11/xorg.conf里面去设定好每一个字型路径才行。
[root@test xdm]#kdm
[root@test xdm]#netstat -tlunp
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 5920/x
tcp 0 0 :::6000 :::* LISTEN 5920/X
udp 0 0 :::177 :::* 5918/kdm
#要看到有177的udp port才行,因为那是xdmcp协议的监听端口。
#不过,如果要看看是否有成功启动X的话,就得要查阅6000这个port。
#如果没有看到port 6000的话,请查阅/var/log/Xorg.0.log喔!
#如果想要设定开机启动的话,可以利用chkconfig加入xfs.
#也可以将kdm这个指令写到/etc/rc.d/rc.local这个档案中。
客启端登入:
linux主机是客户端:
0。请务必要在X Window当中,进入的方式有:
[root@client ~]#startx
或
[root@client ~]#init 5
1.在X Window 的画面当中,启用一个shell,然后输入:
[root@client ~]#xhost + 192.168.1.100
192.168.1.100 being added to access control list
#假设我们刚刚那部主机的IP为192.168.1.100
[root@client ~]#init 3 <==关闭x server
2.在文字接口下输入:
[root@client ~]#X -query 192.168.1.100
#进入x-window
客户端windows主机.
可以用x-win32进入
利用Xmanager的Xshell工具,SSH远程连接至Linux主机,在linux命令提示符下直接运行gnome-session或startkde,Xmanager会自动运行Xmanager-Passive来接收由SSH转发至本地的图形界面信息
关闭XDMCP
[root@test xdm]#killall -9 kdm
[root@test xdm]#/etc/init.d/xfs stop
######################################################
因xhost命令和DISPLAY环境变量操作不当导致无法启动Oracle图形化安装界面
安装oracle时发现在root用户下可以启动xclock,可以看到小闹钟,可是一切到oracle用户下就不能启动。郁闷了1小时,下班了,回家之后再上网查到这么一篇文章,看来已经有人遇到了。我试了一下,好使。记录备案。
今天在AIX操作系统上安装Oracle
11.1时,遇到在执行runInstaller后无法启动安装图像化界面,甚是郁闷。问题现象:使用Xmanager2.0软件登陆AIX桌面,root用户可以启动xclock钟表,在使用“xhost
+”命令后su到oracle用户后便始终无法看到xclock命令对应的那个可爱的小钟表,因此也无法启动Oracle的图形化安装界面。安装进度就此Delay。终极解决方法:1.使用Xmanager登陆到root用户的桌面,开启一个terminal;2.关键的第一步:设置DISPLAY环境变量为登陆机器的IP地址(注意这里你本机的IP地址,我本机的IP是10.10.11.16);# export DISPLAY=10.10.11.16:0.0# echo $DISPLAY10.10.11.16:0.03.使用“xhost +”命令;# xhost +access control disabled, clients can connect from any host4.切换到oracle用户;# su - oracle5.关键的二步:在oracle用户再一次设置DISPLAY环境变量为登陆机器的IP地址;如果不操作这一步骤,su到oracle用户后这个环境变量可能会丢失——郁闷之所在。$ export DISPLAY=10.10.11.16:0.0$ echo $DISPLAY10.10.11.16:0.06.另外一个关键注意事项;注意DISPLAY设置的内容,一定要参考Xmanager左上角的提示内容进行设置,否则将会遭受到另一番挫折。很有可能需要设置DISPLAY变量为下面的样子$ export DISPLAY=10.10.11.16:1.0$ echo $DISPLAY10.10.11.16:1.07.小结巧妇难为无米之炊,如果选择图像化方式部署Oracle,那么顺利启动图像化安装界面就非常重要。“xhost +”和“DISPLAY”的混合使用不当将会导致非常惨烈的结果,引以为戒!
########################################
数据库安装过程报错:at.java.awt.X11GraphicsEnvironment解决之道
解决办法:
首先检查需要安装的包是否已经安装完毕。其次,直接用oracle用户登录,不要用root用户然后su到oracle,不要偷这点懒,免得花更多的时间来排错。
报错如下:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:44)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:516)
at IDEP.launchSetup(IDEP.java:293)
at IDEP.setup(IDEP.java:154)
at IDEP.main(IDEP.java:62)
Caused by: java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:136)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
at sun.awt.X11.XToolkit.(XToolkit.java:89)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:136)
at java.awt.Toolkit$2.run(Toolkit.java:846)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:838)
at sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:140)
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1557)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:142)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1592)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:542)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:582)
at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1346)
at javax.swing.UIManager.initialize(UIManager.java:1435)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1423)
at javax.swing.UIManager.getDefaults(UIManager.java:663)
at javax.swing.UIManager.put(UIManager.java:992)
at com.memoire.vainstall.VAGlobals.setLanguage(Unknown Source)
at com.memoire.vainstall.Setup.(Unknown Source)
... 7 more
Caused by: java.lang.InternalError: Can't connect to X11 window server using '132.104.64.177:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:131)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:136)
at sun.swing.SwingUtilities2.isLocalDisplay(SwingUtilities2.java:1407)
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1556)
... 18 more