Jak mogę zmienić powłokę w Ubuntu? [duplikować]

87

To pytanie ma już odpowiedź tutaj:

Mam Ubuntu Server VPS i chcę używać go /bin/bash/jako mojej powłoki. Jak mogę zmienić moją powłokę? Mam dostęp do konta root, ale nie pracuję jako root. Więc myślnik jest teraz moją domyślną powłoką.

Przeczytałem Jak ustawić Bash jako domyślną powłokę na Ubuntu? i chshszwy to preferowana droga. Ale kiedy piszę chsh /bin/bash, otrzymuję ten komunikat: chsh: unknown user /bin/bash

A jeśli po prostu /bin/bashnapiszę szwy powłoki Bash, aby dobrze działać. Jak to zmienić?

Jonas
źródło

Odpowiedzi:

84

Aby zmienić powłokę, użyj chshpolecenia bare . Spowoduje to wyświetlenie monitu o nową powłokę. Nie musisz uruchamiać niczego jako root.

Miś
źródło
Ach, było jeszcze lepiej!
Jonas
8
nie zapomnij wylogować się i zalogować ponownie, aby zobaczyć zmianę.
driftcatcher
26
Nie działa jak zwykły użytkownik: $ chsh Nie możesz zmienić powłoki na „user”.
Henning
1
Pracuje dla mnie. Wygląda na to, że Twój system został celowo zablokowany.
Michael Cole,
1
Używam ssh, ale chsh prosi mnie o hasło, którego nie znam. Jest jakiś sposób na obejście tego?
Qwerty
112

Podczas uruchamiania jako root możesz używać chshdo zmiany powłok innych użytkowników. Składnia, której chcesz tego użyć. Możesz zmienić własną powłokę bez uprawnień roota.

chsh -s /bin/bash username

Dentrasi
źródło
10
-1 chsh nie musi być uruchamiany jako root, aby zmienić własną powłokę. Zmiana powłok innych osób wymaga rootowania.
Broam,
2
To zadziałało. Zawsze pojawia się komunikat o błędzie „Nie możesz zmienić powłoki dla ...”.
setzamora,
2
Wyloguj się i zaloguj ponownie po, aby obserwować zmianę
smac89,
1
+1 Znalazłem, że to działa, po wypróbowaniu chshpolecenia po zalogowaniu jako użytkownik i otrzymaniu „Nie możesz zmienić powłoki na ...”
therobyouknow
52

Możesz zmienić domyślną powłokę dla swojego użytkownika za pomocą polecenia usermod.

sudo usermod -s <shell> <username>

zamień na nazwę powłoki, której chcesz użyć (tj. / bin / bash) i na nazwę użytkownika, dla której chcesz ją zmienić.

Spowoduje to ustawienie domyślnej powłoki dla nazwy użytkownika wybranej w pliku / etc / passwd.

txwikinger
źródło
8
Użyj, usermodjeśli zobaczysz „chsh Nie możesz zmienić powłoki na ...”
Xeoncross
2
głosowanie, ponieważ chsh naprawdę nie działało dla mnie. Dzięki!
Mixaz,
Ważne, aby pamiętać, że usermodwymagasudo
ARun32