Chrome открыть приложение xdg open
Существуют ли какие-либо дополнительные настройки, которые влияют на функциональность xdg-open?
Что-то определенно нарушено:
UPDATE Я очистил firefox: update-alternatives - использует браузер Chrome Chrome разумный браузер - открывает браузер Chrome xdg-open & amp; gnome-open - открывается с помощью google-chrome, который любезно сообщает мне, что «это не браузер по умолчанию»
Для меня было решение запустить две команды. Затем вам нужно только выбрать нужный браузер из списка.
sudo update-alternatives --config x-www-browser sudo update-alternatives --config gnome-www-browser
Источники: Launchpad, Bugzilla
В моей ситуации я установил Chromium и сделал его по умолчанию. До этого Chrome был браузером по умолчанию.
Я удалил как Chrome, так и Хром из gconf и gnome-www-browser:
sudo update-alternatives --remove x-www-browser /usr/bin/google-chrome sudo update-alternatives --remove x-www-browser /usr/bin/chromium-browser sudo update-alternatives --remove gnome-www-browser /usr/bin/google-chrome sudo update-alternatives --remove gnome-www-browser /usr/bin/chromium-browser
Затем я установил новые альтернативы с другими приоритетами:
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome 40 sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/chromium-browser 200 sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/google-chrome 40 sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/chromium-browser 200
Не знаю, являются ли gnome-www-browser и % U приоритетами по умолчанию для всех компьютеров или у вас будут другие номера. Лучше посмотреть, введя
sudo update-alternatives --display x-www-browser sudo update-alternatives --display gnome-www-browser
Upd. Я попытался сделать то же самое на совершенно другой системе, и приоритеты были такими же, как здесь.
Upd2. Если вы запустите google-chrome только один раз, он изменит приоритет на 200, но Chrome-браузер останется по умолчанию.
Это сработало для меня. Хром был настроен по умолчанию автоматически, а 200 запускает Chromium. Но все же xdg-open открывает новое пустое окно.
Существуют ли дополнительные настройки, влияющие на функциональность xdg-open?
Что-то определенно сломано:
Обновление
Я очистил Firefox:
update-alternatives - использует браузер хрома
sensible-browser - открывает браузер хрома
xdg-open & gnome-open - открывается с помощью Google-Chrome, который любезно говорит мне, что это не браузер по умолчанию
Chromium также имеет опцию в настройках, чтобы сделать его браузером по умолчанию:
Это должно работать, но если нет, читайте дальше:
В базе данных GConf есть несколько ключей, которые определяют, какой браузер запускается с помощью xdg-open :
Убедитесь, что они все установлены правильно:
- Удар Alt + F2
- Введите gconf-editor
- Перейдите к указанным выше клавишам, они должны быть установлены на /usr/bin/chromium-browser %s .
В моей ситуации я установил Chromium и сделал его по умолчанию. До этого Chrome был браузером по умолчанию.
Я попробовал все, что смог сделать: настроить браузер Chromium по умолчанию, изменить параметры gconf для запуска Chromium с % U переменная ( https://askubuntu.com/a/41085/9426 ), изменение вариантов использования хрома по умолчанию x -www-browser ( https://askubuntu.com/a/24052/9426 ), но ничего не помогло, xdg -open открыло новое окно Chromium с начальной страницей и не смог открыть данную ссылку, sensible-browser открыл Chrome , Я попытался очистить Chrome (Chromium был автоматически установлен по умолчанию и автоматически установлен в update-alternatives ) и установить его снова, потому что я оттуда понадобилась прошивка Pepper, и она снова стала альтернативой по умолчанию x-www-browser , и снова была открыта с помощью команда sensible-browser . Затем я погуглил несколько страниц и обратил внимание на приоритет, а также обнаружил, что есть символическая ссылка gnome-www-browser в /etc/alternatives/ тоже и Google-Chrome был по умолчанию там. Chrome установлен приоритет 200 и Chromium - 40 . Приоритет Google Chrome выше, поэтому утилита update-альтернатив устанавливает его как веб-браузер по умолчанию автоматически как "лучшую версию".
Я удалил и Chrome, и Chromium из x-www-browser и gnome- WWW-браузер :
Затем я установил новые альтернативы с другими приоритетами:
Я не знаю "40" и "200" по умолчанию приоритеты для всех компьютеров или у вас будут другие номера. Лучше посмотреть, введя
Upd. Я пытался сделать то же самое в совершенно другой системе, и приоритеты были такими же, как здесь.
UPD2. Если вы запустите Google-Chrome только один раз, он изменит свой приоритет на 200 , но браузер Chromium останется по умолчанию.
Это сработало для меня. Chromium был установлен по умолчанию автоматически и sensible-browser запускает Chromium. Но все же xdg-open открывает новое пустое окно.
Записная книжка рассеянного [в пространстве и времени] программиста
Не секрет, что для новичков в никсах существует лишь один путь для выбора приложения, которым будет открываться какой-либо тип файлов: конфигуратор его рабочей среды (кеды, гном, xfce или иное).
Однако то, что происходит за кадром пользователю остается неизвесным. И как только юный падаван попадает в голые иксы с запущенным xterm или голым, но от этого не менее дружелюбным, оконным менеджером (openbox, fluxbox, xmonad и т.д.) - у него сразу возникает куча проблема.
- почему все мои файловые ассоциации, которые я так долго настраивал исчезли?
- Почему в mc все картинки и видео вдруг начинают открываться в браузере?
- почему они вообще открываются через mc?
- почему firefox при выборе пункта “открывать файл” вместо сохранить открываеть его непонятно где или вообще не открывает?
И новичок это гиблое дело забрасывает и возвращается в удобные кеды, гном или что-то еще.
Но на самом деле не все так страшно.
Современные стандарты freedesktop указывают нам на то, что запуск приложений осуществляется с помощью *.desktop файлов, которые описывают все, что необходимо для работы приложения.
А чтобы связать тип файла с приложением, которое будет запускаться введен стандарт Association between MIME types and applications.
Этот стандарт описывает ряд файлов, которые отвечают за связь меджу типом файла и приложением.
Путь | Предназначение |
---|---|
$HOME/.config/$desktop-mimeapps.list | Пользовательские ассоциации. Специфичные для рабочего стола $desktop |
$HOME/.config/mimeapps.list | Пользовательские ассоциации (независимы от рабочего стола) |
/etc/xdg/$desktop-mimeapps.list | Глобальные ассоциации. Предоставляются администратором. специфичные для рабочего стола $desktop |
/etc/xdg/mimeapps.list | Глобальные ассоциации, предоставляемые админом и вендорами ПО. |
$HOME/.local/share/applications/$desktop-mimeapps.list | Глобальные системные ассоциации. Специфичны для рабочего стола $desktop. Запрещен к использованию. Будет удален в новых редакциях стандарта. |
$HOME/.local/share/applications/mimeapps.list | Глобальные системные ассоциации. Запрещен к использованию. Будет удален в новых редакциях стандарта. |
/usr/local/share/applications/$desktop-mimeapps.list and | |
/usr/share/applications/$desktop-mimeapps.list | Набор ассоциаций, которые предоставляются мейнтейнерами дистрибутива. Специфичны для рабочего стола $desktop. |
/usr/local/share/applications/mimeapps.list and | |
/usr/share/applications/mimeapps.list | Набор ассоциаций, которые предоставляются мейнтейнерами дистрибутива. |
Таблица описывает файлы в том порядке, в котором они обрабатываются системой. Переменная $desktop представляет из себя имя рабочего стола в нижнем регистре (kde, gnome, xfce, …).
Данные файлы представляют из себя набор записей вида
mimetype - описание формата. Что-то вроде audio/ogg. Стандарт описания mimetype можно глянуть в соответствующих RFC.
*.desktop есть файл запуска вашего приложения. Обрабатывается список файлов последовательно до первого встреченного существующего приложения. Либо система перейдет к обработке следующего файла.
Помимо основной секции стандарт оговаривает две дополнительных секции.
Секция “added associations” добавляет к выбранным mime-типам указанные приложения в начало списка. Секция “removed association” соотственно удаляет указанные приложения из ассоциации к выбранному mime-типу.
Все. с теорией покончено.
Как было сказано выше - в “дружелюбном окружении уже существует какая-нибудь утилита, которая позволяет пользователю изменить ассоциации.
Но гораздо проще делать это в консоли.
Существует инструмент под названием xdg, который как раз отвечает за работу со списками ассоциаций. И большинство приложений как раз используют его api дабы открывать файлы (mc, nautilus, firefox, …).
Попробуем сделать в консоли
Вы увидите, что картинка откроется при помощи стандартного вьювера для вашего рабочего стола.
А теперь попробуйте сделать
Вы увидите что-то вроде
xdg-mime - инструмент, который входит в комплект поставки любого дистрибутива. Им можно как просматривать, так и изменять ассоциации файлов.
Для примера узнаем, как система распознает какую-нибудь картинку.
А теперь самое главное - привязываем приложения к своим типам файлов. И заодно посмотрим, что происходит под капотом.
Допустим, что у нас свежевыкращенныйзаведенный профиль.
У вас этого файла может не быть, либо он может содержать какие-то дефолтные значения.
Во всех найденных mimeapps.list, defaults.list в качестве браузера вписан Firefox.
Предположив, что в firefox.desktop может вписана команда запуска хромиума, проверил:
Всё чисто. Какого, собственно, хрена? Где еще искать упоминания хромиума?
подписался. у меня такая же хрень
Напили свой xdg-open, там много и не нужно.
Если заменить set на get,то получаю
А set оставлять не хочу, т.к. основная цель - выяснить, куда и как залез хромиум, а не просто жёстко всё сбросить, не узнав, что же на самом деле произошло.Перед изменениями проверил
Теперь знаю о том, что такое есть.
xdg-settings: unknown desktop environment
У меня намедни тоже поломался xdg. Только открывал он вообще всё в Firefox.
Бразуер для запуска, по всей видимости, прописан здесь же в переменной BROWSER:
Глянь у себя - может в начале списка и расположился хромиум.А у меня обратный вопрос. Можно ли заставить chromium поверить что он браузер по умолчанию? До этого умолчальным был firefox. В настройках chromium конопочка делающая его умолчальным тупо не активна: скрин. Или в данном случае проблема в самом chromium'е, а не ДЕ?
Читайте также: