xdg-open
を使用してChromiumでリンクを開くと、新しいタブページのみが表示され、他に何も表示されない新しいChromiumウィンドウが表示されます。
たとえば、xdg-open 'https://askubuntu.com'
は新しいChromiumウィンドウを開くだけで、AskUbuntuは開きません。
Chromiumを直接呼び出すため、URLはChromiumに渡されていないようですdoes動作し、目的のページを開きます:chromium-browser 'https://askubuntu.com'
works。
明らかに、Chromiumはデフォルトのブラウザです。
問題はどこにあり、どのように修正できますか?一部のプログラムがxdg-open
を使用してリンクを開き、目的のページにアクセスできない、または開かれたものを見ることさえできない場合、特に面倒です。
問題は、xdg-open
が要求されたURLをChromiumに渡さないためです。したがって、chromium-browser url-here
を実行する代わりに、chromium-browser
を実行して新しいウィンドウを開きます。
インターネットで検索した後、xdg-open
が/usr/share/applications
にあるいくつかの「構成」ファイルを使用することがわかりました。
/usr/share/applications/chromium-browser.desktop
は、URLをChromiumに正しく渡すように設定されているため、正しいようです。
$ grep Exec /usr/share/applications/chromium-browser.desktop
Exec=chromium-browser %U
...
それで何が間違っていたのでしょうか? xdg-open
が使用する別の場所があり、/usr/share/applications
よりも優先されることが判明しました。
$ grep Exec ~/.local/share/applications/chromium-browser.desktop
Exec=/usr/lib/chromium-browser/chromium-browser --use-system-title-bar --ppapi-flash-path=/usr/lib/pepflashplugin-installer/libpepflashplayer.so --ppapi-flash-version=14.0.0.125
なぜ別のchrome-browser.desktopがあるのかはわかりませんが、このExec行はURLを渡さないことに注意してください。 %U
がありません。したがって、この行に%U
を追加しました。これにより、xdg-open
およびChromiumに関するすべての問題が即座に修正されました。