Как установить fish в качестве оболочки по умолчанию?

Вопрос или проблема

Есть ли способ установить fish в качестве оболочки по умолчанию в ubuntu netbook remix? Я добавил в свой .bashrc команду для запуска fish, что работает нормально, но ubuntu распознает это как fish, работающий внутри bash, что означает, что когда я пытаюсь закрыть оболочку, она предупреждает меня, что задача все еще выполняется.

Она не отображается как новое приложение, поэтому я не могу закрепить его на панели, как обычное приложение.

Вы можете установить fish в качестве оболочки по умолчанию, запустив

chsh -s $(which fish)

Чтобы сделать это для другого пользователя, просто добавьте имя пользователя в конце команды и используйте sudo.

Затем выйдите из системы и снова войдите.

(Чтобы вернуть bash, вам нужно использовать синтаксис Fish, конечно же, вот так chsh -s $(which bash))

Если вы столкнетесь с сообщением, говорящим что-то вроде:

chsh: /opt/homebrew/bin/fish: non-standard shell

Вам нужно сначала добавить fish в список стандартных оболочек:

sudo -i
sudo echo "$(which fish)" >> /etc/shells
exit # чтобы выйти из-под root пользователя

usermod -s /usr/bin/fish имя_пользователя

Однако это нужно выполнять с правами root.

Это изменит оболочку навсегда для указанного пользователя.

Я просто добавил строку fish в конец моего .bashrc.

Я согласен с тем, что chsh — это правильный ответ. Однако:

Если вы запускаете chsh и получаете ошибку

/usr/local/bin/fish: non-standard shell

просто добавьте местоположение binara fish в /etc/shells.

Нашел здесь.

В /etc/shells, добавьте /usr/local/bin/fish:

# Список допустимых оболочек для chpass(1).
# Ftpd не позволит пользователям подключаться, которые не используют
# одну из этих оболочек.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish

Тогда chsh -s /usr/local/bin/fish.

.

Ответ или решение

Чтобы установить fish в качестве вашей оболочки по умолчанию в Ubuntu Netbook Remix, следуйте этим шагам.

Шаги для установки fish в качестве оболочки по умолчанию:

  1. Установка Fish:
    Сначала убедитесь, что fish установлен на вашем компьютере. Если это еще не так, выполните следующую команду в терминале:

    sudo apt update
    sudo apt install fish
  2. Добавление fish в список допустимых оболочек:
    Если fish не является стандартной оболочкой для вашего дистрибутива Ubuntu, вам нужно будет добавить его в файл /etc/shells. Выполните команды:

    which fish  # Узнайте путь к вашей установке fish, например /usr/bin/fish
    sudo echo "/usr/bin/fish" >> /etc/shells
  3. Изменение оболочки по умолчанию для текущего пользователя:
    Выполните следующую команду, чтобы сменить стандартную оболочку на fish:

    chsh -s $(which fish)
  4. Изменение оболочки для другого пользователя:
    Если вы хотите изменить оболочку по умолчанию для другого пользователя, используйте:

    sudo usermod -s /usr/bin/fish имя_пользователя

    Эта команда требует прав суперпользователя.

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

Устранение проблем:

  • Проблема "non-standard shell":
    Если возникла ошибка вроде /usr/local/bin/fish: non-standard shell, убедитесь, что путь к fish добавлен в файл /etc/shells, как описано в шаге 2. Это разрешает проблему с "нестандартной оболочкой".

Заключение

Следуя этим шагам, вы можете успешно настроить fish в качестве оболочки по умолчанию в Ubuntu Netbook Remix. Теперь, когда вы закрываете терминал, Ubuntu больше не будет считать fish запущенным внутри bash, и это позволит вам использовать fish как самостоятельное приложение, которое можно закрепить на панели задач.

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

Оцените материал
Добавить комментарий

Капча загружается...