oracle配置監聽圖形介面不出來解決方案

來源:互聯網
上載者:User

標籤:命令   fuse   als   universal   install   ror   ogg   accept   設定   

 ROOT使用者下,執行 xhost +   然後再切換到oracle使用者運行netca

 

DISPLAY

在Linux/Unix類作業系統上, DISPLAY用來設定將圖形顯示到何處. 直接登陸圖形介面或者登陸命令列介面後使用startx啟動圖形, DISPLAY環境變數將自動化佈建為:0:0, 此時可以開啟終端, 輸出圖形程式的名稱(比如xclock)來啟動程式, 圖形將顯示在本地視窗上, 在終端上輸入printenv查看當前環境變數, 輸出結果中有如下內容:
DISPLAY=:0.0
使用xdpyinfo可以查看到當前顯示的更詳細的資訊.
DISPLAY 環境變數格式如下hostname: displaynumber.screennumber,我們需要知道,在某些機器上,可能有多個顯示裝置共用使用同一套輸入裝置,例如在一台PC上串連兩台CRT顯示器,但是它們只共用使用一個鍵盤和一個滑鼠。這一組顯示裝置就擁有一個共同的displaynumber,而這組顯示裝置中的每個單獨的裝置則擁有自己單獨的 screennumber。displaynumber和screennumber都是從零開始的數字。這樣,對於我們普通使用者來說, displaynumber、screennumber就都是0。 hostname指Xserver所在的主機主機名稱或者ip地址, 圖形將顯示在這一機器上, 可以是啟動了圖形介面的Linux/Unix機器, 也可以是安裝了Exceed, X-Deep/32等Windows平台啟動並執行Xserver的Windows機器. 如果Host為空白, 則表示Xserver運行於本機, 並且圖形程式(Xclient)使用unix socket方式串連到Xserver, 而不是TCP方式. 使用TCP方式串連時, displaynumber為串連的連接埠減去6000的值, 如果displaynumber為0, 則表示串連到6000連接埠; 使用unix socket方式串連時則表示串連的unix socket的路徑, 如果displaynumber為0, 則表示串連到/tmp/.X11-unix/X0 . screennumber則幾乎總是0.
如果使用su username或者su - username切換到別的使用者, 並且使用命令
export DISPLAY=:0.0
設定DISPLAY環境變數, 運行圖形程式(如xclock)時會收到如下錯誤:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: Can‘t open display: :0.0
這是因為Xserver預設情況下不允許別的使用者的圖形程式的圖形顯示在當前螢幕上. 如果需要別的使用者的圖形顯示在當前螢幕上, 則應以當前登陸的使用者, 也就是切換身份前的使用者執行如下命令
xhost +

xhost 是用來控制X server存取權限的,這個命令將允許別的使用者啟動的圖形程式將圖形顯示在當前螢幕上.。通常當你從hostA登陸到hostB上運行hostB上的應用程式時,做為應用程式來說,hostA是client,但是作為圖形來說,是在hostA上顯示的,需要使用hostA的Xserver,所以hostA是
server.因此在登陸到hostB前,需要在hostA上運行xhost +,來使其它使用者能夠訪問hostA的Xserver.
xhost + 是使所有使用者都能訪問Xserver.
xhost + ip使ip上的使用者能夠訪問Xserver.
xhost + nis:[email protected]使domain上的nis使用者user能夠訪問
xhost + inet:[email protected]使domain上的inet使用者能夠訪問。 
在2台Linux機器之間, 如果設定伺服器端設定檔/etc/ssh/sshd_config中包含
X11Forwarding no
用戶端設定檔/etc/ssh/ssh_config包含
ForwardX11 yes
則從用戶端ssh到伺服器端後會自動化佈建DISPLAY環境變數, 允許在伺服器端執行的圖形程式將圖形顯示在用戶端上. 在伺服器上查看環境變數顯示如下(這個結果不同的時候並不相同)
DISPLAY=localhost:10.0
在客戶機上用netstat -lnp可以看到有程式監聽了6010連接埠
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 4827/1
如果希望允許遠程機器上的圖形程式將圖形顯示在本地機器的Xserver上, 除了要設定遠端機器的DISPLAY環境變數以外, 還需要設定本地機器的Xserver監聽相應的TCP連接埠. 而現在的Linux系統出於安全的考慮, 預設情況下不再監聽TCP連接埠. 可通過修改/etc/X11/xinit/xserverrc檔案, 將
exec /usr/bin/X11/X -dpi 100 -nolisten tcp
修改為
exec /usr/bin/X11/X -dpi 100
允許在直接使用startx啟動圖形時啟動對TCP連接埠的監聽.
修改/etc/kde3/kdm/kdmrc, 將
ServerArgsLocal=-nolisten tcp
修改為
ServerArgsLocal=
允許kdm作為顯示管理器時, 啟動會話時監聽相應的TCP連接埠.
修改/etc/gdm/gdm.conf, 在[Security]一節增加
DisallowTCP=false
或者在登陸視窗選擇"Options" -> "Configure Login Manager..."的Security頁面, 取消"Deny TCP connections to Xserver", 允許gdm作為顯示管理器時, 啟動會話時監聽相應的TCP連接埠.

常見錯誤和解決方案

cause:
X-Windows emulation is not yet correctly configured or is being mis-used.
solution:
1.Make sure that "DISPLAY” is set properly as either:
     <ip address of the DBA desktop PC>:0.0
          or
     <hostname of the DBA desktop PC>:0.0
note:In this example, ip_address/hostnameis the host name or IP address of the system that you want to use to display Oracle Universal Installer (your workstation or PC).
eg.[[email protected] ~]# xhost +
access control disabled, clients can connect from any host
[[email protected] ~]# su - oracle
[[email protected] ~]$ export DISPLAY=192.16.2.98:0.0
[[email protected] ~]$ cd database/
[[email protected] database]$ ./runInstaller
Starting Oracle Universal Installer... 
Checking installer requirements... 
Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
                                      Passed 
All installer requirements met. 
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-03-05_03-36-28PM. Please wait ...[[email protected] database]$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

2. Oracle Customer Support has seen instances where use of the UNIX/Linux “su” command, even “su - oracle” has caused this “Can‘t connect to X11 window server” error. Therefore, please be sure that you are LOGGED ON as the oracle account. Log directly into the install session. Do not use any variety of “su”.
     use oracle log on , not "su - oracle"
eg. [[email protected] database]$ ./runInstaller

3.Oracle Customer Support has seen instances where the incorrect “ulimit” setting for number of files (aka “-n”, aka “nofiles”) has caused this “Can‘t connect to X11 window server” error. Therefore, please be sure that your values for “nofiles” in the output of “ulimit -a” is at least 65536.

備忘:前2個辦法只需要滿足其中一個就可以避免這個錯誤了:直接用oracle登陸,不能su - oracle  or 設定display=ip_address_that you want to use to display Oracle Universal Installer:0.0

NO.35 xhost: unable to open display ""
以root使用者登入
輸入命令xdpyinfo,記錄下裡面的name of display:後的字串,如 name of display:127.0.0.1:1.0
在執行xhost +命令(使得所有客戶都可以訪問)
返回資訊為: 
access control disabled,clients can connect from any host
如果xhost +不能執行,可以輸入命令export DISPLAY=:0執行一下
再執行xhost +
xhost + ip (name表示那個ip機器可以使用該服務)
2、以oracle使用者登入
如果前面root登入下執行xdpyinfo後的name of display:後的字串是127.0.0.1:1.0
那麼在該oracle使用者下執行一下export DISPLAY=:1.0
然後再執行xdpyinfo命令,如果能出現資訊說明你已經成功了
這樣估計就可以解決linux下安裝oracle出現的xhost問題
如果還是不成功,請確認是否開啟了startx

XDMCP被禁用

啟用 XDMCP 紅帽 Linux 上

在 RHEL,預設情況下僅為本地主機啟用 X 11。你需要能夠串連從外部框中編輯檔案/etc/gdm/custom.conf。RHEL 的預設設定是

DisallowTCP=yes
其中應改為"假"
要啟用 XDMCP 一些使用者需要你需要啟用它。
[xdmcp] 
Enable=true
之後重新啟動 X 11 伺服器使用命令
init 3 && init 5
如果另外您想要提供能力,以 root 使用者身份登入,您需要安保科,如下所示
[security]
    DisallowTCP=false
    AllowRemoteRoot=true
如果啟用了防火牆,則您需要開啟幾個連接埠
177 (UDP) 連接埠和連接埠 6000-6005 (TCP)
如果您正在使用 Gnome 開啟 TCP 通訊埠 16001 和 TCP 35091 在兩個方向。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 16001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 35091 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6000:6005 -j ACCEPT

 

oracle配置監聽圖形介面不出來解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.