通过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 16.04 安装 Matlab R2016b后启动出现的问题