我已经按照此操作在 Ubuntu 18.04 和 Ubuntu 16.04 上安装了 ldoce5 viewer指导之前没有任何问题,但现在我已经安装了 Ubuntu 20.04。
因此,我想按照相同的指南安装 ldoce5 viewer,但似乎安装 ldoce5 viewer 所需的一些软件包在 Ubuntu 20.04 存储库中丢失或被删除,因此我无法安装 ldoce5 viewer。
那么,现在 Ubuntu 20.04 已经发布,我们如何在不使用 Wine 的情况下在其上安装这本词典?
编辑:我的输出是
mustafa@T440p:~$ export | grep SESSION
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DESKTOP_SESSION="ubuntu"
declare -x GDMSESSION="ubuntu"
declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
declare -x GNOME_SHELL_SESSION_MODE="ubuntu"
declare -x SESSION_MANAGER="local/T440p:@/tmp/.ICE-unix/8283,unix/T440p:/tmp/.ICE-unix/8283"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_DESKTOP="ubuntu"
declare -x XDG_SESSION_TYPE="x11"
答案1
我已经使用基于 qt4 的 LDOCE5 viewer 版本很长时间了。我最初问了这个问题如何在 Ubuntu 上安装 LDOCE5 Viewer) 和诺伯特帮助我在 Ubuntu 18.04 上安装它。我刚刚安装了 Ubuntu 20.04,由于基于 qt4 的库已过时,我尝试安装基于 qt5 的版本。我按照安装基于 qt5 的版本的说明进行操作(n0rbert 在原始问题中回答),但在 Ubuntu 20.04 中遇到了一些新问题。我花了一些时间来解决这些问题,并成功安装了该软件。不幸的是,我找不到解决原始问题中报告的有关声音无法播放的问题的方法。这需要对 Python/Qt 有进一步的了解,我希望其他人能帮助解决这个问题。
在 Ubuntu 20.04 上安装 LDOCE5 查看器的说明:
安装一些依赖项:
sudo apt-get install git make python pyqt5-dev-tools python3-pyqt5 \ python3-pyqt5.qtwebkit python3-lxml python3-whoosh qtgstreamer-plugins-qt5
python3.8
在 Ubuntu 20.04 上安装更多依赖项:sudo apt-get install python3-pip python3-setuptools python3-distutils
将 ldoce5viewer-pyqt5 下载到 ~/Downloads:
cd ~/Downloads && git clone https://github.com/purboo/ldoce5viewer-pyqt5.git
打开下载文件夹中的Makefile,并在第2行更改
python
为python3
:gedit ~/Downloads/ldoce5viewer-pyqt5/Makefile
ldoce5viewer-pyqt5 中有一个名为的过时库,
cgi.escape()
该库已从 python3.8 中删除。这个库在三个文件中使用。为了解决这个问题,我们需要更改cgi
为以下三个文件中html
看到的位置 :from cgi import escape
gedit ~/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/ldoce5/transform.py gedit ~/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/indexer.py gedit ~/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/ldoce5/extract.py
此步骤基于原始问题中的答案,该答案建议修复声音问题。它对我不起作用,但可能对你有用。打开以下文件并更改
'appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size]))'
到
'appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size].data()))'
在第 114 行:
gedit ~/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/utils/soundplayer.py
最后一步:
make && sudo make install
现在您可以在已安装的应用程序中发现该软件(按键Super并搜索 ldoce5)。
答案2
Qt4 库已过时,因此已从 Ubuntu 20.04 LTS 中删除。它的手动安装非常困难且过程漫长。
所以我建议使用施鲁特在这种情况下。
我们将在其中安装 Ubuntu 18.04 LTS,并按照我的以前的方法。
我们需要先创建并配置schroot:
sudo apt-get install schroot debootstrap -y
cat <<EOF | sudo tee /etc/schroot/chroot.d/bionic.conf
[bionic]
description=Ubuntu 18.04 bionic
directory=/srv/chroot/bionic
root-users=$USER
type=directory
users=$USER
EOF
sudo mkdir -p /srv/chroot/bionic
sudo debootstrap bionic /srv/chroot/bionic
cat <<EOF | sudo tee /srv/chroot/bionic/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu bionic main universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
EOF
schroot -c bionic -u root apt-get update
schroot -c bionic -u root apt-get install git make pyqt4-dev-tools python-lxml \
python-whoosh libqt4-opengl python-gst-1.0 wget sudo \
libcanberra-gtk3-module libcanberra-gtk-module desktop-file-utils
cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-qt4/pyqt4-dev-tools_4.11.4+dfsg-1build4_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-qt4/python-qt4_4.11.4+dfsg-1build4_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sip4/python-sip_4.17+dfsg-1build1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu11_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-qt4/python-qt4-phonon_4.11.4+dfsg-1build4_amd64.deb
schroot -c bionic -u root apt-get install ./*.deb
然后下载Ldoce的源代码:
schroot -c bionic -u root git clone https://github.com/ciscorn/ldoce5viewer.git /usr/local/ldoce5viewer
schroot -c bionic -u root -d /usr/local/ldoce5viewer/ make
schroot -c bionic -u root -d /usr/local/ldoce5viewer/ make install
要运行 LDOCE 5 Viewer,请使用
schroot -c bionic -u $USER env DISPLAY=$DISPLAY ldoce5viewer
您可以选择使用此命令创建桌面应用程序快捷方式。