在 Slackware 15 上安装 LibreOffice

2022年 10月 14日 50.7k 0

在 Slackware 15 上安装 LibreOffice

前提:安装运行64位 SIackware 15。

首先,访问 www.libreoffice.org 并下载最新版本的 LibreOffice。在写这篇文章的时候,那是版本 7.3.2,这就是我们在这里使用的。我强烈建议您使用 RPM 版本,因为 Slackware 包含该rpm2tgz应用程序。当应用程序仍在为 Slackware 完全维护时,我曾经也使用 DEB 版本alien,但现在似乎不再如此,所以我们现在坚持使用 RPM 版本。

我下载的是“LibreOffice_7.3.2_Linux_x86-64_rpm.tar.gz”。

接下来,解压缩 gzip 压缩的 TAR 存档。

bash-5.1$ tar -xvzf LibreOffice_7.3.2_Linux_x86-64_rpm.tar.gz

现在,更改包(在本例中为 RPM)所在的位置。

bash-5.1$ cd LibreOffice_7.3.2.2_Linux_x86-64_rpm/

bash-5.1$ ls -l

共 20 个

drwxr-xr-x 2 microman microman 4096 Mar 23 15:28 RPMS

-rwxr-xr-x 1 microman microman 10497 Mar 23 15:28 install

drwxr-xr-x 2 microman microman 4096 Mar 23 15:28 自述文件

bash-5.1$ cd RPM

bash-5.1$ ls -l

你会看到一堆 RPM 文件

同样,由于 Slackware 不使用 Red Hat RPM,而是使用它自己的 Slackpackages 原生格式(顺便说一下,Slackpackages 早于 RPM 和 DEB),我们必须将 RPM 转换为 Slackpackage 格式。幸运的是,Slackware 包含一个工具可以做到这一点。它被称为rpm2tgz。这是使用简短的 shell 脚本进行转换的最简单方法。

用于归档*.rpm

rpm2tgz -nd $file

完毕

请注意,我们在命令中使用了两个命令选项rpm2tgz。那些是-n和-d。这就是他们所做的。

-n使用 RPM 自己的元数据命名输出包(新的 .tgz)。LibreOffice 的维护者,作为优秀的网民,包括以这种方式打包软件的大多数主要人员。

-d再次从 RPM 自己的元数据创建一个“slack-desc”字段。同样,LibreOffice 的维护者很方便地包含了对他们包的有用描述。好人。

一旦完成,我们现在应该为每个 RPM 拥有一个对应的 .tgz。让我们继续安装这些新的 Slackware 软件包。

这是我发现的最简单的方法。同样,它是一个简短的 shell 脚本。

用于归档*.tgz

installpkg $file

完毕

这为我完成了没有任何错误,我在两个新的 Slackware 15.0“完整”安装上做了两次。它应该为你做同样的事情。此时,您应该退出 X11 并重新启动它以刷新内容。如果你不这样做,当你启动任何 LibreOffice 应用程序时,你可能会出现屏幕损坏(这实际上发生在我身上)。重新启动 X11 会使事情变得新鲜,并防止将来发生这种情况。如果您忘记先重新启动 X11 并且确实发生了屏幕损坏,只需按 Ctrl-Alt-Backspace 来杀死 X11,然后重新启动它(ye olde "startx" command)。无害。

然而…

虽然 LibreOffice Writer、Calc 和 Math 将毫无问题地启动……但您会去启动 LibreOffice Impress 并想知道为什么它没有出现!您还将去启动 Draw 并看到一个错误。这是怎么回事?

根据 Document Foundation 错误 ID #119408,从 6.0.x 开始的 LibreOffice 版本存在一个已知问题。LibreOffice 6.0 及更高版本似乎需要在计算机上安装 Avahi 软件才能使 Impress 和 Draw 工作。如果 Avahi 不存在,Impress 只会坐在那里永远挂起,而不是开始。Draw 至少会给出这样的错误消息。

无法加载组件,可能是安装损坏或不完整。

Component cannot be loaded, possibly broken or incomplete installation.

Full error message:

loading component library <file:///opt/libreoffice7.3/program/../program/libsdlo.so> failed /home/buildslave/source/libo-core/cppuhelper/source/shlib.cxx:311.

好吧,这不太好,是吗?根据错误 ID,显然我们需要安装 Avahi 才能使事情正常运行。

这是错误报告。

https://bugs.documentfoundation.org/show_bug.cgi?id=119408

那么,这个Avahi是什么?它是一个使用 mDNS/DNS-SD 协议套件的服务发现应用程序。它让便携式计算机用户能够轻松地发现在 LAN 上共享的内容。苹果称其为“Bonjour”,其他人称其为“Zeroconf”。一样的东西。无论如何,我们必须安装它才能让 Draw 和 Impress 工作。

Avahi 可以从www.avahi.org下载。目前的最新版本是 0.8。以良好的 Slackware 方式,我们将下载源 tarball 并编译它。

原来 Avahi 本身有一个依赖项,特别是 libdaemon,所以我们也必须下载并安装 libdaemon。可以在此处找到 libdaemon 源 tarball。

http://0pointer.de/lennart/projects/libdaemon/

当前版本的 libdaemon 是 0.14。你用正常的方式解压缩它,就像这样。

bash-5.1$ tar -xvzf libdaemon-0.14.tar.gz

进入 libdaemon-0.14(或任何当前版本)子目录,由于它使用 GNU autoconf 和 automake,我们只需执行良好的 ol' 传统例程

./configure 

make 

sudo make install

现在安装了 libdaemon。请注意,默认情况下,/usr/local/lib从源代码编译库时,libdaemon 会安装到传统目标位置。有一个PKG_CONFIG_PATH环境变量指向我们在编译软件时需要的库。包括/usr/local/lib64/pkgconfig,但不包括/usr/local/lib/pkgconfig。Avahi 在编译期间将需要它。所以,让我们包括它,就像这样。

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

现在让我们来安装 Avahi。我们将回到 avahi-0.8 子目录,并进行基本 相同的三步 GNU autoconf/automake dance… 进行重要调整。我们需要抛出一些命令开关,因为默认情况下,Avahi 会针对 Slackware 不使用的某些东西进行编译。这些东西是 Mono、SystemD 和 GDBM。这与保持 GNU/Linux 发行版尽可能干净的“Slackware 方式”保持一致。此外,由于 Slackware 的 KDE 是基于 Qt5 的,因此也无需为早已过时的 Qt3 或 Qt4 进行编译。

所以,这是我们为 Avahi 跳的三步舞。

./configure --disable-mono --disable-monodoc --with-distro=none --disable-qt3 --disable-qt4 --disable-gdbm

make

sudo make install

最后一件事。/usr/local/lib与 libdaemon 一样,Avahi 也默认安装到传统的。LibreOffice Draw 和 Impress 现在需要知道在运行时在哪里找到它,不,该子目录不在动态链接搜索路径中。没问题,这也很容易解决。我们只需要(以 root 身份)编辑文件/etc/ld.so.conf以包含/usr/local/lib在该搜索路径中。我通常使用 vim,但您可以使用 emacs、elvis、nano 甚至 cat。完成后,文件应如下所示。

bash-5.1$ more /etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf

/lib64

/usr/lib64

/usr/local/lib64

/usr/x86_64-slackware-linux/lib64

/usr/local/lib

最后一行是我们添加的那一行。

现在(再次以 root 身份),我们运行ldconfig以应用我们刚刚所做的。我喜欢ldconfig使用详细开关运行,因为我很偏执并且喜欢看看发生了什么。

bash-5.1$ sudo ldconfig -v

这应该表明它/usr/local/lib现在被包含在动态链接路径中。

好的,现在 avahi 和 libdaemon 已安装,并且动态链接已更新,所有这些都应该让 LibreOffice Draw 和 Impress 更快乐。在我的系统上,我从菜单启动了 LibreOffice,我还从命令行尝试了它(作为我的常规非 root 用户),在所有情况下,它都运行良好。

等等……我说的是“从命令行启动”吗?是的,我做到了!这是怎么做到的?

这是开始绘制的方法。

/opt/libreoffice7.3/program/soffice --draw

对于 Impress,我们这样做。

/opt/libreoffice7.3/program/soffice --impress

您可以使用--writer、--calc、--base 和--math 开关执行相同的操作。

现在,如果您想使用 LibreOffice Base,这里是可选部分。事实证明,Base 应用程序需要某种 Java 运行时环境 (JRE)。请记住,这仅适用于您想使用 LibreOffice 制作数据库,就像人们使用 Microsoft Access 一样。幸运的是,这也相当容易。我们只需下载最新的 OpenJDK,它是免费软件(GNU GPLv2 许可证)并安装它,就像这样。

转到https://jdk.java.net/并下载最新的“准备使用”版本。在撰写本文时,版本为 18。将其下载到您的计算机并解压缩。它是包括 JRE 在内的整个 Java 开发工具包。这是好事!

bash-5.1$ tar -xvzf openjdk-18_linux-x64_bin.tar.gz

这将为您提供一个名为的子目录,在本例中为jdk-18. 像这样将该子目录移动到子目录中/opt。

bash-5.1$ mv jdk-18/ /opt

还要确保将整个子目录的所有权更改为root:root.

bash-51$ chown -Rv root:root /opt/jdk-18/

现在,我们告诉 LibreOffice JDK(包括我们需要的 JRE)在哪里。启动 LibreOffice 并转到工具 -> 选项 -> 高级。有一个“使用 Java 运行时环境”复选框。确保已检查。然后,单击“添加”按钮并导航到/opt/jdk-18子目录并单击“确定”按钮。您应该会看到 Oracle Corporation 和版本(在本例中为 18)。是的,这是 GPL 版本,所以不用担心。

这样,LibreOffice Base 现在也可以正常工作了。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论