3

Я собираюсь изменить стандартную оболочку моего корня с bash на fish. Насколько я знаю, fish - это не стандартная оболочка POSIX. С другой стороны, возможно, ядро или другие элементы в системе связаны со стандартами POSIX, поэтому установка оболочки по умолчанию для root не в POSIX не рекомендуется, так как это может вызвать проблемы в моих частях ОС. Я видел людей на некоторые темы, которые советуют другим не устанавливать оболочку по умолчанию для пользователя root на не-POSIX! Это правильно?

Должен ли я изменить мою оболочку по умолчанию для root на не POSIX или нет? (Я буду рад, если вы объясните это причинами, я новичок в Unix-подобных мирах!)

1 ответ1

1

Если в качестве оболочки по умолчанию для входа в систему используется fish, будет указана переменная SHELL env var для fish. Многие программы (например, vim, tmux) используют его как оболочку, используемую для выполнения команд оболочки, если вы явно не настроите их для использования другой оболочки (например, /bin/sh). Поскольку эти команды оболочки с высокой вероятностью содержат синтаксис оболочки POSIX, команды fish не будут корректно выполняться. Это означает, что вы, скорее всего, будете испытывать случайные, разочаровывающие проблемы.

Вы можете установить fish в качестве оболочки по умолчанию для входа. Я делаю это на двух моих основных компьютерах. Но я опытный пользователь UNIX, который знает о потенциальных проблемах, которые это может вызвать. Я также знаю, как обойти их. Например, добавив set shell=/bin/sh в мой файл конфигурации vimrc. Если вы неопытны или просто не хотите иметь дело с дополнительной конфигурацией, которая потребуется, лучше оставить для вашей оболочки входа bash или другую оболочку POSIX. Затем запустите рыбу из этой раковины в интерактивном режиме. Это также безопаснее, потому что вы с большей вероятностью испортите конфигурацию рыбы таким образом, что вы не сможете начать интерактивную сессию рыбы. Если вы сделали fish своей стандартной оболочкой для входа, вы не сможете войти.

Суть в том, что если вы неопытный пользователь UNIX CLI или новичок в fish, не устанавливайте его в качестве оболочки по умолчанию. Если вы опытный пользователь UNIX CLI и уже несколько недель используете fish и уверены, что вы можете правильно настроить его, не стесняйтесь сделать его оболочкой по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .