本文在 Rocky Linux 8.10(GNOME)上把 OVITO Basic 做系统范围(所有用户可见)部署,目标包括:

  • 从官网下载 ovito-basic-3.13.1-x86_64.tar.xz,解压安装到 /usr/local/ovito-basic-3.13.1-x86_64
  • 建立稳定的版本链接 /usr/local/ovito-basic,便于将来升级无感切换
  • 安装 Qt/xcb 等运行依赖
  • 系统范围集成到 GNOME:应用菜单、图标、文件类型关联、可选右键脚本,并建立命令行快捷方式 /usr/local/bin/ovito

约定路径:安装路径 /usr/local/ovito-basic-3.13.1-x86_64,版本链接 /usr/local/ovito-basic,图标 /usr/local/ovito-basic-3.13.1-x86_64/share/ovito/doc/manual/html/_images/ovito_logo_128.png


1. 下载安装包并解压

sudo -s

# 1) 下载
cd /usr/local
wget https://www.ovito.org/download/master/ovito-basic-3.13.1-x86_64.tar.xz

# (可选)校验完整性:若官网提供 sha256sum,则比对
sha256sum ovito-basic-3.13.1-x86_64.tar.xz

# 2) 解压(-J 处理 .xz)
tar -xJf ovito-basic-3.13.1-x86_64.tar.xz
ls -l /usr/local/ovito-basic-3.13.1-x86_64

# 3) 建立版本稳定链接(便于将来升级无感切换)
ln -sfn /usr/local/ovito-basic-3.13.1-x86_64 /usr/local/ovito-basic

# (可选)给命令行建立快捷方式
ln -sfn /usr/local/ovito-basic/bin/ovito /usr/local/bin/ovito

exit

2. 安装运行依赖(Qt/xcb/GL/GLib 等)

Rocky/Alma/RHEL 8/9 建议安装以下包:

sudo dnf install -y \
  xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm \
  libxkbcommon-x11 mesa-libGLU glib2 xorg-x11-xauth

# Wayland 会话下若想用 Qt/Wayland(可选)
# sudo dnf install -y qt6-qtwayland

说明:Qt 6.5+ 的 xcb 平台插件需要 xcb-util-cursormesa-libGLUglib2 亦为常见依赖。若曾在远程/SSH 场景运行图形界面,xorg-x11-xauth 可避免 X11 转发报错。


3. 系统范围桌面集成(所有用户可见)

3.1 应用图标安装

sudo install -D -m 0644 \
  /usr/local/ovito-basic-3.13.1-x86_64/share/ovito/doc/manual/html/_images/ovito_logo_128.png \
  /usr/share/pixmaps/ovito.png

3.2 创建全局 .desktop 启动器

sudo tee /usr/share/applications/ovito.desktop >/dev/null <<'EOF'
[Desktop Entry]
Type=Application
Name=OVITO
Comment=Open Visualization Tool
# 为提高 Wayland 会话兼容性,这里强制 xcb(如确认不需要可去掉 QT_QPA_PLATFORM=xcb)
Exec=env QT_QPA_PLATFORM=xcb /usr/local/ovito-basic/bin/ovito %F
TryExec=/usr/local/ovito-basic/bin/ovito
Icon=/usr/share/pixmaps/ovito.png
Terminal=false
Categories=Science;Education;Graphics;
StartupNotify=true
MimeType=chemical/x-xyz;chemical/x-pdb;application/x-lammps-data;application/x-lammps-dump;application/x-ovito;application/octet-stream;
EOF

# 刷新 Desktop 数据库
sudo update-desktop-database /usr/share/applications || true

关键点:ExecTryExec 指向版本链接 /usr/local/ovito-basic,以后升级只需切换链接,无需改 .desktop%F 允许从文件管理器传入多个文件;MimeType 有助于系统识别“可用 OVITO 打开”的文件类型。

3.3(可选)系统范围默认关联常见类型

sudo install -D -m 0644 /dev/null /usr/share/applications/defaults.list
sudo tee -a /usr/share/applications/defaults.list >/dev/null <<'EOF'
chemical/x-xyz=ovito.desktop
chemical/x-pdb=ovito.desktop
application/x-lammps-data=ovito.desktop
application/x-lammps-dump=ovito.desktop
application/x-ovito=ovito.desktop
EOF

sudo update-desktop-database /usr/share/applications || true

说明:这会影响新用户的默认打开方式;已登录用户可能被其个人偏好覆盖。若遇未识别 MIME,可自定义 /usr/share/mime/packages/ovito.xmlupdate-mime-database

3.4(可选)Nautilus 全局右键菜单(脚本)

sudo install -d -m 0755 /usr/share/nautilus/scripts
sudo tee /usr/share/nautilus/scripts/Open\ in\ OVITO >/dev/null <<'EOF'
#!/usr/bin/env bash
set -e
OVITO_BIN="/usr/local/ovito-basic/bin/ovito"
# 若在 Wayland 下需要强制 X11:
# exec env QT_QPA_PLATFORM=xcb "$OVITO_BIN" "$@"
exec "$OVITO_BIN" "$@"
EOF
sudo chmod +x "/usr/share/nautilus/scripts/Open in OVITO"

已登录用户需重启文件管理器后可见:nautilus -q


4. 运行与验证

# 1) 终端运行:应弹出 OVITO 主界面
ovito --help || /usr/local/ovito-basic/bin/ovito --help

# 2) 图形界面:Super 键 → 搜索 “OVITO”,应能看到图标并启动

# 3) 双击 .xyz/.dump 是否默认用 OVITO 打开(若设置了默认关联)

若启动报错(例如 Qt xcb 插件加载失败),回到第 2 节依赖安装;若怀疑环境变量污染(例如 Conda 带偏 Qt 插件路径),可测试: env -u QT_PLUGIN_PATH -u QT_QPA_PLATFORM_PLUGIN_PATH QT_QPA_PLATFORM=xcb /usr/local/ovito-basic/bin/ovito


5. 升级与回滚策略

  • 升级到新版本(例如 3.14.1):下载并解压到 /usr/local/ovito-basic-3.14.1-x86_64,然后 sudo ln -sfn /usr/local/ovito-basic-3.14.1-x86_64 /usr/local/ovito-basic——所有用户的菜单、右键、命令行快捷方式自动指向新版本,无需改 .desktop

  • 回滚:把链接指回旧目录即可:

    sudo ln -sfn /usr/local/ovito-basic-3.13.1-x86_64 /usr/local/ovito-basic
  • 卸载(仅移除集成,不删除软件目录):

    sudo rm -f /usr/share/applications/ovito.desktop
    sudo sed -i '/ovito.desktop/d' /usr/share/applications/defaults.list
    sudo rm -f "/usr/share/nautilus/scripts/Open in OVITO"
    sudo rm -f /usr/share/pixmaps/ovito.png
    sudo update-desktop-database /usr/share/applications || true

6. 常见问题与提示

  • Wayland 会话:若动画或窗口表现异常,保留 QT_QPA_PLATFORM=xcb 更稳;X11 会话下可去掉。
  • 远程/SSH 图形ssh -Y + 目标机 xorg-x11-xauth,确保 $DISPLAY 非空再启动。
  • 依赖定位:用 ldd 查看 xcb 平台插件缺哪些库(定位实际 libqxcb.so 路径后 ldd ... | grep "not found")。
  • SELinux:默认路径与权限一般不会触发告警;若把图标放入自定义目录并遇 AVC,按建议修复上下文或放到 /usr/share/pixmaps/

完成以上步骤后,所有用户都能在 GNOME 应用菜单里看到 OVITO,并可通过双击常见数据文件或右键脚本直接打开。