Mam .bash_profile
w moim katalogu domowym, ale nie można go uruchomić przy logowaniu. Jeśli wykonam następujące czynności, wszystko będzie wyglądać tak, jak się spodziewam:
ssh myhost
bash
source ~/.bash_profile
Ale zwykle wszystko dzieje się po zalogowaniu. Myśli?
~/.profile
lub~/.bash_login
, ponieważ tylko jedna z trzech jest pozyskiwana. (Zapomniałem dokładnej kolejności.)Odpowiedzi:
Posługiwać się:
Wprowadź hasło i podaj ścieżkę do powłoki, której chcesz użyć.
To byłoby dla Basha
/bin/bash
. To by było dla Zsha/usr/bin/zsh
.źródło
sudo chsh -s /bin/bash username
Oprócz odpowiedzi Akiry możesz także edytować plik / etc / passwd , aby określić domyślną powłokę.
Znajdziesz wiersz taki jak ten przykład:
Powłoka jest określona na końcu.
źródło
/etc/passwd
i jesteś ostrożny, odpowiedź Johna dobrze wykorzystuje narzędzia oferowane przez system.Możesz sprawdzić swój program terminalowy. Może być skonfigurowany do uruchamiania / bin / sh zamiast / bin / bash
Bash wykonuje .bash_profile tylko dla sesji logowania. Plik .bashrc jest wykonywany dla wszystkich sesji bash, nie tylko sesji logowania. Spróbuj pobrać .bash_profile z .bashrc (unikaj cyklicznej zależności!) Lub skonfiguruj swój program terminalowy do uruchamiania / bin / bash -l jako programu powłoki.
źródło
Jedną z możliwości jest zmiana nazwy skryptu uruchamiania na .profile. Ten plik jest źródłem większości powłok uniksowych .
źródło
Włącz bash:
Zmień powłokę dla użytkownika:
gdzie:
źródło
sudo
dostęp do tego systemu? Dlaczego podajesz instrukcje dotyczące zmiany powłoki logowania innego użytkownika?Aby ustawić dowolną powłokę jako domyślną, najpierw sprawdź, czy jest ona zainstalowana i rozpoznana na twoim komputerze, sprawdzając zawartość
/etc/shells
:Następnie użyj,
chsh
aby zmienić powłokę:Bibliografia
źródło
W twoim pytaniu nie ma wystarczającej ilości informacji, aby powiedzieć, ale napotkałem już ten sam problem. Zakładając, że już ustawiłeś / bin / bash we wprowadzaniu hasła, może to być sposób uruchamiania terminala.
Jeśli próbujesz uruchomić terminal GUI, powiedz, że
gnome-terminal
możesz oczekiwać, że powłoka odczyta twoje pliki startowe bash. Nie dzieje się tak jednak w systemie Ubuntu i być może w innych systemach domyślnie.Naprawiłem to w Ubuntu, edytując preferencje terminala gnome i ustawiając komendę uruchamiania na
bash -l
.-l
jest skrótem od--login
. To mówi bashowi do uruchomienia jako powłoki logowania, co powoduje, że ładuje on skrypty startowe, gdy dostajesz się podczas logowania przez ssh.Jestem pewien, że jest to uzasadnione, ale jest to zaskakujące i trochę denerwujące, gdy dzielę te same profile w systemach Linux, Cywgin i Macos.
źródło