我在 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 "$@";
}
因此基本上,如果您选择使用这个丑陋的黑客,您需要执行以下操作:
cd /usr/bin
sudo mv exo-open real_exo-open
cat > /tmp/exo-open
- 复制并粘贴上述脚本,并以 CTRL-D 结束。
sudo mv /tmp/exo-open
sudo chown root.root exo-open
sudo chmod +x exo-open
就是这样。