魚をデフォルトのシェルとして設定するにはどうすればよいですか?


110

ubuntu netbook remixでfishをデフォルトのシェルとして設定する方法はありますか?私は.bashrcを入れて魚を実行しますが、これは正常に動作しますが、ubuntuはそれをbash内で実行されている魚として認識します。

新しいアプリケーションとしてポップアップしないため、通常のアプリのようにバーに固定することはできません。


回答:


151

実行することにより、デフォルトのシェルとして魚を設定できます

chsh -s `which fish`

別のユーザーに対してこれを行うには、コマンドの最後にユーザー名を追加し、を使用しますsudo

その後、ログアウトして再度ログインします。

(に戻すにはbash、もちろん、このようにFish構文を使用する必要がありますchsh -s (which bash)


3
これは私にはうまくいかないようです。エラーは発生しませんが、新しいタブを開いただけでも機能しないようです。何かご意見は?
Xodarap

16
ログアウトして再度ログインする必要がある場合があります。クリーンな仮想マシンで試してみましたが、うまくいきました。
ajmitch

1
どのように戻すのですか?
knutole 14年

7
誤ってこのコマンドを実行しないでくださいsudo。代わりにルートシェルを変更することになります。
スティーブン

2
またはchsh -s (which fish)魚の中から。
Wtower

30
usermod -s /usr/bin/fish username

ただし、rootとして実行する必要があります。

これにより、指定したユーザーのシェルが永続的に変更されます。


1
私はそれがUbuntuではないことを知っていますが、コメントしたかったです:私はCentOSにいて、Authentication Failed非rootユーザーでシェルを変更しようとしてエラーが発生していましたうまくいった。ありがとう!
CWSpear

はい、それはシェルのためのUSERMODと魚を持っているほとんどのUNIXフレーバーに取り組む、またはあなたが望むものは何でも味にシェルを変更します
sweetfa

私はそれをやったが、今はもう端末が起動しない。「この端末の子プロセスの作成中にエラーが発生しました」、「子プロセス「/ usr / bin / fish」の実行に失敗しました(入出力エラー)」が表示されます。どうすれば元に戻すことができますか?
ptkato

rootと同じコマンドを発行しますが、シェルとしてfishの代わりにbashを使用します。
sweetfa

21

私はちょうど私の行fishの最後に行を追加しました.bashrc


1
それが最も簡単で最良のソリューション、IMO;)
ベンマーテン

9
申し訳ありませんが、効率的ではありません。:)それはあなたの魚の殻をロードしますが、実行中のbashの上にあります。
M.ジュネイドサラト

1
なぜbashは効率的である必要があるのですか?@ M.JunaidSalaat
codenamejames

一見するとこれは汚いハックのように思えますが、しばらくの間、chshでデフォルトのシェルとして魚を設定したPCを使用して、このソリューションに戻りました。一部のプログラムでは、bashを使用していると想定しており、fishでbash構文を使用しているためクラッシュします。これまでのところ、i3wmとmatlabでこのような問題に直面していました。
ナヒール

@codenamejames:bashが効率的である必要があるわけでも、数ミリ秒が重要なわけでもありませんが、失うものは何もないので、なぜそれを修正しないのですか?特にここでは、私たちが他の人々にアドバイスをしています。もっとよく知っておくべきです
swalog

13

chsh正解であることに同意します。しかしながら:

実行chshしてエラーが発生した場合

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

単純に魚のバイナリの場所をに追加し/etc/shellsます。

発見ここに


これは、macOS Mojaveで行う必要があります。
Dodekeract

2

/etc/shells、追加し/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

それからchsh -s /usr/local/bin/fish

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.