Аргументы альтернатив обновления - <ссылка> и <путь> не могут быть одинаковыми

Я хочу добавить vimb в браузеры по умолчанию в x-www-browser, Я не вижу этого в update-alternatives --config x-www-browserтак что я думаю, что должен --install Это. После некоторого времени, проведенного в чтении man update-alternatives и в поисках я придумал это:

update-alternatives --install /usr/local/bin/vimb x-www-browser /usr/local/bin/vimb 30

Это кажется глупым (повторяющиеся аргументы), но я думаю, что я не правильно понял руководство. Что именно я должен передать в link а также path?

COMMANDS
   --install link name path priority [--slave link name path]...

    link is the generic name for the master link,
    name is the name of its symlink in the alternatives directory, and
    path  is  the  alternative  being introduced for the master link.

TERMINOLOGY
   alternatives directory
          A directory, by default /etc/alternatives, containing the symlinks.

   alternative name
          The name of a symbolic link in the alternatives directory.

   alternative (or alternative path)
          The name of a specific file in the filesystem, which may be made accessible  via
          a generic name using the alternatives system.

Должен ли я сделать копию /usr/local/bin/vimb в /etc/alternatives или что?

2 ответа

ИМХО справочная страница несколько сбивает с толку, но ключевые части, кажется,


--install link name path priority [--slave link name path]...
       Add a group of alternatives to the system.  link is the  generic
       name for the master link, name is the name of its symlink in the
       alternatives directory, and path is the alternative being intro‐
       duced  for the master link.

где generic name описано в TERMINOLOGY раздел как


generic name (or alternative link)
       A name, like /usr/bin/editor, which refers, via the alternatives
       system, to one of a number of files of similar function.

в то время как фактическая исполняемая цель упоминается как path


alternative (or alternative path)
       The name of a specific file in the filesystem, which may be made
       accessible via a generic name using the alternatives system.

так что в вашем случае это должно быть

update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/vimb 30

Некоторые эксперименты показали мне правильную комбинацию аргументов. Оказалось, что link должен был быть /usr/bin/x-www-browserи, наконец, команда становится:

update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/vimb 30

Пока не понимаю почему update-alternatives нужны оба /usr/bin/x-www-browser а также x-www-browser,
where x-www-browser возвращает первое, что означает, что оба указывают на одно и то же местоположение. В любом случае, это рабочее решение, но я все равно был бы рад получить ответ от кого-то с более глубоким пониманием того, как все работает.

Другие вопросы по тегам