Fedora 25 中的“TeamViewer 未准备好。请检查您的连接”错误

Rey*_*rPM 18 linux networking fedora teamviewer

我遇到了这个奇怪的问题,我无法使 TeamViewer 工作,这意味着我收到此错误(检查下图),因此我无法连接到任何远程 PC:

TeamViewer 未就绪。请检查您的连接

在此处输入图片说明

在办公室,使用 Ubuntu 和 Windows 7/10 的其他开发人员可以毫无问题地使用 TeamViewer,所以我不确定问题是什么。我检查了防火墙状态并且没有运行:

$ service firewalld status
Redirecting to /bin/systemctl status  firewalld.service
? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
Run Code Online (Sandbox Code Playgroud)

我已经检查了 SELinux 状态并且它被禁用了:

$ getenforce
Disabled
Run Code Online (Sandbox Code Playgroud)

自从我从发生 Teamviewer 问题的 PC 打开这篇文章以来,我已连接到 Internet。也许与我遇到的另一个问题有关,但我完全不确定。我已经在互联网上检查了一些像这样的文档,但这不是我的问题所以......有什么帮助吗?

注意:如果您需要我方面的任何信息(调试信息),请告诉我,我将添加为 OP 的一部分。另外我不确定这篇文章是否应该在这个社区,但我相信问题来自我的 Linux 而不是来自 Teamviewer 本身。

更新

在遵循@phg 的建议之后,我仍在研究这个问题,我发现了这一点。显然是 Wayland 的一个问题,它尚未修复,仅在 Fedora 25 上发生。我们需要等待 Teamviewer 团队的修复。

更新 1 (01/27/2017)

有一种解决方法,您可以使用不支持的 tarball 文件并且它可以工作,我已经对其进行了测试,但是这种方法存在问题,因为 Teamviewer 不作为服务运行,因此您无法添加运行它的 PC到您的“计算机和联系人”(非常有用)。也许有一种方法可以使可执行文件作为服务运行,但我没有尝试这部分,如果有人可以尝试并留下答案,那么对新手来说会有好处。

Abh*_*ose 2

您的笔记本电脑已连接互联网,除了 teamviewer 之外,其他一切都正常。在这种情况下,预计有一些东西会阻止 teamviewer 访问互联网。

请安装 iptables 并检查您的防火墙规则,如下所示

sudo dnf install iptables    
sudo iptables -S
Run Code Online (Sandbox Code Playgroud)

按如下方式保存现有的 iptable 规则以供将来使用。

sudo iptables-save 
Run Code Online (Sandbox Code Playgroud)

现在刷新所有 iptables 规则

sudo iptables -F
sudo iptables -X   
Run Code Online (Sandbox Code Playgroud)

闪烁后,“sudo iptables -S”的所有规则输出应如下所示

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Run Code Online (Sandbox Code Playgroud)

现在再次检查 teamviewer。如果它仍然不起作用,您必须准确确定它尝试通过哪个端口进行通信。

我使用“tcptrack”工具。它位于 rpmforge 存储库中,不建议添加。在google中搜索.rpm文件并安装它。否则克隆这个 git https://github.com/bchretien/tcptrack.git并构建它。如果您的互联网适配器是“eth0”,请使用以下命令来跟踪数据包。

sudo tcptrack -i eth0
Run Code Online (Sandbox Code Playgroud)

关闭团队查看器。现在保持 tcptrack 终端在一侧打开,然后再次打开 teamviewer。检查 teamviewer 打开了哪些端口。检查您的 ISP 是否允许这些端口等。

后者您可以在必要的编辑(如果有)后使用“iptables-restore”命令恢复保存的 iptable 规则。

编辑曾经我遇到过同样的问题。Linux Teamviewer 客户端打开与目标端口5938的连接。我的防火墙规则阻止与 --dport 5938 无关的连接。如果 tcptrack 不合适,您也可以使用iptraf-ng。它存在于基础存储库中,安装和使用如下

sudo dnf install iptraf
sudo iptraf-ng
Run Code Online (Sandbox Code Playgroud)