2016-01-21 714 views
6

我有一個VPS,其操作系統是CentOS6.3。我想通過PuTTY和Xming運行startx轉發X11失敗:網絡錯誤:連接被拒絕

但是,它會產生這樣的錯誤:

PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused 

整體條件:

Using username "root". 
Authenticating with public key "rsa-key-20150906" from agent 
Last login: Thu Jan 21 13:53:40 2016 from 222.222.150.82 
[[email protected] ~]# xhost + 
PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused 
xhost: unable to open display "localhost:10.0" 
[[email protected] ~]# echo $DISPLAY 
localhost:10.0 
[[email protected] ~]# gedit 
PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused 
(gedit:6287): Gtk-WARNING **: cannot open display: localhost:10.0 
[[email protected] ~]# 

這裏是Xming的日誌:

Welcome to the Xming X Server 
Vendor: Colin Harrison 
Release: 6.9.0.31 
FreeType2: 2.3.4 
Contact: http://sourceforge.net/forum/?group_id=156984 

Xming :10 -multiwindow -clipboard 

XdmcpRegisterConnection: newAddress 192.168.139.1 
winAdjustVideoModeShadowGDI - Using Windows display depth of 32 bits per pixel 
winAllocateFBShadowGDI - Creating DIB with width: 1366 height: 768 depth: 32 
winInitVisualsShadowGDI - Masks 00ff0000 0000ff00 000000ff BPRGB 8 d 24 bpp 32 
glWinInitVisuals:1596: glWinInitVisuals 
glWinInitVisualConfigs:1503: glWinInitVisualConfigs glWinSetVisualConfigs:1581: glWinSetVisualConfigs 
init_visuals:1055: init_visuals 
null screen fn ReparentWindow 
null screen fn RestackWindow 
InitQueue - Calling pthread_mutex_init 
InitQueue - pthread_mutex_init returned 
InitQueue - Calling pthread_cond_init 
InitQueue - pthread_cond_init returned 
winInitMultiWindowWM - Hello 
winInitMultiWindowWM - Calling pthread_mutex_lock() 
winMultiWindowXMsgProc - Hello 
winMultiWindowXMsgProc - Calling pthread_mutex_lock() 
glWinScreenProbe:1390: glWinScreenProbe 
fixup_visuals:1303: fixup_visuals 
init_screen_visuals:1336: init_screen_visuals 
(--) 5 mouse buttons found 
(--) Setting autorepeat to delay=500, rate=31 
(--) winConfigKeyboard - Layout: "00000804" (00000804) 
(EE) Keyboardlayout "Chinese (Simplified) - US Keyboard" (00000804) is unknown 
Could not init font path element D:\Program Files (x86)\Xming/fonts/misc/, removing from list! 
Could not init font path element D:\Program Files (x86)\Xming/fonts/TTF/, removing from list! 
Could not init font path element D:\Program Files (x86)\Xming/fonts/Type1/, removing from list! 
Could not init font path element D:\Program Files (x86)\Xming/fonts/75dpi/, removing from list! 
Could not init font path element D:\Program Files (x86)\Xming/fonts/100dpi/, removing from list! 
Could not init font path element C:\Program Files\Xming\fonts\dejavu, removing from list! 
Could not init font path element C:\Program Files\Xming\fonts\cyrillic, removing from list! 
Could not init font path element C:\WINDOWS\Fonts, removing from list! 
winInitMultiWindowWM - pthread_mutex_lock() returned. 
winInitMultiWindowWM - pthread_mutex_unlock() returned. 
winInitMultiWindowWM - DISPLAY=127.0.0.1:10.0 
winMultiWindowXMsgProc - pthread_mutex_lock() returned. 
winMultiWindowXMsgProc - pthread_mutex_unlock() returned. 
winMultiWindowXMsgProc - DISPLAY=127.0.0.1:10.0 
winProcEstablishConnection - Hello 
winInitClipboard() 
winProcEstablishConnection - winInitClipboard returned. 
winClipboardProc - Hello 
DetectUnicodeSupport - Windows Vista 
winClipboardProc - DISPLAY=127.0.0.1:10.0 
winInitMultiWindowWM - XOpenDisplay() returned and successfully opened the display. 
winMultiWindowXMsgProc - XOpenDisplay() returned and successfully opened the display. 
winClipboardProc - XOpenDisplay() returned and successfully opened the display. 

這是我sshd_config的VPS:

# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ 

# This is the sshd server system-wide configuration file. See 
# sshd_config(5) for more information. 

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin 

# The strategy used for options in the default sshd_config shipped with 
# OpenSSH is to specify options with their default value where 
# possible, but leave them commented. Uncommented options change a 
# default value. 

#Port 22 
#AddressFamily any 
#ListenAddress 0.0.0.0 
#ListenAddress :: 

# Disable legacy (protocol version 1) support in the server for new 
# installations. In future the default will change to require explicit 
# activation of protocol 1 
Protocol 2 

# HostKey for protocol version 1 
#HostKey /etc/ssh/ssh_host_key 
# HostKeys for protocol version 2 
#HostKey /etc/ssh/ssh_host_rsa_key 
#HostKey /etc/ssh/ssh_host_dsa_key 

# Lifetime and size of ephemeral version 1 server key 
#KeyRegenerationInterval 1h 
#ServerKeyBits 1024 

# Logging 
# obsoletes QuietMode and FascistLogging 
#SyslogFacility AUTH 
SyslogFacility AUTHPRIV 
#LogLevel INFO 

# Authentication: 

#LoginGraceTime 2m 
#PermitRootLogin yes 
#StrictModes yes 
#MaxAuthTries 6 
#MaxSessions 10 

#RSAAuthentication yes 
#PubkeyAuthentication yes 
#AuthorizedKeysFile .ssh/authorized_keys 
#AuthorizedKeysCommand none 
#AuthorizedKeysCommandRunAs nobody 

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts 
#RhostsRSAAuthentication no 
# similar for protocol version 2 
#HostbasedAuthentication no 
# Change to yes if you don't trust ~/.ssh/known_hosts for 
# RhostsRSAAuthentication and HostbasedAuthentication 
#IgnoreUserKnownHosts no 
# Don't read the user's ~/.rhosts and ~/.shosts files 
#IgnoreRhosts yes 

# To disable tunneled clear text passwords, change to no here! 
#PasswordAuthentication yes 
#PermitEmptyPasswords no 
PasswordAuthentication yes 

# Change to no to disable s/key passwords 
#ChallengeResponseAuthentication yes 
ChallengeResponseAuthentication no 

# Kerberos options 
#KerberosAuthentication no 
#KerberosOrLocalPasswd yes 
#KerberosTicketCleanup yes 
#KerberosGetAFSToken no 
#KerberosUseKuserok yes 

# GSSAPI options 
#GSSAPIAuthentication no 
GSSAPIAuthentication yes 
#GSSAPICleanupCredentials yes 
GSSAPICleanupCredentials yes 
#GSSAPIStrictAcceptorCheck yes 
#GSSAPIKeyExchange no 

# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication and 
# PasswordAuthentication. Depending on your PAM configuration, 
# PAM authentication via ChallengeResponseAuthentication may bypass 
# the setting of "PermitRootLogin without-password". 
# If you just want the PAM account and session checks to run without 
# PAM authentication, then enable this but set PasswordAuthentication 
# and ChallengeResponseAuthentication to 'no'. 
#UsePAM no 
UsePAM yes 

# Accept locale-related environment variables 
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT 
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE 
AcceptEnv XMODIFIERS 

#AllowAgentForwarding yes 
#AllowTcpForwarding yes 
GatewayPorts yes 
#X11Forwarding no 
X11Forwarding yes 
#X11DisplayOffset 10 
X11UseLocalhost yes 
#PrintMotd yes 
#PrintLastLog yes 
#TCPKeepAlive yes 
#UseLogin no 
#UsePrivilegeSeparation yes 
#PermitUserEnvironment no 
#Compression delayed 
#ClientAliveInterval 0 
#ClientAliveCountMax 3 
#ShowPatchLevel no 
#UseDNS yes 
#PidFile /var/run/sshd.pid 
#MaxStartups 10:30:100 
#PermitTunnel no 
#ChrootDirectory none 

# no default banner path 
#Banner none 

# override default of no subsystems 
Subsystem sftp /usr/libexec/openssh/sftp-server 

# Example of overriding settings on a per-user basis 
#Match User anoncvs 
# X11Forwarding no 
# AllowTcpForwarding no 
# ForceCommand cvs server 

而且我已經啓用了X11轉發

enter image description here

是什麼造成上面給出的錯誤?


新添加的細節

據@lilydjwg答案,我已經填寫了 「X顯示位置」,然後再次嘗試,但它仍然是錯誤的:

enter image description here

Using username "root". 
Authenticating with public key "rsa-key-20150906" from agent 
Last login: Thu Jan 21 22:24:57 2016 from 222.222.150.82 
[[email protected] ~]# echo $DISPLAY 
localhost:10.0 
[[email protected] ~]# gedit 
process 6968: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open"/var/lib/dbus/machine-id": No such file or directory 
See the manual page for dbus-uuidgen to correct this issue. 
    D-Bus not built with -rdynamic so unable to print a backtrace 
Aborted 
[[email protected] ~]# 
+0

不,你不知道。你不能''用膩子來做'。 – Jakuje

+0

@Jakuje不只是startx,但是當我運行gedit時,它也是錯誤的。 – TJM

+0

我認爲你的gedit問題與你的X連接無關。它無法找到一個D-Bus連接,通常通過窗口管理器啓動。嘗試一些基本的東西,比如'xclock',看看是否有效。 – JvO

回答

12

PuTTY找不到您的X服務器,因爲您沒有告訴它。 (在Linux上的ssh沒有這個問題,因爲它在X下運行,所以它只使用那個)。在X顯示位置之後用Xming服務器地址填​​充空白框。

或者,嘗試MobaXterm。它有一個內置的X服務器。

+1

但是要填充什麼?填寫'localhost:10'? – TJM

+0

@TJM只是嘗試一下;它應該工作。 – lilydjwg

+0

@TJM gedit正在使用D-Bus,因此您也應該轉發。實際上,即使你已經轉發D-Bus,一些應用程序也不會工作,例如,表明。 – lilydjwg

1

的d-總線錯誤可以固定DBUS推出:

dbus-launch command 
6

其他答案是過時的,不完整,或根本不工作。

您還需要在主機上指定一個X-11服務器來處理啓動GUId程序。如果客戶端是Windows機器安裝Xming。 如果客戶端是Linux機器安裝XQuartz。

現在假設這是Windows連接到Linux。爲了能夠在膩子推出X11方案以及執行以下操作:

- Launch XMing on Windows client 
- Launch Putty 
    * Fill in basic options as you know in session category 
    * Connection -> SSH -> X11 
     -> Enable X11 forwarding 
     -> X display location = :0.0 
     -> MIT-Magic-Cookie-1 
     -> X authority file for local display = point to the Xming.exe executable 

當然SSH服務器應該允許桌面共享「允許其他用戶查看您的桌面」。

MobaXterm和其他完整的遠程桌面程序也可以工作。

[如果仍有問題,請查看我的完整指南here。 ]

-1

你應該安裝一個x服務器,比如XMing。並保持x服務器正在運行。 配置你的膩子是這樣的:Connection-Data-SSH-X11-Enable X11 forwarding should be checked。和X顯示位置:localhost:0

相關問題