Я хочу изменить свою оболочку по умолчанию из tcsh в bash. Поэтому я попытался, и вот что произошло:
>sudo chsh userid
Changing the login shell for userid
Enter the new value, or press ENTER for the default
Login Shell [/xhbin/tcsh]: /bin/bash
chsh: user 'userid' does not exist in /etc/passwd
В самом деле, я не в / etc / passwd. Я не знаю почему.
Что я могу сделать?
Существует способ обхода для gnome-terminal:
Перейти к Edit -> Profile preferences -> Title and Command Check Запустить пользовательскую команду вместо моей оболочки. Предоставить bash в качестве пользовательской команды (или fish или что угодно)Если вы хотите изменить оболочку для своего пользователя, вам не нужно становиться root. Просто введите:
chsh
без sudo и без аргументов.
См. Также man chsh:
The chsh command changes the user login shell. This determines the name of the user's initial login command. A normal user may only change the login shell for her own account; the superuser may change the login shell for any account.Если вы используете аутентификацию LDAP с помощью PAM или что-то в этом роде, вы должны найти свой ответ на своем LDAP-сервере, давайте нацелим его на Microsoft AD, в этом случае ваша учетная запись домена не находится в / etc / passwd при входе в систему, но вы можете увидеть свою пользовательскую собственность в AD, по #getent passwd | grep user, если в конце он показывает, что ваша оболочка is / bin / csh, потому что в вашем AD есть атрибут для этого, поэтому у id у вас есть учетная запись администратора в AD, вы можете исправить ее самостоятельно, иначе просто скажите это своему AD admin, включить дополнительные функции на вкладке «Просмотр» активных пользователей и компьютеров Active Directory> свойства пользователя> атрибуты UNIX> изменить оболочку входа в / bin / bash
, чтобы вы не забыли: sudo / opt / pbis / bin / config LoginShellTemplate / bin / bash
если вы использовали аналогично или ...
сделано! http://fereidonian.net/?p=52
Если вы забыли свое имя пользователя, вы можете использовать команду whoami, чтобы запомнить вас.
Итак, попробуйте с помощью:
sudo chsh $(whoami)
Если действительно, не существует строка, начинающаяся с вашего имени пользователя в файле /etc/passwd (что кажется необъяснимым), вы можете добавить следующее:
username:x:1000:1000:your real name,,,:/home/username:/bin/bashСм. также: Понимание / etc / passwd Формат файла.