我有一个VPS操作系统是CentOS6.3。我想通过PuTTY和Xming运行startx
。
但是,它产生了这个错误:
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
[root@mairo ~]# xhost +
PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xhost: unable to open display "localhost:10.0"
[root@mairo ~]# echo $DISPLAY
localhost:10.0
[root@mairo ~]# 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
[root@mairo ~]#
这是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.
这是关于VPS的sshd_config
:
# $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转发
导致上述错误的原因是什么?
新添加的详细信息
根据@lilydjwg的回答,我填写了“X显示位置”,然后再次尝试,但它仍然是错误的:
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
[root@mairo ~]# echo $DISPLAY
localhost:10.0
[root@mairo ~]# 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
[root@mairo ~]#
答案 0 :(得分:16)
PuTTY无法找到X服务器的位置,因为您没有说出来。 (Linux上的ssh没有这个问题,因为它在X下运行所以它只使用那个。)在" X显示位置"之后填写空白框。使用您的Xming服务器的地址。
或者,尝试MobaXterm。它内置了一个X服务器。
答案 1 :(得分:10)
其他答案已过时或不完整,或者根本无法正常工作。
您还需要在主机上指定X-11服务器来处理GUId程序的启动。如果客户端是Windows机器安装Xming。 如果客户端是Linux机器安装XQuartz。
现在假设这是Windows连接到Linux。为了能够在putty上启动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。 ]
答案 2 :(得分:1)
可以使用dbus-launch修复D-Bus错误:
dbus-launch command
答案 3 :(得分:0)
请勿以root用户身份登录,请尝试另一个具有sudo权限的用户。
答案 4 :(得分:0)
填写“ X显示位置”对我不起作用。 但安装MobaXterm即可完成工作。
答案 5 :(得分:0)
我遇到了同样的问题,但是现在已经解决了。 最后,Putty确实可以与Cigwin-X一起使用,并且Xming并不是MS-Windows X-server的强制性应用。
现在是Xlaunch,它控制X窗口的运行。 当然,必须在Cigwin中安装xlaunch.exe。 当以交互模式运行时,它会要求“额外设置”。 您应该在其他参数字段中添加“ -listen tcp”,因为默认情况下Cigwin-X不会侦听TCP。
为了不重复这些步骤,您可以将设置保存到文件中。并通过其快捷方式运行xlaunch.exe,并在其中修改CLI。
C:\cygwin64\bin\xlaunch.exe -run C:\cygwin64\config.xlaunch
答案 6 :(得分:0)
X 显示位置:localhost:0 为我工作:)
答案 7 :(得分:0)
ssh.exe -X
不起作用,但 ssh.exe -Y
起作用。感谢@KeyC0de 的回答,我已经使用 PuTTY.exe 从我的本地 Windows 10 成功连接到我的远程 Linux Debian 机器,启用使用 xterm 或其他 X11 图形程序。
但未能通过没有 PuTTY.exe 的 Windows 裸 ssh.exe 会话启动它们,即使 Xming.exe 安装在 Windows 10 本地主机中。
使用裸ssh.exe可执行文件,然后在Linux下使用xterm,我用这个方法成功了:
在 PowerShell 中,我们这样做:
$env:DISPLAY="localhost:0"
ssh.exe -Y user@example.com
现在我们在 linux 远程盒子上,
我们像这样启动 X11 程序:
$ xterm
大功告成。
<块引用>ssh -Y
启用受信任的 X11 转发。受信任的 X11 转发不是
受 X11 安全扩展控件的约束。
如果您还在使用旧的 Windows 命令行提示符或 .bat 脚本,请按以下方式操作:
在 MS-DOS cmd.exe 控制台中,我们这样做:
SET DISPLAY=localhost:0
ssh.exe -Y user@example.com
Windows 10 PowerShell 控制台上的插图:
在 Linux 上生成这个 X11 小部件窗口:
答案 8 :(得分:0)
对我来说,这是一个简单的错误:Xming 没有运行。确保您的 Xming 进程在后台运行,否则将无法运行。例如,如果您重新启动计算机,并且没有将 Xming 设置为自动运行。
答案 9 :(得分:-1)
您应该安装X服务器,例如XMing。并保持x服务器正在运行。 像这样配置你的putty:应该检查Connection-Data-SSH-X11-Enable X11转发。和X显示位置:localhost:0