Часто нужно, чтобы данные определённого типа обрабатывались какой-то конкретной программой, и чтобы если программ с нужным функционалом в системе было несколько, можно было каким-либо образом выбрать из них ту, что будет делать это по-умолчанию всегда.
Мощные рабочие среды обычно предоставляют графический интерфейс для этой настройки. Например, в KDE в разделе Приложения по умолчанию параметров системы можно задать программы для семи типов задач: почтовый клиент, текстовый редактор, файловый менеджер, клиент обмена короткими сообщениями, эмулятор терминала, веб-браузер, оконный менеджер.
В Gnome есть Preferred Applications (команда gnome-default-applications-properties), где можно задать дефолтный браузер, почтовый клиент, мультимедиа-плеер и эмулятор терминала.
Однако, двумя этими DE всё не ограничивается. Возникает иногда необходимость задать программы по-умолчанию и в простых оконных менеджерах. Один из примеров - если установлено больше одного браузера, как заставить открываться ссылки (например, из мессенджера) в каком-то определённом из них, работая при этом, допустим, в openbox. Собственно, так я с данной проблемой и столкнулась.
Частичное решение предоставляет пакет update-alternatives. Эта команда управляет символическими ссылками на реальные программы. То есть для определённой задачи создаётся специальная символическая ссылка, которая уже вызывает приложение, подходящее для данной задачи. Соответственно при необходимости сменить программу, ссылка остаётся, в ней просто прописывалется другое приложение.
Простой способ использования - просто перебрать все альтернативы:
sudo update-alternatives --allПоследовательно перечислит все существующие в системе символические ссылки на приложения и предложит для них выбор.
Если нужно просто посмотреть на возможные альтернативы для ссылки:
update-alternatives --display linkЕсли нужно поменять:
sudo update-alternatives --config linkОднако, вместо link в этих командах нужно подставлять имя конкретной символической ссылки и для этого его нужно знать.
А примеры ссылок таковы:
- editor - редактор текста (типа nano, vi, vim, emacs)
- ftp - ftp-клиент
- x-cursor-theme - тема курсора
- x-session-manager - графическая сессия (kde, gnome, openbox)
- x-terminal-emulator - эмулятор терминала
- x-window-manager - оконный менеджер (kwin, metacity, openbox)
- x-www-browser - веб-браузер
Пройдясь по всем симлинкам с помощью первой приведённой тут команды, возможно, встретить и ещё что-нибудь интересное. Если менять ничего не требуется, нужно просто нажимать Enter, а при необходимости выбора следует нажимать соответствующую цифру. Вывод команды довольно понятен, например:
opossum@opossum:~$ sudo update-alternatives --config gnome-www-browserКстати, эта ссылка вроде задаёт путь к дефолтному браузеру в среде gnome. Но как-то я не заметила, чтобы это работало.
There are 3 choices for the alternative gnome-www-browser (providing /usr/bin/gnome-www-browser).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/google-chrome 150 auto mode
1 /usr/bin/chromium-browser 40 manual mode
2 /usr/bin/firefox 40 manual mode
3 /usr/bin/google-chrome 150 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/chromium-browser to provide /usr/bin/gnome-www-browser (gnome-www-browser) in manual mode.
Хотелось бы ещё узнать, возможно ли и как подобным образом задать дефолтный файловый менеджер, например. И если так это сделать невозможно, то каким методом это делается (если вне зависимости от среды).
Спасибо за толчек мысли!
ОтветитьУдалитьПрочитав статью, вспомнил когда-то виданную программу "gAlternatives" -GUI, 30k весом.
Это надстройка (для удобства) над "update-alternatives" и потому систему никак не грузит.
Единственный минус -плохо переведена -старая, 2003г.
И вам спасибо. Я про неё не знала, оказывается, есть в стандартных репах. Ещё kalternatives - видимо, гуёвая надстройка только для кед. А что старая, думаю, не страшно - там, возможно, обновлять-то нечего.
ОтветитьУдалитьИнтересно как например подредактировать симлинк для файрфокса изменить дефолтовый менеджер загрузки, если стоит например kget или wget.
ОтветитьУдалитькому интересно мой блог о линукс: http://interio-tech.com
В смысле чтобы при клике на ссылку на скачивание в фф запускался wget или kget? или чего?
ОтветитьУдалить