如何在 Ubuntu 14.04 x64 上安装 OALD8?

skb*_*0bd 4 dictionary

我正在运行 Ubuntu 14.04 LTS x64

我有一本牛津高级学习者词典,它带有一个包含数字词典的磁盘。我不知道如何在我的电脑上安装它。请帮帮我。提前致谢。:)

Raf*_*eto 7

我能够在我的 Xubuntu 14.04 机器上制作牛津高级学习词典(第 8 版)工具。它并不完美,但它正在运行。:)

无需在系统范围内安装它(即,使用 sudo)。

我在考虑你有词典附带的 CD。将其插入您的机器中。

现在,按照终端中的这些说明进行操作:

1)在您的下载文件夹中创建一个名为oald8的目录;

mkdir ~/Downloads/oald8
Run Code Online (Sandbox Code Playgroud)

2) 将文件夹linuxoald8.data复制到您的oald8(您必须将pathtomedia替换为适当的路径!)

cd /pathtomedia/OALD8
cp -r linux oald8.data ~/Downloads/oald8
cd ~/Downloads/oald8
Run Code Online (Sandbox Code Playgroud)

3) 现在从 linux/setup.data/bin/Linux/x86执行安装文件。

cd linux
./setup.data/bin/Linux/x86/setup
Run Code Online (Sandbox Code Playgroud)

此设置将要求在 ~/oald8 中安装文件。你应该接受这种方式,恕我直言。

观察

Oxford Advanced Learner's Dictionary 工具和库有 32 位。因此,此时,如果您没有 32 位兼容性,您将收到如下消息:

bash: ./setup.data/bin/Linux/x86/setup: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果你得到这个,并且你确定文件存在(尝试ls它),你必须安装libc6:i386libncurses5:i386libstdc++6:i386

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Run Code Online (Sandbox Code Playgroud)

您还需要以下软件包才能使 oald8 的库正常工作:

sudo apt-get install libgtk2.0-0:i386 libpangoxft-1.0-0:i386 libpangox-1.0-0:i386
Run Code Online (Sandbox Code Playgroud)

此外,您应该安装gtk2-engines-pixbuf:i386gtk2-engines-murrine:i386,因为程序使用它。

sudo apt-get install gtk2-engines-pixbuf:i386 gtk2-engines-murrine:i386
Run Code Online (Sandbox Code Playgroud)

如果在第 3 步一切顺利,现在您的桌​​面上就有了一个图标。在你点击它后,系统会抱怨,说它不受信任(将其标记为可执行,警告将停止)。

程序启动后,它会抱怨 flashplayer。但是你不能通过flashplugin-installer:i386安装它,因为它与当前的 flashplugin-installer 冲突。

如果您在终端中运行 oald8,您会发现它需要 32 位版本的libnssutil3.so.1d(它是libnss3-1d:i386 的一部分)和libplc4.so.0d(它是libnspr4-0d 的一部分: i386)。但是在安装这些库之后,我遇到了分段错误(ftw!)。

更新(更多修复!)

在网上搜索,我找到了这个博客。那个很棒的家伙展示了如何修复 flash lib 并解释了声音问题(我以为我因为 flash 没有声音!)。

4) 他建议使用 libflashplayer 版本 9r280+(它在我的盒子里工作)。您可以从 macromedia 存档中下载它,也可以尝试使用下面的wget命令。

cd ~/oald8/plugins
mv libflashplayer.so libflashplayer.so.old
mkdir flash9
cd flash9

wget http://fpdownload.macromedia.com/get/flashplayer/installers/archive/fp9r280_plus_archive.zip

unzip fp9r280_plus_archive.zip
tar -xvzf fp9r280_and_higher_archive/9r280/flashplayer9r280_linux.tar.gz
cp libflashplayer.so ../
Run Code Online (Sandbox Code Playgroud)

5) 他还解释了声音问题,并建议使用 padps 包装纸。它应该使用 32 位 libpulsedsp.so,因此,您需要安装 libpulsedsp:i386 包。

sudo apt-get install libpulsedsp:i386
Run Code Online (Sandbox Code Playgroud)

不幸的是,padsp脚本会坚持在 LD_PRELOAD 环境变量中使用 64 位版本的库。所以,padsp 对这个问题没有用,你需要在运行 oald8 命令之前自己设置 LD_PRELOAD。(将 32 位版本的库放在 64 位文件夹中也有效......但这是一个不雅的解决方案)。

cd ~/oald8
LD_PRELOAD=/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so ./oald8
Run Code Online (Sandbox Code Playgroud)

最后,您可以将其自动化。我建议您打开 run-oald8.sh 文件,并包含(例如,在第 68 行)以下命令:

export LD_PRELOAD=/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so
Run Code Online (Sandbox Code Playgroud)

它仍然不完美,但现在我可以使用 95% 的工具。:D