xdg-open только открывает новую вкладку в новом окне Chromium, несмотря на передачу ему URL

10

Когда я использую, xdg-openчтобы открыть ссылку в Chromium, это просто приводит к новому окну Chromium только с новой вкладкой, и больше ничего.

Например, xdg-open 'https://askubuntu.com'просто откроет новое окно Chromium и не откроет AskUbuntu.

Это только кажется , что URL не передается в Chromium, как вызов Chromium непосредственно делает работу и открывает нужную страницу:chromium-browser 'https://askubuntu.com' работы .

Очевидно, Chromium является браузером по умолчанию.

Где может быть проблема, и как я могу это исправить? Это особенно раздражает, когда некоторые программы xdg-openоткрывают ссылку, и вы не можете перейти на нужную страницу или даже посмотреть, что было открыто.

Лео Лам
источник
Хотя этот вопрос относится к Chromium, он может работать для Firefox, если это та же проблема.
Лео Лам

Ответы:

17

Проблема действительно в том 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

Я понятия не имею, почему существует другой chromium-browser.desktop, но учтите, что эта строка Exec не передает URL; это отсутствует %U. Поэтому я просто добавил %Uк этой строке. Это мгновенно исправило все проблемы с xdg-openChromium.

Лео Лам
источник
Невероятно! Я уже несколько недель бьюсь головой об кирпичную стену, едва нашел ответ. То же самое происходит с google-chromeпакетом. Как ты это понял?
Адалин Симонян
1
У меня тоже была эта проблема в течение долгого времени, и я нашел причину, только когда случайно прочитал о .desktopфайлах приложений - я вспомнил проблемы с Chromium и решил проверить файлы, и вот как я это исправил.
Лео Лам
1
В конечном счете, я думаю, что проблема была вызвана перечной вспышкой, хотя я не уверен. Нужно посмотреть список файлов пакета или установить скрипт, чтобы быть уверенным.
Лео Лам
Спасибо, работал для Google-Chrome, обновив ~ / .local / share / Applications / google-chrome.desktop
Влад
Переместил файлы, связанные с Chrome, из /.local/share/applications, и он сразу начал работать! Спасибо!
Хор Ме