Запустите рыбную оболочку с другой конфигурационной папкой - PullRequest
0 голосов
/ 28 февраля 2019

Можно ли запустить оболочку fish для указания на другой каталог конфигурации, а затем по умолчанию ~/.config/fish?

Я пытаюсь использовать одинаковые режимы оболочки в многопользовательской системе для разных пользователей(Например, в то время как sudo -u <user> fish имеют те же псевдонимы / функции и т. д., что и у моего пользователя).Но также имейте это непостоянным способом, поскольку другие пользователи в системе могут не интересоваться моими настройками.

До сих пор мои идеи были:

  1. source my config ==>проблема с функциями автозагрузки недоступна (например, ~/.config/fish/functions/)
  2. символическая ссылка my config dir ==> не непостоянное, но пока самое близкое функциональное решение

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Из ваших комментариев к ответу, предоставленному Гленном, ясно, что ваш первоначальный вопрос оставил некоторую важную информацию.Если вы работаете в системе, в которой есть другие пользователи, которые также будут sudo -u $some_user, вам не следует ссылаться на ваши личные файлы конфигурации.Вместо этого просто используйте тот факт, что рыба соответствует спецификации XDG Base Directory.Просто установите env var XDG_CONFIG_HOME на ваш настоящий домашний каталог, прежде чем начинать ловить рыбу.Например,

sudo -u $some_user /bin/sh -c "XDG_CONFIG_HOME=$HOME/.config fish"
0 голосов
/ 28 февраля 2019

Вы можете поместить все обычные вещи в общий каталог, возможно,

/opt/fish_config/config.fish
/opt/fish_config/functions/
/opt/fish_config/completions/

Затем в любой ~ / .config / fish / config.fish вы можете поместить:

source /opt/fish_config/config.fish

и в /opt/fish_config/config.fish, в дополнение к своим собственным рыбным материалам, обязательно добавьте:

set fish_function_path $fish_function_path /opt/fish_config/functions
set fish_complete_path $fish_complete_path /opt/fish_config/completions

Простое использование символической ссылки, вероятно, проще, хотя могут возникнуть проблемы с правами доступа к файлам.

Лично, хотя я не разделяю свою конфигурацию между несколькими пользователями на одном компьютере, я делю свою конфигурацию на нескольких машинах: моя конфигурация fish находится в git, и я символическую ссылку ~ / .config / fish накаталог git.

...