Вопрос или проблема
Есть ли способ установить 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 в качестве оболочки по умолчанию:
-
Установка Fish:
Сначала убедитесь, что fish установлен на вашем компьютере. Если это еще не так, выполните следующую команду в терминале:sudo apt update sudo apt install fish
-
Добавление fish в список допустимых оболочек:
Если fish не является стандартной оболочкой для вашего дистрибутива Ubuntu, вам нужно будет добавить его в файл/etc/shells
. Выполните команды:which fish # Узнайте путь к вашей установке fish, например /usr/bin/fish sudo echo "/usr/bin/fish" >> /etc/shells
-
Изменение оболочки по умолчанию для текущего пользователя:
Выполните следующую команду, чтобы сменить стандартную оболочку на fish:chsh -s $(which fish)
-
Изменение оболочки для другого пользователя:
Если вы хотите изменить оболочку по умолчанию для другого пользователя, используйте:sudo usermod -s /usr/bin/fish имя_пользователя
Эта команда требует прав суперпользователя.
-
Перезагрузка сеанса пользователя:
После изменения оболочки по умолчанию, выйдите из системы и зайдите снова, чтобы применить изменения.
Устранение проблем:
- Проблема "non-standard shell":
Если возникла ошибка вроде/usr/local/bin/fish: non-standard shell
, убедитесь, что путь к fish добавлен в файл/etc/shells
, как описано в шаге 2. Это разрешает проблему с "нестандартной оболочкой".
Заключение
Следуя этим шагам, вы можете успешно настроить fish в качестве оболочки по умолчанию в Ubuntu Netbook Remix. Теперь, когда вы закрываете терминал, Ubuntu больше не будет считать fish запущенным внутри bash, и это позволит вам использовать fish как самостоятельное приложение, которое можно закрепить на панели задач.
Используя этот подход, вы улучшите ваш рабочий процесс, обеспечив более комфортные и гибкие условия работы с командной строкой.