Linux: работа с альтернативами

Система альтерантив - это система, при помощи которой в linux можно иметь несколько программ одной направленности, или несколько версий одной и той же программы, и оперативно переключать на требуемую программу требуемую версию. Также это касается и «установок программ по умолчанию».
Например, у нас есть 4 браузера, по умолчанию запускается один. За это отвечает система альтернатив. Или есть 2 версии dwm, и нужно оперативно переключаться между ними (на примере dwm и будем рассматривать систему альтернатив. Есть 2 dwm: один в /home/alexander/dwm, второй штатно из пакета).

Добавляем в систему альтернативу. Смотрим, где располагается текущий dwm:

alexander@alexander-ThinkPad-X201 ~ $ which dwm
/usr/bin/dwm

Добавляем альтернативу:

alexander@alexander-ThinkPad-X201 ~ $ sudo update-alternatives --install /usr/bin/dwm dwm /home/alexander/dwm/dwm 1065
[sudo] password for alexander: 
update-alternatives: используется /home/alexander/dwm/dwm для предоставления /usr/bin/dwm (dwm) в автоматический режим
alexander@alexander-ThinkPad-X201 ~ $ 

Ключ –install используется со следующими аргументами: –install <ссылка> <имя> <путь> <приоритет>

Теперь, при запуске /usr/bin/dwm - будет запускаться именно наш dwm.
Далее, если надо вдруг удалить альтернативу, то используем ключ –remove

Ключ –remove используется со следующими аргументами: –remove <имя> <путь>

В данном случае:

alexander@alexander-ThinkPad-X201 ~ $ sudo update-alternatives --remove dwm /home/alexander/dwm/dwm
[sudo] password for alexander: 
update-alternatives: используется /usr/bin/dwm.default для предоставления /usr/bin/dwm (dwm) в автоматический режим

Ключ –config - настраивает альтернативу. Например, sudo update-alternatives –config x-www-browser - может сменить браузер по умолчанию. (выведет список из установленных браузеров и предложит сделать выбор):

alexander@alexander-ThinkPad-X201 ~ $ sudo update-alternatives --config x-www-browser 
[sudo] password for alexander: 
Есть 6 вариантов для альтернативы x-www-browser (предоставляет /usr/bin/x-www-browser).

  Выбор   Путь                       Приор Состояние
------------------------------------------------------------
* 0            /usr/bin/opera                  200       автоматический режим
  1            /usr/bin/arora                  90        ручной режим
  2            /usr/bin/chromium-browser       40        ручной режим
  3            /usr/bin/firefox                40        ручной режим
  4            /usr/bin/google-chrome-stable   200       ручной режим
  5            /usr/bin/midori                 39        ручной режим
  6            /usr/bin/opera                  200       ручной режим

Нажмите enter, чтобы сохранить текущий выбор[*], или введите выбранное число: 

Также может оказаться полезным:

#посмотреть список файлов-ссылок на альтернативы
ls -al /etc/alternatives/ 

Основные ссылки:

СсылкаОписание
editorредактор текста (типа nano, vi, vim, emacs, nano)
ftpftp-клиент
x-cursor-themeтема курсора
x-session-managerграфическая сессия (kde, gnome, openbox)
x-terminal-emulatorэмулятор терминала
x-window-managerоконный менеджер (kwin, metacity, openbox)
x-www-browserвеб-браузер

Замечание: далеко не все ссылки работают одинаково хорошо во всех оконных менеджерах.

Чтобы посмотреть все альтернативы, не переключая их, для ссылки, используйте ключ –display с параметром <имя ссылки>

Например:

alexander@alexander-ThinkPad-X201 ~ $ update-alternatives --display x-www-browser 
x-www-browser - автоматический режим
  ссылка сейчас указывает на /usr/bin/opera
/usr/bin/arora — приоритет 90
  подчинённый x-www-browser.1.gz: /usr/share/man/man1/arora.1.gz
/usr/bin/chromium-browser — приоритет 40
/usr/bin/firefox — приоритет 40
/usr/bin/google-chrome-stable — приоритет 200
/usr/bin/midori — приоритет 39
  подчинённый x-www-browser.1.gz: /usr/share/man/man1/midori.1.gz
/usr/bin/opera — приоритет 200
  подчинённый x-www-browser.1.gz: /usr/share/man/man1/opera.1.gz
Текущая «лучшая» версия: «/usr/bin/opera».