Mam csh
jako domyślną powłokę, jak pokazuje echo $SHELL
. Chcę przejść na bash
moją domyślną powłokę. Próbowałem następujących metod bezskutecznie:
Dzięki
chsh
otrzymuję:chsh: can only change local entries; use ypchsh instead.
Dzięki
ypchsh
otrzymuję:ypchsh: yppasswdd not running on NIS master host ("dcsun2").
Mam tylko .chsrc
w katalogu domowym i nie mogę znaleźć żadnych .profile
plików /etc
. Jak mogę zmienić domyślną powłokę na bash
?
Odpowiedzi:
Upewnij się, że masz
bash
zainstalowany.Poznaj lokalizację
bash
:lub
Poniżej założę, że jest to lokalizacja
/bin/bash
.a) Jeśli masz uprawnienia administracyjne, po prostu uruchom jako root:
(zastąpienie
YOUR_USERNAME
nazwą użytkownika).b) Jeśli nie masz adm. praw, nadal możesz po prostu uruchomić
bash --login
przy logowaniu, umieszczając poniższy wiersz na końcu swojego.cshrc
lub.profile
(w katalogu domowym):źródło
bash
jest wyliczony/etc/shells
z poprawną ścieżką.export SHELL=/bin/bash
. W rzeczywistości istnieje lepszy sposób - patrz aktualizacja.Skontaktuj się z administratorem systemu. Źle skonfigurował. Jeśli jesteś administratorem systemu , to źle skonfigurowałeś.
Komunikat o błędzie wygląda całkiem prosto. Nie masz
yppasswd
uruchomionego na dcsun2. Powinno być.Ale szybkie wyszukiwanie google daje wynik, który wskazuje, że pojawi się ten błąd, jeśli
yppasswd
działa zarówno na kliencie, jak i na serwerze. W takim przypadku wyłącz go na kliencie.Jeśli utkniesz z csh jako powłoką logowania, nadal możesz wywołać bash podczas logowania. Wprowadź w swoim poleceniu następujące polecenia
~/.login
(zobacz także Zmienianie domyślnej powłoki bez uprawnień chsh lub uprawnień administratora ):W
/usr/local/bin/bash
razie potrzeby zastąp właściwą ścieżką. Jeśli wszystko działa, usuńsleep 2
(co powoduje opóźnienie, podczas którego możesz nacisnąć,Ctrl+C
aby przejść do monitu csh, na wypadek, gdyby coś poszło nie tak).źródło