openEuler 安装 LibreOffice 技术指南

openEuler 安装 LibreOffice 技术指南

适用于:

  • openEuler 22.03 LTS / SP 系列
  • x86_64 架构
  • 服务器无桌面环境(推荐 headless)

1. 系统环境检查

1.1 查看系统版本

bash 复制代码
cat /etc/os-release

1.2 查看架构

bash 复制代码
uname -m

确认输出:

复制代码
x86_64

1.3 检查仓库

bash 复制代码
dnf repolist

⚠️ openEuler 默认仓库通常没有完整 LibreOffice 包


2. 安装方式选择

方式 推荐等级 说明
dnf 安装 ⭐⭐ 通常不完整
官方 RPM 安装 ⭐⭐⭐⭐ 推荐
Docker 部署 ⭐⭐⭐⭐⭐ 最稳定
源码编译 不推荐

3. 官方 RPM 安装(推荐)

3.1 下载 LibreOffice

bash 复制代码
mkdir -p ~/libreoffice
cd ~/libreoffice

wget https://downloadarchive.documentfoundation.org/libreoffice/old/25.2.4.3/rpm/x86_64/LibreOffice_25.2.4.3_Linux_x86-64_rpm.tar.gz

3.2 解压

bash 复制代码
tar -xzf LibreOffice_25.2.4.3_Linux_x86-64_rpm.tar.gz
cd LibreOffice_*/RPMS

3.3 安装

bash 复制代码
sudo dnf install ./*.rpm -y

3.4 安装中文帮助包(可选)

bash 复制代码
cd ../LibreOffice_*_helppack_zh-CN/RPMS
sudo dnf install ./*.rpm -y

4. 关键依赖安装

4.1 NSS(必须)

bash 复制代码
sudo dnf install -y nss
sudo dnf install -y libxslt
sudo ldconfig

验证:

bash 复制代码
ls /usr/lib64/libssl3.so

4.2 常见依赖补齐

bash 复制代码
sudo dnf install -y \
cairo cups-libs dbus-libs gtk3 \
libXinerama libXScrnSaver mesa-libGL \
freetype fontconfig

5. 安装验证

5.1 版本验证

bash 复制代码
/opt/libreoffice*/program/soffice --version

输出示例:

复制代码
LibreOffice 25.2.4.3

5.2 添加全局命令

bash 复制代码
sudo ln -s /opt/libreoffice*/program/soffice /usr/local/bin/soffice

验证:

bash 复制代码
soffice --version

6. 服务器使用方式(重点)

6.1 headless 模式(必须)

bash 复制代码
soffice --headless \
  --nologo \
  --nofirststartwizard \
  --convert-to pdf \
  服务器操作申请及操作记录单.doc \
  --outdir ./

6.2 批量转换

bash 复制代码
for f in *.docx; do
  soffice --headless --convert-to pdf "$f" --outdir ./
done

7. 常见问题排查

7.1 Failed to open display

原因:GUI模式

解决:

bash 复制代码
--headless

7.2 libssl3.so not found

解决:

bash 复制代码
sudo dnf install -y nss
sudo ldconfig

7.3 soffice 找不到

解决:

bash 复制代码
find /opt -name soffice

7.4 转换失败或卡死

安装字体:

bash 复制代码
sudo dnf install -y fonts-noto-cjk

相关推荐
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia2 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫3 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao4 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐5 天前
Linux内存扩容指南
linux
zylyehuo6 天前
Linux 彻底且安全地删除文件
linux
用户805533698036 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式