同事们想使用 Cisco Webex 进行视频会议交流。这需要 Firefox/Iceweasel 的 Java 插件。基于这个博客,我安装了基于OpenJDK 7和IcedTea的Web浏览器插件:
apt-get install icedtea-7-plugin
我可以访问 WebEx 音频菜单,但没有声音。根据有关 Fedora 的此页面解决声音问题的唯一方法似乎是安装 32 位版本的 Firefox/Iceweasel 和 java 插件。
我按照 Debian HowTo 中的说明启用 Multiarch:
dpkg --add-architecture i386
我删除了 64 位版本的 Java 插件(以避免错误trying to overwrite shared '/usr/bin/policyeditor', which is different from other instances of package icedtea-netx:i386
)
apt-get remove icedtea-7-plugin
然后我安装了 32 位版本的软件包:
apt-get install iceweasel:i386
apt-get install icedtea-7-plugin:i386
apt-get install binutils:i386 # required for flashplugin
apt-get install flashplugin-nonfree:i386
apt-get install flashplugin-nonfree-extrasound:i386
我尝试安装一些其他 32 位软件包,但没有成功。Fedora 用户 negativo17由于 2014 年 Mesa 更新,建议安装 Mesa 的 libEG。我认为它可能有助于xserver-xorg-core
为 32 位架构安装。不知何故,这些步骤之一破坏了 x-server:
apt-get install libegl1-mesa:i386 # suggested by Fedora user
apt-get install libepoxy0:i386 # for xorg
apt-get install xserver-xorg-core:i386 # because libegl1 reverse depends on it and I guessed the window system should also be in 32 bit for the above to work.
现在 iceweasel 和 java 插件 icedtea 已在 32 位中安装。Java webex 界面启动了,但声音仍然不起作用,我无法访问 webex 音频菜单。屏幕共享也不可用。
Fedora 用户 negativo17建议安装适用于 i386 架构的软件包。建议使用哪种架构?是 i386 还是 i686?
答案1
正如评论所建议的,通常的做法是用软件包替换您的iceweasel:amd64
软件包iceweasel:i386
,然后让依赖项正常工作。如果所有依赖库都正确兼容多架构,那么这种方法就没问题,但如果这种方法不起作用,chroot 安装可能是最佳选择。
按照 Debian 的方式设置这样的 chroot:
- 确保您正在运行可以执行 IA32 ELF 二进制文件的内核。
- 安装
schroot
和cdebootstrap
。 - 创建您选择的目录(我将使用
/usr/local/roots/i386
)并运行cdebootstrap -a i386 -f minimal --include "iceweasel" testing /usr/local/roots/i386
(testing
用sid
或jessie
或您选择的 Debian 版本替换;添加您需要的任何其他选项)。 - 配置
schroot
以将此目录用作 chroot(在/etc/schroot/chroot.d/i386
):配置
[i386]
type=directory
directory=/usr/local/roots/i386
profile=default
文件default
应该已经具有/home
等的绑定挂载 - 请检查/etc/schroot/default/fstab
以确保。
现在您应该能够切换到 schroot ( schroot -c i386
),然后启动 Iceweasel(或sudo aptitude install
其他包);您可以在 chroot 目录中使用一个命令启动它:schroot -c i386 iceweasel
。
以上所有内容都有一个注意事项:iceweasel
实际上是一个包装器脚本,它会查找连接到的正在运行的 Iceweasel $DISPLAY
,如果是,则使用其远程控制协议打开一个新窗口。因此,如果您正在运行 64 位 Iceweasel,那么即使您认为您正在启动一个新的 32 位实例,它也会被调用。因此,在启动 chroot 中的实例之前,您需要关闭所有本机实例。