Browser
打開 Zoom、Teams 和其他本機應用程序的 https URI 時跳過瀏覽器頁面
Android有一個方便的功能:某些已經安裝了相關本地應用程序的https連結直接在這些應用程序中打開,跳過瀏覽器頁面。我如何在 Linux 中實現這一點?
我的電腦上安裝了 Zoom。當有人
https://zoom.us/j/NNNN
與我共享連結並且我在 Thunderbird 中點擊它時,此連結將傳遞給 xdg-open。Xdg-open 查看 URI 模式“https”並啟動預設瀏覽器。瀏覽器導航到這個 URI 並顯示一個頁面,該頁面的唯一功能是將此 URI 轉換為不同的:zoommtg://zoom.us/join?confno=NNNN
。這個新的 URI 又被傳遞給啟動 Zoom 的 xdg-open。到目前為止,我找不到現成的解決方案。我想像一個超越 URI 模式的腳本。例如,如果它接收到一個以 開頭的參數
https://zoom.us/j/
,它會確保zoommtg
配置了一個處理程序,在這種情況下,它會自行重寫 URI 並將其傳遞給處理程序。據說流行的方案數量有限,因此這樣的腳本應該相對易於維護。該腳本既可以用作 xdg-open 的包裝器,也可以用作 https 連結的處理程序。
充其量我會很感激一個指向現有軟體的連結。我不想寫一個只供我個人使用的腳本。如果到目前為止還沒有這樣的軟體,我歡迎以可移植的方式實現它並以發布它為目標的建議。
最後,我推出了自己的:open-uri-in-native-app。一個簡短的 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