Fedora21上的remmina,使用xdmcp协议连接X86 Linux失败?

我有一台X86服务器安装了Ubuntu Linux 16.04,并且按网上教程设置了Xdmcp服务。
通过另一台Windows机器,使用Xmanager能够正确连通X86服务器。

现在客户端换成龙芯3A3000 Fedora21-20170130,使用remmina,并且安装了插件:
# yum install remmina-plugins-xdmcp
再使用remmina连接X86服务器,窗口一闪而过,终端上出现下面的错误:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
(EE) Fatal server error:
(EE) (EE) BUG: triggered 'if (f[f_idx])'
(EE) BUG: log.c:474 in vpnprintf()
(EE) Unsupported printf directive '*'
(EE) Backtrace:
(EE) 0: Xephyr (xorg_backtrace+0x68) [0x1202328a8]

XDMCP fatal error: Session failed %*.*s
请问是什么原因?
 
已邀请:

loongnix

赞同来自:

刚查到原因,是龙芯机器的防火墙设置搞的鬼。
在发起访问的机器(龙芯 Fedora21-0130版本上)上执行下面的命令,停止防火墙:
# service firewalld stop
如果还是不行,再接着执行:
# service iptables stop
# selinuxenabled 0

已经试验可行,remmina的xdmcp插件能够正常连接到X86服务器。

loongnix

赞同来自:

关于这个问题再说几句,很多网络服务不能正常工作都是由于防火墙。
但是系统不会有任何提示,导致错误的原因很难排查。
而Linux的防火墙机制一直比较混乱。
Fedora21默认集成了两套防火墙,一个是iptables(老的),一个是firewalld(新的)。
firewalld 是一个过渡版本,要取代iptables。但是由于iptables已经有多年使用,Fedora21估计还永远无法去除。
这两个软件都是命令行程序。
虽然Fedora21提供了图形化的设置界面,system-config-firewall,但是极其难用!

龙芯Fedora21下一版很可能默认禁用防火墙。

再说Remmina。Remmina使用xdmcp插件时,实际上连接远程Linux是通过调用一个命令行工具Xephyr来实现的。Remmina只实现了一个图形的壳,不处理具体协议。
Xephyr是xorg-server提供的。这个命令行可以单独运行,就可以复现错误:

(龙芯 Fedora21-0130版本上)
$ /usr/bin/Xephyr :1 -query 10.2.5.87
高级用户可以只使用Xephyr就能实现远程登录Linux的图形桌面。

 

要回复问题请先登录注册