本機執行x程式出現:Can't open display 原因及其解決方法
在Linux/Unix類作業系統上, DISPLAY用來設定將圖形顯示到何處. 直接登陸圖形介面或者登陸命令列介面後使用startx啟動圖形, DISPLAY環境變數將自動設定為:0:0, 此時可以開啟終端, 輸出圖形程式的名稱(比如xclock)來啟動程式, 圖形將顯示在本地視窗上, 在終端上輸入printenv檢視當前環境變數, 輸出結果中有如下內容:
DISPLAY=:0.0
使用xdpyinfo可以檢視到當前顯示的更詳細的資訊.
DISPLAY 環境變數格式如下host:NumA.NumB, host指Xserver所在的主機主機名或者ip地址, 圖形將顯示在這一機器上, 可以是啟動了圖形介面的Linux/Unix機器, 也可以是安裝了Exceed, X-Deep/32等Windows平臺執行的Xserver的Windows機器. 如果Host為空, 則表示Xserver執行於本機, 並且圖形程式(Xclient)使用unix socket方式連線到Xserver, 而不是TCP方式. 使用TCP方式連線時, NumA為連線的埠減去6000的值, 如果NumA為0, 則表示連線到6000埠; 使用unix socket方式連線時則表示連線的unix socket的路徑, 如果為0, 則表示連線到/tmp/.X11-unix/X0 . NumB則幾乎總是0.
如果使用su username或者su - username切換到別的使用者, 並且使用命令
export DISPLAY=:0.0
##(這句話可以寫進.bashrc)
設定DISPLAY環境變數, 執行圖形程式(如xclock)時會收到如下錯誤:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: Can't open display: :0.0
這是因為Xserver預設情況下不允許別的使用者的圖形程式的圖形顯示在當前螢幕上. 如果需要別的使用者的圖形顯示在當前螢幕上, 則應以當前登陸的使用者, 也就是切換身份前的使用者執行如下命令
xhost +
你需要sux ,su不會帶這個x環境的
是用root使用者登入的嗎?如果是,把/root/.Xauthority刪除,logout,重新進入試試。
_X11TransSocketINETConnect() can't get address for localhost:6001: Name> > or service not known Error: Can't open display: localhost:1.0
解決方法:
1、看/etc/hosts中是否有127.0.0.1 localhost.localdomain localhost,沒有則
配置主機名;
編輯配置檔案:
/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost
10.10.11.16 uatdb.aeonlife.cn uatdb
其中 10.10.11.16 為本機地址,uatdb 為主機名
2、用Oracle使用者登入,設定 DISPLAY 環境變數;
export DISPLAY=your_IPaddress:0.0
注:你的_IPaddress 是A機器的IP地址
第一步:用root登陸linux,啟動vnc服務;
第二步:根據vnc起來的埠,設定export DISPLAY=localhost:1(1表示vnc在第一個tty上啟動的),vnc的啟動資訊見附件1;
第三步:執行xhost +,並且提示“access control disabled, clients can connect from any host”才正確。
linux下的操作日誌如下:
[root@localhost ~]# vncserver
New 'localhost:1 (root)' desktop is localhost:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:1.log
[root@localhost ~]# export DISPLAY=localhost:1
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host
在設定xhost時,出現了unable的問題。
使用上述方法就可以搞定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-2135170/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行 xhost + 出現 unable to open display 解決辦法
- Linux下安裝Oracle 錯誤解決 - Error: Can't open display:127.0..0.1:0.0LinuxOracleError
- 轉貼:xhost unable to open display解決方法
- linux上“rman can't open target”問題解決Linux
- rman: can't open target
- Can't connect to X11 window server using DISPLAY variableServer
- FileZilla:425 Can't open data connection for transfer of解決辦法
- linux解決xhost: unable to open displayLinux
- linux解決xhost unable to open display‘’Linux
- Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解決辦法ErrorMySql
- Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.Server
- [ERROR] Can't open the mysql.plugin tableErrorMySqlPlugin
- 完美解決xhost +報錯: unable to open display
- windows10系統執行steam出現當機的解決方法Windows
- No input file specified 出現的原因及解決方法
- RMAN的"rman: can't open target"錯誤
- 執行Tensorboard出現kernel is dead的解決方法ORB
- linux操作提示:“Can't open file for writing”或“operation not permitted”的解決辦法LinuxMIT
- Mac OS X 下檔名亂碼出現的原因和解決方法Mac
- Supervisor 解決 can't find command *
- 解決can't find -lGL的問題
- Variable 'character_set_client' can't be set to the value of Null的解決方法clientNull
- cordova 解決can’t not find moudle " plugman platform ios"PlatformiOS
- Mysql報錯Fatal error:Can't open and lock privilege tablesMySqlError
- 程式碼簽名證書出錯的原因及解決方法
- MySQL錯誤1042-Can't get hostname for your address解決方法MySql
- win10開機啟動程式不自動執行的解決方法Win10
- win10執行lol出現woops something broke的解決方法Win10OOP
- mac執行git命令出現xcrun: error: invalid active developer path解決方法MacGitErrorDeveloper
- can't assign requested address 錯誤解決
- Xcode 無法開啟沙盒(can't open sandbox)XCode
- 多執行緒的出現是要解決什麼問題的? 本質什麼?執行緒
- 筆記本螢幕變暗的原因分析以及解決方法筆記
- Python讀取檔案時出現UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position xx: 解決方案PythonUnicodeError
- ANR原因及解決方法
- 本機被dns劫持了的解決方法DNS
- 本機檔案不能共享的解決方法
- "locate: can not open `/var/lib/mlocate/mlocate.db"問題解決