![使用 LibreOffice 打开 webdav ms-word:ofe|u| 协议链接](https://linux22.com/image/1164626/%E4%BD%BF%E7%94%A8%20LibreOffice%20%E6%89%93%E5%BC%80%20webdav%20ms-word%3Aofe%7Cu%7C%20%E5%8D%8F%E8%AE%AE%E9%93%BE%E6%8E%A5.png)
我在个人电脑上使用 Ubuntu。工作时使用 Windows 的电脑使用此链接;它使用 Microsoft Office 打开 Word 文件。
ms-word:ofe|u|https://serveraddress/path/to/file.doc
但是在 Ubuntu 中,Google Chrome 要求输入任何内容xdg-open
,但什么也没有打开。
有没有办法让 LibreOffice 打开这样的链接?
答案1
通过注册 ms-word 协议处理程序,也可以在 Linux 中实现类似的行为。不过,存在一些限制,但对于基本用法来说,它是可行的。
首先,必须注册一个新协议以及一个将打开它的应用程序。应用程序 .desktop 文件将处理新协议,它们位于 中/usr/share/applications
。LibreOffice 使用该libreoffice-writer.desktop
文件,因此您可以将此文件复制到libreoffice-writer-msword.desktop
。需要复制一份,因为 libre office 不理解ms-word:ofe|u|
部分内容,因此需要从命令行中删除它。在新的 .desktop 文件中,将以下内容放入行中Exec
:
Exec=bash -c 'echo "%U" | cut -d "|" -f 3 | xargs /usr/bin/libreoffice --writer'
接下来,应该使用以下命令注册一个新的协议处理程序:
xdg-mime default libreoffice-writer-msword.desktop x-scheme-handler/ms-word
这将使用 ms-word:协议注册我们的桌面文件。
下一步是测试。最好从 Firefox 尝试,在命令行中输入此 URL:
ms-word:ofe|u|https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc
Firefox 应该提示打开 LibreOffice,它将从给定位置打开文档。
然而,也存在缺点:
ofe:u
URL 的一部分是只能通过 word 解释的参数。我们正在剥离这部分并使用默认的开放功能。也许可以通过一些考虑 LibreOffice 参数的脚本来替换它。- Chrome 在多功能框(输入 URL 的框)中输入自定义处理程序时会出现一些问题。它总是进行谷歌搜索;这似乎是所有基于 Chromium 的浏览器的默认设置(在 Chrome、Opera 和 Brave 上测试过)。但是,它可以从 JavaScript 中运行 - 如果您在浏览器控制台中输入:
window.location="ms-word:ofe|u|https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc"
Chrome 将执行与 Firefox 或 Vivaldi 浏览器相同的操作 - 它将使用 打开应用程序xdg-open
。其他任何自定义处理程序(例如 (Zoom 视频通话))似乎都是这种情况zoommtg:
;它可以与 JS 一起使用,但不能通过多功能框使用。