web-dev-qa-db-ja.com

xdg-openがデフォルトのブラウザーを開かない

私は次のシナリオを持っています。FirefoxとchromeインストールされているUbuntu 16.04マシン、chromeがデフォルトのブラウザです。

シェルでこのアクションを確認します。

cat /usr/share/applications/defaults.list
cat /etc/mailcap
cat /.config/mimeapps.list
cat /.local/share/applications/mimeinfo.cache

x-www-browser-> chrome is launch
xdg-mime query default text/html
response:
google-chrome.desktop

そして、Firefoxのどちら側にも表示されません。常にChromeです。これで結構です。また確認してください:

デスクトップファイルをクリックしますfile.html-> chrome is launch

そして今私が走ると奇妙なことが起こります:

xdg-open "http://www.example.com"

奇妙な理由で、それは常にFirefoxを開きます。なぜかわかりませんが、誰か助けてくれませんか?

7
mike

デフォルトのブラウザを設定するには、優先するブラウザに.desktopファイルが存在することを確認してください。この例では、Mozilla Iceweaselを設定します。

$ ls /usr/share/applications/iceweasel.desktop
iceweasel.desktop

ファイルがあることを確認して、次を実行:

$ xdg-settings set default-web-browser iceweasel.desktop
# Test that it works
$ xdg-open "http://example.com"

.desktopファイルがない場合:

surfプログラムを使用していますが、これには.desktopファイルがありません。これをWebブラウザとして設定するには、まず次の内容でファイル~/.local/share/applications/surf.desktopを作成します。

[Desktop Entry]
Type=Application
Name=surf
Comment=Surf minimal web browser
Terminal=false
Exec=surf
Categories=Network;WebBrowser

このコンテンツのすべてが必要なわけではありませんが、将来使用するためにファイルを分類するのに役立ちます。

通常のようにデフォルトのブラウザを設定します。

$ xdg-settings set default-web-browser surf.desktop

これで準備完了です。

14
Lawful Lazy