Когда я использую xdg-open
для открытия ссылки в Хроме это просто приводит к новому окну Chromium только со страницей new tab ни с чем иным.
Например, xdg-open 'https://askubuntu.com'
просто откроет новое окно Chromium и не откроет AskUbuntu.
Просто кажется, что URL не передается Хрому, поскольку вызов Chromium непосредственно работает и открывает желаемую страницу: chromium-browser 'https://askubuntu.com'
работы.
Очевидно, Хром является браузером по умолчанию.
Где проблема могла быть, и как я могу зафиксировать это? Это является особенно раздражающим, когда некоторые программы используют xdg-open
для открытия ссылки и Вы не можете перейти к странице, Вы хотите или даже видите то, что было открыто.
Проблема - действительно это xdg-open
не передает требуемый URL Хрому, таким образом, вместо выполнения chromium-browser url-here
, это выполняется chromium-browser
который просто открывает новое окно.
После поиска в Интернете я узнал это xdg-open
использование некоторые файлы "конфигурации", расположенные в /usr/share/applications
.
/usr/share/applications/chromium-browser.desktop
казалось, был корректен, поскольку это настроено для передачи URL Хрому правильно:
$ 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
Я понятия не имею, относительно того, почему существует другой хром-browser.desktop, но обратите внимание, что эта Исполнительная строка не передает URL; это отсутствует %U
. Таким образом, я просто добавил %U
к этой строке. Это немедленно устранило все проблемы с xdg-open
и Хром.