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

関連情報