Balıkları varsayılan kabuk olarak nasıl ayarlarım?


110

Ubuntu netbook remixinde balıkları varsayılan kabuk olarak ayarlamanın bir yolu var mı? .Bashrc'ı iyi çalıştıran balıkları çalıştırmak için koydum, ancak ubuntu bunu fes içinde çalışan balık olarak tanıyor, bu da kabuğunu kapatmaya çalıştığımda hala bir görevin çalıştığı konusunda uyardığı anlamına geliyor.

Yeni bir uygulama olarak görünmüyor, bu yüzden bara normal bir uygulama gibi onu sabitleyemiyorum.


Yanıtlar:


151

Çalıştırarak balıkları varsayılan kabuğunuz olarak ayarlayabilirsiniz

chsh -s `which fish`

Bunu başka bir kullanıcı için yapmak için komutun sonuna kullanıcı adını eklemeniz ve kullanmanız yeterlidir sudo.

Ardından oturumu kapatın ve tekrar girin.

(Tekrar ayarlamak için bash, elbette Balık sözdizimini kullanmanız gerekir, bunun gibi chsh -s (which bash))


3
Bu benim için işe yaramıyor. Hata vermiyor, ancak yeni bir sekme açsam bile işe yaramadı. Düşüncesi olan var mı?
Xodarap

16
Oturumu kapatıp tekrar açmanız gerekebilir - Ben sadece temiz bir sanal makinede denedim ve çalıştı.
ajmitch

1
Nasıl geri koyarsın?
knutole

7
Yanlışlıkla bu komutu çalıştırmayın, sudoyoksa kök kabuğunu değiştirirsiniz.
Stephen Niedzielski

2
Veya chsh -s (which fish)balığın içinden.
Wtower

30
usermod -s /usr/bin/fish username

Yine de root olarak çalıştırılmalıdır.

Bu, belirtilen kullanıcı için kabuğu kalıcı olarak değiştirir.


1
Ubuntu olmadığını biliyorum, ama yorum yapmak istedim: CentOS'taydım ve Authentication Failedkabuğu olmayan bir kullanıcıyla değiştirmeye çalışırken bir hatayla karşılaşıyordum ve yoğun bir şekilde araştırıp aramaya çalıştıktan sonra, bu tek şeydi. işe yaradı. Teşekkürler!
CWSpear

Evet, bir kabuk için usermod ve balık barındıran çoğu unix lezzetleri üzerinde çalışacak veya kabuğu istediğiniz
dilde

Bunu yaptım ve şimdi terminal artık başlamıyor. "Bu terminal için alt işlem oluşturulurken bir hata oluştu", "Alt işlem yürütülemedi" / usr / bin / fish "(Giriş / çıkış hatası)" alıyorum. Bunu nasıl geri alabilirim?
ptkato

Kökle aynı komutu verin, ancak kabuk yerine balık yerine bash kullanın.
Sweetfa

21

Çizgimi fishsonuna kadar ekledim .bashrc.


1
Bu en basit ve en iyi çözüm, IMO;)
Ben Marten,

9
Üzgünüz, ama verimli değil. :) Balık kabuğunuzu yükler ancak koşu bandınızın üst kısmına yükler.
M. Junaid Salaat

1
Neden bash'ın verimli olması gerekiyor? @ M.JunaidSalaat
kod

İlk bakışta bu kirli bir kesmek gibi gözüküyor, ancak bir süre sonra bilgisayarımı balıkla chsh ile ayarladıktan sonra chsh ile varsayılan kabuk olarak kullandım. Bazı programlar bash kullandığınızı ve balıkta bash sözdizimini kullandığınızdan dolayı çökeceğini varsaymaktadır. Şimdiye kadar i3wm ve matlab'da bu tür sorunlarla karşılaştım.
Naheel,

@codenamejames: Bash'ın verimli olması gerekmiyor veya bu birkaç milisaniyenin önemi yok, ama kaybedecek bir şey yok, o yüzden neden doğru yapmıyorsunuz? Özellikle burada başkalarına tavsiye verdiğimiz yer. Daha iyisini
bilmeliyiz

13

Katılıyorum chshdoğru cevaptır. Ancak:

Eğer koşar chshve hata yaparsanız

/usr/local/bin/fish: non-standard shell

sadece balık ikili konumunu eklemek /etc/shells.

Burada bulundu .


Bu macOS Mojave üzerinde yapmak için gereklidir.
Dodekeract

2

İçine /etc/shellsekle /usr/local/bin/fish:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish

Öyleyse chsh -s /usr/local/bin/fish.

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.