Я пытаюсь установить рыбу как свою оболочку по умолчанию. Это установлено в системе через Кв. - добираются, и перечислен в /etc/shells
:
> which fish
/usr/bin/fish
> grep fish /etc/shells
/usr/bin/fish
Я использовал chsh
переключаться от Bash для рыбалки:
> chsh -s /usr/bin/fish
И моя оболочка по умолчанию была изменена в /etc/passwd
:
> grep "myusername" /etc/passwd
myusername:x:1000:1000:Oh Spite,,,:/home/myusername:/usr/bin/fish
Потрясающе. Затем я вышел из системы и перезагрузил. Оболочки входа в систему (например, виртуальный TTYs и SSH) теперь запускают рыбу.
И все же, когда я запускаю терминал или с терминала гнома или с urxvt, сессия удара запускается. Кроме того, SHELL
переменная все еще установлена на /bin/bash
.
Интересно, Терминатор действительно использует рыбу в качестве оболочки по умолчанию. Но даже на той сессии SHELL
установлен на /bin/bash
. Если я запускаю urxvt с Терминатора, urxvt запускает сессию Bash.
Что еще я должен сделать для изменения моей оболочки по умолчанию для рыбалки?
(См. также этот вопрос, но это не дубликат, потому что я следовал тем инструкциям и перезагрузил. Много раз теперь.)
Большинство терминалов (по крайней мере, терминальный гномом, urxvt, и XTerm, например), которые запускаются в настольной среде, такой как Unity, будет использовать SHELL
переменная среды для выбора оболочки, когда они будут запущены.
SHELL
должен автоматически быть установлен на Вашу оболочку по умолчанию, перечисленную в /etc/passwd
, но переменная может быть перезаписана, когда Вы входите в систему. Удостоверьтесь, что Вы не установили SHELL=/bin/bash
или что-то подобное в файле, который будет влиять на Вашу всю настольную сессию. Такие файлы включают:
~/.profile
~/.pam_environment
/etc/environment
/etc/profile
Дополнительно, если какие-либо сценарии такой как ~/.bashrc
или ~/.bash_profile
называют те другие файлы запуска и существует export SHELL=/bin/bash
строка, которая будет также влиять на всю настольную сессию.
я знаю, что это приемлемый/поощряет, но я все еще очень не хочу ответить на свой собственный вопрос. Тем не менее, это может быть несколько полезно кому-то в будущем. Благодаря @heemayl и @muru для помощи мне заняться расследованиями.
Для установки fish
как оболочка по умолчанию для gnome-terminal
, от gnome-terminal
переходят в:
Edit > Profile Preferences
затем переходят в Title and Command
вкладка, Вы доберетесь:
Изменение это как:
Теперь каждый раз, когда Вы запускаете новый экземпляр gnome-terminal
, fish
, будет запущен вместо bash
.