跳转到正文

Ubuntu 26.04:导出 Word、Excel、可搜索 PDF ​

当前版本在 Ubuntu 26.04 上可以运行,但 导出 Word、Excel、可搜索 PDF存在运行时兼容性问题,需要额外启动设置。Ubuntu 22.04 / 24.04 不需要这项设置。

先了解影响

glibc.rtld.execstack=2 会在进程启动时强制启用可执行栈,以兼容需要这种行为的动态模块。这会降低相应进程的栈执行保护,不是没有安全影响的普通性能选项。

只在启动 CZUR Image+ 时设置该变量;环境可能由子进程继承。不要写入 /etc/environment、shell 全局配置或其他影响所有应用的环境配置。企业受管电脑应先遵循组织安全要求。

方法一:先从终端验证 ​

先退出正在运行的 CZUR Image+,包括可能驻留后台的实例,再使用普通用户终端启动:

bash
env GLIBC_TUNABLES=glibc.rtld.execstack=2 /opt/apps/com.czur.imageplus/CZURImagePlus

关闭窗口不一定等于完全退出;应使用应用提供的退出方式。若仍有旧实例,新命令可能只是唤起旧进程,而不会让旧进程获得新的环境变量。

该命令适用于默认安装路径。若你已有其他 GLIBC_TUNABLES 设置,请保留它们,用冒号连接所需键值,不要直接覆盖。

方法二:为应用菜单创建用户级启动器 ​

终端验证成功后,可以调整用户级 .desktop 副本,避免直接修改系统安装文件。

  1. 默认系统启动器为 /usr/share/applications/com.czur.imageplus.desktop。如安装包中的名称不同,请以实际文件为准。

  2. 创建用户级目录,并在目标文件不存在时复制启动器:

    bash
    mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/applications"
    cp -n /usr/share/applications/com.czur.imageplus.desktop \
      "${XDG_DATA_HOME:-$HOME/.local/share}/applications/com.czur.imageplus.desktop"

    如果该用户级副本已存在,不要覆盖。先保存原文件的备份,再用文本编辑器打开用户级副本。

  3. 找到 Exec= 行。若已经使用 env,在其后加入 GLIBC_TUNABLES=glibc.rtld.execstack=2;否则在原命令前加入 env GLIBC_TUNABLES=glibc.rtld.execstack=2。

  4. 保留原有环境变量、路径、启动选项和 %F / %U 参数。下面只是最小示例,不应直接替换包含其他必要设置的整行:

    desktop
    Exec=env GLIBC_TUNABLES=glibc.rtld.execstack=2 /opt/apps/com.czur.imageplus/CZURImagePlus

    若原启动器使用 %U,仍应保留:

    desktop
    Exec=env GLIBC_TUNABLES=glibc.rtld.execstack=2 /opt/apps/com.czur.imageplus/CZURImagePlus %U
  5. 保存文件后重启系统,再从 Applications(应用程序) 菜单启动 CZUR Image+。旧的桌面副本或固定图标可能仍指向原文件,应确认实际使用的是新的用户级启动器。

方法三:修改系统级 Desktop 启动器 ​

也可以直接修改安装包提供的 .desktop 文件。此方式需要管理员权限,会影响使用该系统启动器的所有用户;软件更新可能覆盖修改。方法二与方法三选择一种即可。

  1. 先备份原文件:

    bash
    sudo cp -n /usr/share/applications/com.czur.imageplus.desktop /usr/share/applications/com.czur.imageplus.desktop.bak

    如果 .bak 已存在,不要覆盖;使用其他备份文件名保存本次修改前的内容。

  2. 打开系统启动器:

    bash
    sudo vim /usr/share/applications/com.czur.imageplus.desktop
  3. 修改 Exec= 行。默认安装路径下的示例:

    desktop
    Exec=env GLIBC_TUNABLES=glibc.rtld.execstack=2 CZ_SCAN_RES_DIR=/opt/apps/com.czur.imageplus LD_LIBRARY_PATH=/opt/apps/com.czur.imageplus /opt/apps/com.czur.imageplus/CZURImagePlus

    主要是在原启动命令前添加 env GLIBC_TUNABLES=glibc.rtld.execstack=2。 如果原行已经使用 env,只在其后添加 GLIBC_TUNABLES=glibc.rtld.execstack=2,不要重复添加 env。保留原有的 CZ_SCAN_RES_DIR、LD_LIBRARY_PATH、其他环境设置、启动选项及 %F / %U 参数;如果已有其他 GLIBC_TUNABLES 设置,用冒号合并,不要覆盖。

  4. 保存文件后重启系统,再从 Applications(应用程序) 菜单启动 CZUR Image+。这里只用 sudo 编辑文件,不要用 sudo 运行应用。

如果存在同名用户级启动器,它会优先于系统级文件生效。请修改实际使用的启动器;桌面副本和固定图标也可能仍使用旧配置。

验证设置是否生效 ​

  1. 导入一张含清晰文字的测试图片。
  2. 导出 Word(DOCX),使用支持该格式的编辑器打开,检查内容。
  3. 导出 Excel,使用支持该格式的编辑器打开,检查内容。
  4. 导出可搜索 PDF,打开后搜索一个已知词语,并检查文字能否选取或复制。
  5. 如需从文件管理器打开文档,再验证该入口,以确认文件关联参数未丢失。

如果依然失败,不要继续放宽系统安全设置。保留系统版本、Image+ 版本、导出格式及错误信息,参考 反馈说明。

撤销设置 ​

从实际修改的 Exec= 中删除这次加入的键值,保留其他环境设置,或恢复修改前的备份。方法三需使用管理员权限编辑系统启动器或恢复其备份。如果此次新建了用户级副本,删除该副本可恢复使用系统启动器;若系统启动器也已修改,仍需单独撤销。不要删除系统安装文件。撤销后同样需要完全退出并重新启动应用。

软件更新后重新检查是否还需要 workaround。此说明不代表后续版本永久需要可执行栈。

机制参考:GNU C Library 动态链接 Tunables;启动器语法参考:Desktop Entry Specification。


资料更新:2026 年 10 月 19 日。适用于当前 Linux Debian 安装包;具体版本和架构以发布包标注为准。

CZUR Image+ Documentation