打开 Zoom、Teams 和其他本机应用程序的 https URI 时跳过浏览器页面

打开 Zoom、Teams 和其他本机应用程序的 https URI 时跳过浏览器页面

Android 有一个方便的功能:安装了关联本地应用程序的某些 https 链接可以直接在这些应用程序中打开,跳过浏览器页面。我如何在 Linux 中实现这一目标?

我的电脑上安装了 Zoom。当有人与我共享https://zoom.us/j/NNNN链接并且我在 Thunderbird 中单击它时,该链接将传递到 xdg-open。 Xdg-open 查看 URI 架构“https”并启动默认浏览器。浏览器导航到此 URI 并显示一个页面,该页面的唯一功能是将此 URI 转换为另一个 URI:zoommtg://zoom.us/join?confno=NNNN。这个新的 URI 依次传递给启动 Zoom 的 xdg-open。

到目前为止我找不到现成的解决方案。我想象了一个超越 URI 架构的脚本。例如,如果它接收到以 开头的参数https://zoom.us/j/,它会确保zoommtg配置了 的处理程序,在这种情况下,它会自行重写 URI 并将其传递给处理程序。据说流行的方案数量有限,因此这样的脚本应该相对易于维护。

该脚本可以用作 xdg-open 的包装器或 https 链接的处理程序。

充其量我希望有一个现有软件的链接可以做到这一点。我不想编写仅供我个人使用的脚本。如果到目前为止还不存在这样的软件,我欢迎以可移植的方式实现它的建议,并以发布它为目标。

答案1

最后,我推出了自己的:在本机应用程序中打开 uri。一个简短的 bash 脚本和一个桌面文件。

以下是要设置为 https 链接处理程序的脚本的摘录:

#!/usr/bin/env bash
URI=$1
if [[ $URI =~ ^https://zoom.us/j/ ]]; then
  ZOOM=$(xdg-mime query default x-scheme-handler/zoommtg)
  if [[ -n $ZOOM ]]; then
    NEW=$(echo $URI | sed -E 's@https://zoom.us/j/@zoommtg://zoom.us/join?confno=@; s@\?pwd=@\&pwd=@')
    gtk-launch $ZOOM $NEW
    exit 0;
  fi
fi
BROWSER=$(xdg-mime query default x-scheme-handler/http)
gtk-launch $BROWSER $URI

相关内容