Lotus Notes 在网页链接前加上 file: scheme 前缀

Lotus Notes 在网页链接前加上 file: scheme 前缀

我在 Xubuntu 15.10 上运行 Lotus Notes 9.0.1,我找不到通过单击来打开链接的方法。

链接的默认应用程序设置为 Google Chrome,它可在其他应用程序内使用,但无法在 Notes 中使用。我总是收到一个弹出窗口,抱怨无法打开链接。

这个弹出窗口似乎来自 Thunar,它抱怨无法打开这样的网址:

/home/用户名/http:/主机名/路径/site.html

当我将鼠标悬停在链接上时,我看到链接中没有“/home/username”,因此在单击它之后,Notes 必须以某种方式添加它。

我还尝试将默认文件管理器设置为 Chrome,Chrome 尝试打开的链接是

file:///home/用户名/http:/主机名/路径/site.html

再说一遍:Notes 似乎在我尝试打开的每个链接中添加了“file:///home/username/”。

当我定义 Notes 应该使用内部浏览器时,它可以工作,但这不是我想要的行为。

有任何线索可以告诉我如何改变 Notes 的前缀行为吗?

答案1

如果您输入的内容准确无误,那么在我看来,这些链接格式不正确。例如,您显示的是“http:/hostname/path/site.html”,但“http:”后面应该有一个双斜杠,而您只有一个。客户端注意到没有以“//”结尾的有效前缀,因此它假定它是一个文件链接并添加了一个有效的前缀 - 而且它认为这是一个相对路径,因为“http”前面没有前导“/”,因此它将用户的主目录添加为环境中的特定目录。

什么应用程序生成了这些链接?

答案2

我在 Xubuntu 14.04 中看到了这个问题,并且通过将exo-open(in /usr/bin) 重命名为 来解决它real_exo-open,并创建一个 shell 脚本来替换 exo-open,然后找出该怎么做。

这是一个坏的解决方案,因为你必须每次都重复这个你升级了你的系统。

这是我的脚本:


#!/bin/bash
echo "Called as: $0 $@" >> /tmp/exo-open.log
startswith() {
        [ "${1#$2}" == "$1" ] && return 1;
        return 0;
}

launched=0;
[ "$1" = "--launch" ] && [ "$2" == "FileManager" ] && {
        arg1=$3;
        bad=${HOME}/;
        startswith $3 ${bad}http && {
                shift;
                shift;
                shift;
                echo "real_exo-open --launch WebBrowser ${arg1#$bad} $@" >> /tmp/exo-open.log;
                launched=1;
                real_exo-open --launch WebBrowser ${arg1#$bad} "$@";
        }
}
[ $launched -eq 0 ] && {
        echo "real_exo-open $@" >> /tmp/exo-open.log;
        real_exo-open "$@";
}

因此基本上,如果您选择使用这个丑陋的黑客,您需要执行以下操作:

  1. cd /usr/bin
  2. sudo mv exo-open real_exo-open
  3. cat > /tmp/exo-open
  4. 复制并粘贴上述脚本,并以 CTRL-D 结束。
  5. sudo mv /tmp/exo-open
  6. sudo chown root.root exo-open
  7. sudo chmod +x exo-open

就是这样。

相关内容