安装了 Teamviewer,使用了 64 位系统,但是出现了依赖错误。

我试图安装Teamviewer,但是遇到了依赖错误。我尝试安装所需的软件包,但是没有成功。
我遇到了以下错误:
Unpacking teamviewer (from teamviewer_linux_x64.deb) ...
dpkg: dependency problems prevent configuration of teamviewer:
 teamviewer depends on lib32asound2; however:
  Package lib32asound2 is not installed.
 teamviewer depends on lib32z1; however:
  Package lib32z1 is not installed.
 teamviewer depends on ia32-libs; however:
  Package ia32-libs is not installed.

dpkg: error processing teamviewer (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 teamviewer

我试过了
sudo apt-get -f install

获取

Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  lib32z1 lib32ncurses5 lib32bz2-1.0

Package lib32asound2 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'lib32asound2' has no installation candidate
E: Package 'ia32-libs' has no installation candidate

我甚至都无法到达那里。
sudo dpkg -i teamviewer_linux_x64.deb

如果我强行安装
sudo dpkg --force-depends -i teamviewer_linux_x64.deb

虽然标题是“设置Teamviewer”,但是给我的却是这个内容:

Enter image description here

怎么解决这个问题?

安装“32位/64位多架构”版本。在我的系统上完美运行。不要安装只有64位的版本。- http://www.teamviewer.com/en/download/linux.aspx - Sepero
所有的方法对我来说都是无用的。最后我从官方网站下载了这个文件:https://download.teamviewer.com/download/teamviewer_i386.tar.xz 然后解压缩并运行它,完成!(此版本在Wine环境中运行) - Siwei
sudo apt-get -f install 对我来说起作用了。谢谢! - Henrik
6个回答

问题在于teamviewer_linux_x64.deb这个软件包,它是针对64位系统设计的,但使用了一个过时的软件包ia64-libs,该软件包曾试图在基于Debian的系统中实现多架构支持。然而,软件包方案已经改变,现在Teamviewer为i386和amd64架构分别提供本机构建,因此不再需要多架构支持。
只需下载适用于Debian/Ubuntu的合适的软件包,并使用您喜欢的方法进行安装即可。该软件包还会安装一个软件源,因此在升级系统时也会自动升级。

14我尝试了Gdebi的方法,但没有帮助。 我得到了错误信息:依赖项无法满足:lib32asound2 - Slava Fomin II
4@SlavaFominII 安装32位版本而不是64位版本 - ssgao
2:i386是什么意思?我使用的是x64,我应该使用:i386吗? - Incerteza
1@Alex 是的,这个答案只适用于64位系统。 - Braiam
1这很有趣,i386不是代表32位吗?而ia64(或其他什么)代表64位? - Incerteza
@Alex http://askubuntu.com/q/54296/169736 - Braiam
2i386是Windows 32位版,amd64(或x86_64)是64位版。 - Incerteza
2@Alex你不明白。他们没有64位的TeamViewer二进制文件,所以他们依赖ia32-libs和multiarch,这样他们的32位二进制文件可以在64位系统上运行。 - Braiam
@Braiam,请问你有关于签名密钥的任何建议吗?请参考这个链接:[http://stackoverflow.com/q/35449973/2404470]。谢谢! - Zameer Ansari
1TeamViewer在他们的网站上发布了一个适用于Ubuntu的新版本,使用sudo apt-get -f install ./teamviewer_13.1.3026_amd64.deb命令即可安装,无需其他步骤。 - Vidz

我只需要做 dpkg --force-all -i *.deb 来修复这个问题,安装那个软件包。请注意,唯一无法解决的依赖是 libpng12-0,所以在强制安装后,界面中没有图像,但仍然可以运行。其他解决方案对我来说都没有解决问题。希望 Teamviewer 的开发人员能尽快解决这个问题。

我得出了和你一样的结论。你联系过TeamViewer的支持服务吗?他们给你回复了吗?你找到解决办法了吗? - Rémi B.
2我从未联系过他们,只是因为根据我的经验,没有一家公司愿意支持Linux,所以我总是在这里寻求帮助。 - wjrochester
好的,谢谢你的反应迅速。但是我们不能说TeamViewer团队也一样,每个新的主要版本都存在这些架构和缺失依赖的问题。他们不关心我们,这太荒谬了。只是为了构建一个干净的软件包...而我们还要为此付费... - Rémi B.
我的技能远远不足以自己完成这个任务,但我想你可以做的是从 TeamViewer 的依赖列表中移除无法工作的 libpng 软件包,并添加一个具有完整 PNG 支持的不同软件包,然后手动编程。我不知道这是否可能或容易实现,但如果我们自己尝试让另一个软件包适用于这个程序,我认为我们可以使其正常工作。 - wjrochester


使用Teamviewer 15在Ubuntu 20.04上:

下载并安装:

sudo dpkg -i teamviewer_15.16.8_amd64.deb   # adapt to your downloaded file name

这将显示依赖错误,但您只需要做的就是修复它们。
sudo apt --fix-broken install

TeamViewer for Linux

Linux现已推出TeamViewer 14.0版本,不再基于Wine。 TeamViewer 14.0支持原生64位,并具有Qt前端。可从TeamViewer官方网站下载适用于Linux的TeamViewer 14.0 .deb软件包。

在Ubuntu 17.10上,某些TeamViewer功能需要选择Xorg而不是默认的Wayland登录屏幕。在Wayland中,仅支持出站远程控制和入站文件传输。如果您需要入站远程控制,则必须登录到经典的Xorg。为了从GDM登录屏幕进入X会话,请选择Ubuntu on Xorg


TeamViewer 13+14的Linux版本遗憾地也具有“功能”缺失——缺少会议按钮... - Frank N

你需要根据上述描述安装所有i386(也可能适用于64位)的依赖库。 对于缺失的libpng12库,只需访问:https://packages.debian.org/jessie/i386/libpng12-0/download 并进行安装。
sudo dpkg -i ~/Downloads/libpng12-0_1.2.50-2+deb8u3_i386.deb

它没有任何依赖项,这些依赖项在当前环境中无法解决:
依赖项:libc6(≥2.14),zlib1g(≥1:1.1.4)