Kabuğumu Mac OS X'te nasıl ayarlarım?


19

Terminal tercihlerinde "Kabuklar açık" ayarlayabileceğimi biliyorum, ancak bunu ayarlamak için sistem genelinde bir yol olup olmadığını merak ediyorum (bazı Unix'lerde güncelleme / etc / passwd'ye benzer).

Yanıtlar:


24

chshYardımcı programı aşağıdaki gibi kullanın :

chsh -s bash

Apple, chshMac OS X’te chsh, örneğin Linux’ta göreceğinize göre biraz değişti . Bunları chsh Mac OS X Man Sayfasında okuyabilirsiniz .


Burada OSX'e özgü bazı yardımcı programlarla karmaşık bir şey olduğunu düşündüm. Teşekkürler.
nall

@john - güzel öğrendim :)
akira

Evet, cevabı geçen sefer de biliyordum, yenildim! :(
John T

17

Yalnızca içinde listelenen bir kabuğa geçiş yapmanıza izin verileceğini unutmayın /etc/shells. Bu normalde iyidir, ancak Bash 4'ü (Homebrew, MacPorts'dan veya kendi derlemenizi kurmak) kurmak istiyorsanız, bir satır eklemeniz gerektiği anlamına gelir /etc/shells. (Birkaç hafta önce bununla karşılaştım ve başkalarının bilmesine yardımcı olabileceğini düşündüm ...)

Düzenleme : Tim Smith , root olarak /etc/shellsçalıştırıyorsanız sınırlamayı aşabileceğinizi belirtir . Örnekte listelenmemiş olsa bile çalışacaktır . Düzenlemeyi tercih ediyorum , ancak sonunda, normal bir kullanıcı olarak düzenleyemediğiniz için bu yöntemlerden herhangi biri de kullanılıyor . Yani belki altıda biri, diğerinden yarım düzine.chshsudosudo chsh -s /usr/local/bin/my_shell $USERmy_shell/etc/shells/etc/shellssudo/etc/shells


Mecbur /etc/shellsdeğilken neden değişmelisin ? Akıl sağlığı için sistem dosyalarını aynı tutmayı tercih ederim.
ma11hew28

@MattDiPasquale "Aklı" ile ne demek istediğinizi tam olarak bilmiyorum. /etc/shellssistemdeki, tanınan kabukları tanımlayan dosyadır. Tanınan mermiler listesine bir kabuk eklemek istediğim için bu dosyayı değiştirdim. Bana oldukça mantıklı geliyor.
Telemachus,

Aferin yol, nedense chsh benim için işe yaramaz. Bunu anladım ; chsh: bash: non-standard shell
RyBolt

@ RyBolt Hakkı: nedeni muhtemelen cevapta söylediklerimdir. Sen kullanamaz chshsen listelenmeyen bir kabuk kullanmaya çalışıyorsanız yalnız /etc/shells.
Telemachus

@Telemachus, varsayılan Mac OSX derlememle gelen orijinal bash kabuğuna geçmeye çalışıyordum. Belki de /etc/shellsbana göre garip gözükmüyor.
RyBolt

10

Mac OS X GUI'yi kullanarak bunu yapmak için:

  1. “Sistem Tercihleri” ni açın.
  2. “Hesaplar” / “Kullanıcılar ve Gruplar” tercih penceresini açın ve varsa tercih bölmesinin kilidini açın.
  3. Kullanıcı üzerinde kabuğu değiştirmek istediğinizde, kullanıcının üzerinde control+ tuşunu tıklayın veya sağ tıklayın ve “Gelişmiş Seçenekler…” seçeneğini seçin.
  4. “Giriş Kabuğu:” yazdığı yerde bunu kullanmak istediğiniz kabuğa değiştirin.

Not: Bu konum, Terminal'den memnun değilseniz, giriş dizini, UUID, Kullanıcı Kimliği, Grup Kimliği ve kısa adını değiştirebileceğiniz yerdir. Burada da benzer bir soru var .


4

Yukarıdaki cevapları kullanarak bir hata mesajı alıyordum:

$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell

Bu soruna geçici bir çözüm bulmak için:

sudo chsh -s zsh $(whoami)

whoami Bir alt kabukta, kökün değil, kullanıcının kabuğunun değiştirilmesidir.

Homebrew kullanıyorsanız bir şey daha. Komutları root olarak kullandığınızda ( sudozsh), zsh, OSX ile birlikte gelen ve modası geçmiş olabilecek / bin / zsh'yi gösterir. Homebrew aracılığıyla kurulan güncel olanı kullanmak için aşağıdakileri kullanın:

sudo chsh -s $(which zsh) $(whoami)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.