1、oracle用戶登錄到linux圖形界面中
2、啟動SecureCRT,進入Options->Session Options->Remote/X11 選中Forword X11 Packets ->OK
進入Options->Save Settings Now 之后重啟SecureCRT
3、啟用SecureCRT打開一個終端界面以root用戶登錄(即終端登錄時就是root用戶)執行命令:env 查看環境如下所示
[root@rhel ~]# env
HOSTNAME=rhel
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.104 3363 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=192.168.1.104 3363 192.168.1.111 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:10.0(如果SecureCRT沒有選中Forword X11 Packets則不會出現這個環境變量)
G_BROKEN_FILENAMES=1
_=/bin/env
[root@rhel ~]# export DISPLAY=localhost:0.0
[root@rhel ~]# env
HOSTNAME=rhel
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.104 3363 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=192.168.1.104 3363 192.168.1.111 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:0.0
G_BROKEN_FILENAMES=1
_=/bin/env
在這之后使用SecureCRT打開另一終端同樣以root用戶登錄,執行命令如下:
[root@rhel ~]# xhost + (xhost +ip/hostname ---主要是讓本機終端能夠訪問x server圖形界面服務)
access control disabled, clients can connect from any host
[root@rhel ~]# xhost +localhost
localhost being added to access control list
在這時一共打開了兩個終端,回到第一個終端執行命令如下:
[root@rhel ~]# su - oracle
[oracle@rhel ~]$ dbca
Exception in thread "main" [oracle@rhel ~]$ export DISPLAY=192.168.1.104:0.0
[oracle@rhel ~]$ dbca
出現dbca圖形界面(這和我同時安裝了Xmanager有關系,因為在調用dbca圖形界面時,SecureCRT自動調用了Xmanager-Passive程序,如果在此時這個程序沒有啟動則拋出異常如:Exception in thread "main" [oracle@rhel ~]$ 此時查看dbca異常信息如下:
[root@rhel dbca]# cat trace.log
java.lang.InternalError: Can't connect to X11 window server using '192.168.1.104:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
at java.awt.Font.initializeFont(Font.java:308)
at java.awt.Font.<init>(Font.java:344)
at oracle.ewt.lwAWT.LWComponent.<clinit>(Unknown Source)
at oracle.sysman.assistants.util.wizard.WizardObject.<init>(WizardObject.java:64)
at oracle.sysman.assistants.dbca.ui.DBCAWizard.<init>(DBCAWizard.java:425)
at oracle.sysman.assistants.dbca.ui.UIHost.<init>(UIHost.java:214)
at oracle.sysman.assistants.dbca.ui.InteractiveHost.<init>(InteractiveHost.java:54)
at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:160)
at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:94)
at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:180)
4、備注:xhost命令只需配置一次即可,反復配置會拋出異常,像服務器沒有啟動或X connection to localhost:11.0 broken (explicit kill or server shutdown)啊之類的問題,在重啟linux之后,可以再次按照以上步驟進行配置,否則只需在一個終端上配置DISPLAY變量即可,只要此變量配置正確,並且Xmanager-Passive程序啟動,就可以正確的調用dbca或其他圖形界面。0.0解釋:第一個0是第幾個終端,第二個是第幾個顯示器。也可以直接使用Xmanager工具。
5、總結:
From one xterm run "su oracle-user" then run "export DISPLAY=localhost:0.0"
From another xterm run: "xhost +" and then from the first xterm run the installer.