Freedesktop

使用 Mozilla 遠端協議使用 xdg-open 打開 URL

  • May 29, 2020

舊版本的 Netscape 和 Mozilla(用於 X11)支持所謂的遠端協議:只要 Netscape/Mozilla 視窗(不一定來自本地程序)在目前DISPLAY.

“遠端”功能以任何一種方式工作:從遠端客戶端到本地瀏覽器,反之亦然,甚至從遠端host1到遠端host2,只要兩者都可以連接到本地DISPLAY

這是以下文件:

SeaMonkey中也保留了對遠端請求的基本支持,因此即使在今天它也支持像openURL(%url%,new-tab)openURL(%url%,new-window)

現在,我想創建一個自定義*desktop文件,該文件將使用這些參數啟動SeaMonkey

問題是,以這種形式:

[Desktop Entry]
Exec=seamonkey %u

%u擴展工作,而在這個:

[Desktop Entry]
Exec=seamonkey -remote openURL(%u)

它不會:當它被空格包圍時%u才會擴展。

桌麵條目規範沒有提到這一點,因此這既是未記錄的行為,也是意外的行為。

你能建議任何解決方法嗎?

我不能對規範說任何話,但就結果而言,我(雖然不熟悉此類文件中的引用)希望這能起作用:

Exec=bash -c 'echo seamonkey openURL"($1)"' seamonkey-wrapper %u%

我最近剛遇到這個問題,並且有一個規範。這裡

如果%是用於應用程序,則需要將%%. 那是為了將來,在為 youtube-dl 創建 .desktop 文件並使用該--output選項時。在您的情況下,您可能需要避開大括號。\(\),因為外殼會評估它們。設置選項terminal=true,你會看到關於/at的錯誤(

或嘗試: seamonkey 'openURL(%u)' seamonkey "openurl\$'0028'%u\$'0029'"

謹防!我曾經在', while"工作時遇到問題。但僅'表示字面意思,沒有任何解釋/擴展。IIRC,您不需要引用變數,因為它已經被引用了。

引用自:https://unix.stackexchange.com/questions/586222