Terminali her başlattığımda balığı yeniden yazmayı sevmiyorum. fish
Varsayılan olarak istiyorum . Mac'te balık kabuğunu varsayılan kabuğum olarak nasıl ayarlayabilirim?
Terminali her başlattığımda balığı yeniden yazmayı sevmiyorum. fish
Varsayılan olarak istiyorum . Mac'te balık kabuğunu varsayılan kabuğum olarak nasıl ayarlayabilirim?
Yanıtlar:
Bunlar MacOS Sierra 10.12.5 (16F73) ve muhtemelen MacOS'un yeni ve gelecek sürümleri için geçerlidir.
chsh
varsayılan kabuğu değiştirmek için yeterli değildir. Terminaliniz açıkken Command+ tuşuna bastığınızdan emin olun ,ve 'Kabuklar birlikte aç' seçeneğini 'Varsayılan giriş kabuğu' olarak değiştirin.
Bash durumunda, bash'ın echo $BASH_VERSION
istenen sürümünü çalıştırdığınızı doğrulamak için yürüttüğünüzden emin olun . bash --version
size doğru bilgi vermez.
Preferences
ait Terminal.app . Bkz bu Yanıtı Pankaj tarafından.
1. sudo nano / vb / kabukları
2. kabuklar listenize / usr / local / bin / fish ekleyin
3. chsh -s / usr / yerel / depo gözü / balık
Shell open with: Default login shell
Terminal.app
Bir kullanıcının kabuğunu değiştirmek için chsh kullanabilirsiniz .
Örneğin, kabuğunuzu Zsh olarak değiştirmek için aşağıdaki kodu çalıştırın
chsh -s /bin/zsh
Manpage açıklandığı gibi kabuk OS tarafından bilinmiyorsa ve Lorin tarafından, onun bilinen listesine eklemek zorunda: /etc/shells
.
chsh: /usr/local/bin/fish: non-standard shell
altında lorin-Hohstein cevap @ tarafından açıklanan Çözüm bunu / etc / kabukları eklemek oldu
-s
gerçi olmadan ). Yakında tekrar deneyeceğim.
Terminalden:
/etc/shells
Yönetici parolasına ihtiyaç duyan Fish'i ekleyin :
sudo echo /usr/local/bin/fish >> /etc/shells
Fish ile varsayılan kabuğunuzu yapın chsh
:
chsh -s /usr/local/bin/fish
Sistem Tercihleri'nden:
Kullanıcı ve Gruplar → Geçerli Kullanıcı → Gelişmiş Seçenekler'e ctrl tıklayın ...
Giriş kabuğunu olarak değiştir /usr/local/bin/fish
Tamam'a basın, oturumu kapatıp tekrar açın
sudo sh -c 'echo /usr/local/bin/fish >> /etc/shells'
echo /usr/local/bin/fish | sudo tee -a /etc/shells
İşte bunu yapmanın başka bir yolu:
MacPorts ile kurduğunuz varsayılarak, aşağıdakileri yaparak yapılabilir:
sudo port install fish
Sizin kabuk içinde yer alacaktır /opt/local/bin/fish
.
OSX'e bunun geçerli bir kabuk olduğunu söylemeniz gerekir. Bunu yapmak için, bu yolu /etc/shells
dosyanın sonuna ekleyin .
Bunu yaptıktan sonra, Sistem Tercihleri -> Hesaplar bölümüne giderek kabuğu değiştirebilirsiniz. Değişikliklere izin vermek için Kilitle'yi tıklayın. Hesaba sağ tıklayın ve "Gelişmiş Seçenekler ..." i seçin. "Giriş kabuğu" alanına balık yolunu ekleyin.
Benim için işe yarayan tek şey, tüm bu yöntemlerin bir kombinasyonuydu.
Önce /etc/shells
dosyaya balık eklemek zorunda kaldım
Sonra koştum chsh -s /usr/local/bin/fish
Sonunda Command+ yazdım ,ve /usr/local/bin/fish
oradaki varsayılan yola ekledim
Sadece üç şeyi yaptıktan sonra balıklar yeni terminal pencereleri için varsayılan olarak ortaya çıkmaya başladı.
Preferences
> General
> Shells open with:
>/bin/fish
/usr/local/bin/fish
.zsh
Varsayılan olarak ayarlanan bu ekran görüntüsüne bakın .
MacOS Sierra kullanıyorum . Ayrıca macOS Mojave'de çalışır .
MacOS Mojave'de aşağıdakileri yapmak zorunda kaldım (örnek olarak zsh kullanarak):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
zsh
. MacOS Mojave'de zaten var. Mojave'de paketlenmiş ve Catalina'da varsayılan.
Modern macOS'ta bash'ın en son sürümü nasıl elde edilir (Mojave'de test edilmiştir).
brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)
O zaman sadece bash = = 4'te mevcut olan vim stili sekmesi tamamlamaya hazırsınız (şu anki sürüm brew
5.0.2
# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete
# Display a list of the matching files
bind "set show-all-if-ambiguous on"
# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"
chsh
Program varsayılan kabuk değiştirmek izin verir. Yürütülebilir dosyanın tam yolunu isteyecektir, bu nedenle kabuğunuz ise, fish
yazarken verilen çıktıyı vermenizi isteyecektir which fish
.
" Shell:
" İle başlayan bir satır göreceksiniz . Daha önce hiç düzenlemediyseniz büyük olasılıkla " Shell: /bin/bash
" der . Bu /bin/bash
yolu istediğiniz kabuğa giden yolla değiştirin .
Mac OSX (Sierra) 'nın yeni yüklemesinde bu iş benim için:
sudo chown $(whoami) /etc/shells
sudo echo /usr/local/bin/fish >> /etc/shells
chsh -s /usr/local/bin/fish
sudo chown root /etc/shells
heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
> cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >
sadece bu değeri değiştirin (write komutu ile dscl
).
Mac'te varsayılan kabuğunuzu değiştirmek için aşağıdakileri çalıştırın:
chsh -s <name-of-shell>
Seçebileceğiniz mermilerin listesi:
yani / bin / zsh kabuğuna geçmek istiyorsanız, komutunuz şöyle görünecektir:
chsh -s /bin/zsh
çalıştırarak sisteminizdeki tüm kullanılabilir kabukları görebilirsiniz:
cat /etc/shells