Giriş dizinimde bir .bash_profile
giriş var , ancak giriş yapmadı. Aşağıdakileri yaparsam, beklediğim gibi görünüyor:
ssh myhost
bash
source ~/.bash_profile
Ancak normalde tüm bunlar giriş yaparken olur. Düşünceler?
Giriş dizinimde bir .bash_profile
giriş var , ancak giriş yapmadı. Aşağıdakileri yaparsam, beklediğim gibi görünüyor:
ssh myhost
bash
source ~/.bash_profile
Ancak normalde tüm bunlar giriş yaparken olur. Düşünceler?
Yanıtlar:
kullanın:
chsh
Parolanızı girin ve kullanmak istediğiniz kabuğun yolunu belirtin.
Bash için bu olurdu /bin/bash
. Zsh için bu olurdu /usr/bin/zsh
.
sudo chsh -s /bin/bash username
Akira'nın cevabına ek olarak, varsayılan kabuğunu belirtmek için / etc / passwd dosyanızı da düzenleyebilirsiniz .
Bu örnek gibi bir çizgi bulacaksınız:
john:x:1000:1000:john,,,:/home/john:/bin/sh
Kabuk sonunda belirtilir.
/etc/passwd
ve dikkatli olursanız, John'un cevabı sistemin sağladığı araçları iyi kullanıyor.
Terminal programınızı kontrol edebilirsiniz. / Bin / bash yerine / bin / sh komutunu çalıştırmak üzere yapılandırılmış olabilir.
Bash, sadece giriş oturumları için .bash_profile dosyasını çalıştırır. .bashrc, yalnızca oturum açma oturumları için değil, tüm bash oturumları için yürütülür. .Bash_profile dosyasını .bashrc adresinden almayı deneyin (dairesel bağımlılıktan kaçının!) Veya terminal programınızı bir kabuk programı olarak / bin / bash -l ile çalışacak şekilde yapılandırın.
Alternatiflerden biri, başlangıç komut dosyanızı .profile olarak yeniden adlandırmaktır. Bu dosya çoğu Unix kabuğundan kaynaklanıyor .
Bash'ı etkinleştir:
$ /bin/bash
Kullanıcı için kabuğu değiştir:
$ sudo usermod -s /bin/bash username
nerede:
-s, --shell SHELL new login shell for the user account
sudo
o sisteme erişimi olduğunu varsayıyorsun ? Neden başka bir kullanıcının oturum açma kabuğunu değiştirme konusunda talimatlar veriyorsunuz?
Herhangi bir kabuğunuzu varsayılan yapmak için, önce aşağıdakilerin içeriğine bakarak bilgisayarınıza yüklendiğini ve tanındığını doğrulayın /etc/shells
:
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/fish
Ardından chsh
kabuğunuzu değiştirmek için kullanın :
$ sudo chsh -s /usr/bin/bash $(whoami) # or sudo chsh -s /bin/bash $(whoami)
Sorunuzda kesin olarak söyleyeceğim kadar bilgi yok, ancak daha önce de aynı soruna değindim. Parola girişinizde zaten ayarlanmış / bin / bash olduğunu varsayarsak, terminalinizin çalışma şekli bu olabilir.
Bir GUI terminali başlatmaya çalışıyorsanız gnome-terminal
, kabuk başlangıç dosyalarınızı okumasını bekliyor olabileceğinizi söyleyin . Ancak, bu Ubuntu ve belki de diğer sistemlerde varsayılan olarak olmaz.
Ubuntu'da düzelttiğim yöntem, gnome-terminal tercihlerini düzenlemek ve başlangıç komutunu ayarlamaktır bash -l
. -l
için kısa --login
. Bu, bash'ın oturum açma kabuğu olarak başlatılmasını sağlar; bu, ssh aracılığıyla oturum açarken başlangıç komut dosyalarının yüklenmesini sağlar.
Bunun olması için iyi bir neden olduğundan eminim, ama linux, cywgin ve macos sistemleri arasında aynı profilleri paylaşırken şaşırtıcı ve biraz can sıkıcı buldum.
~/.profile
Or~/.bash_login
kaynaklı tek üç sıra. (Tam siparişi unuttum.)