通过matlab为ubuntu启动libreoffice

Posted

技术标签:

【中文标题】通过matlab为ubuntu启动libreoffice【英文标题】:Launch libreoffice through matlab for ubuntu 【发布时间】:2018-08-12 12:29:40 【问题描述】:

有没有办法在 ubuntu 的 matlab2017 上使用 winopen 或类似功能?我试图在按下按钮后直接用 libreoffice 打开我的 .xls 文件?还是有办法解决?

我已经试过了

system('libreoffice file.xls') 
system('xdg-open file.xls')

但不知何故,libreoffice 本身并没有启动。发生的错误是:

/usr/lib/libreoffice/program/oosplash: /usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/lib/libreoffice/program/libuno_sal.so.3)

/usr/lib/libreoffice/program/oosplash: /usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/libreoffice/program/libuno_sal.so.3)

有什么解决方案吗? 谢谢

【问题讨论】:

您是否尝试过捕获system 的输出并检查它是否有错误?使用此语法:[status,cmdout] = system(command) 错误本身是/usr/lib/libreoffice/program/oosplash:/usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6:版本CXXABI_1.3.9' not found (required by /usr/lib/libreoffice/program/libuno_sal.so.3) /usr/lib/libreoffice/program/oosplash: /usr/local/MATLAB/R2017b/sys/os/glnxa64/libstdc++.so.6: version GLIBCXX_3。 4.21' 未找到(/usr/lib/libreoffice/program/libuno_sal.so.3 需要) 此信息与您的问题非常相关!请使用edit 功能并将其添加到问题本身。 【参考方案1】:

是否有可能在您调用libreoffice shell 脚本时,您已经设置了LD_LIBRARY_PATH 环境变量?如果是这样,如果 MATLAB 提供的标准 C++ 库比 LibreOffice 预期的要旧,那么这可能会导致问题。

尝试像这样创建一个 shell 脚本:

#!/usr/bin/env bash
unset LD_LIBRARY_PATH
exec libreoffice "$@"

将其保存在某处,将其标记为可执行文件,然后在您的 system() 调用中调用 /path/to/script 而不是 libreoffice。这样解决问题了吗?

【讨论】:

以上是关于通过matlab为ubuntu启动libreoffice的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu命令行快捷启动Pycharm

ubuntu 16.04卸载不必要默认安装软件

ubuntu下matlab的无界面启动---命令行操作

ubuntu 16.04 安装 Matlab R2016b后启动出现的问题

Ubuntu下MATLAB出现报错:Resolving Low-Level Graphics Issue解决办法

Ubuntu下MATLAB出现报错:Resolving Low-Level Graphics Issue解决办法