質問

ターミナルを起動するたびに魚を再入力するのは好きではありません。デフォルトでfishをオンにします。 Macで魚のシェルをデフォルトのシェルとして設定するにはどうすればよいですか?

役に立ちましたか?

解決

これらは、MacOS Sierra 10.12.5(16F73)およびおそらく他のMacOSの最近および今後のバージョンに適用されます。

  1. chshは、デフォルトのシェルを変更するには不十分です。端末が開いているときに Command + を押し、「Shells open with」オプションを「Default login shell」に変更してください。

  2. bashの場合は、必ずecho $BASH_VERSIONを実行して、目的のバージョンのbashを実行していることを確認してください。 bash --versionは正しい情報を提供しません。

他のヒント

1。 sudo nano / etc / shells ここに画像の説明を入力

2。シェルのリストに/ usr / local / bin / fishを追加します ここに画像の説明を入力

3。 chsh -s / usr / local / bin / fish

ターミナルから:

  1. フィッシュを/etc/shellsに追加します。管理パスワードが必要になります:

    sudo echo /usr/local/bin/fish >> /etc/shells
    
  2. chsh

    でFishをデフォルトのシェルにします
    chsh -s /usr/local/bin/fish
    

システム環境設定から:

  1. ユーザーとグループ<!>#8594;現在のユーザーをCtrlキーを押しながらクリック<!>#8594;詳細オプション...

  2. ログインシェルを/usr/local/bin/fish

    に変更

    ログインシェル

  3. [OK]を押してログアウトし、再度ログインします

これを行う別の方法を次に示します。

MacPortsでインストールしたと仮定すると、次のように実行できます:

sudo port install fish

シェルは/opt/local/bin/fishにあります。

OSXにこれが有効なシェルであることを伝える必要があります。そのためには、このパスを/etc/shellsファイルの最後に追加します。

これを実行したら、システム環境設定-<!> gtに移動してシェルを変更できます。アカウント。変更を許可するには、ロックをクリックします。アカウントを右クリックして、<!> quot;詳細オプション... <!> quot;を選択します。 <!> quot; Login shell <!> quot;フィールドに、魚へのパスを追加します。

私のために働いた唯一のことは、これらすべての方法の組み合わせでした。

  1. 最初に/etc/shellsファイルに魚を追加する必要がありました

  2. その後、chsh -s /usr/local/bin/fish

  3. を実行しました
  4. 最後に、 Command + と入力し、デフォルトパスに/usr/local/bin/fishを追加しました

3つのことすべてを完了して初めて、魚が新しいターミナルウィンドウのデフォルトとしてポップアップし始めました。

macOS Mojaveでは、次の手順を実行する必要がありました(例としてzshを使用):

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
  1. 端末を開き、 command + (カンマ)を押します。これにより、設定ウィンドウが開きます。
  2. 最初のタブは「一般」です。
  3. 「Shells open with」設定を探し、シェルへの完全なパスを必要とする2番目のオプションを選択します。
  4. 一般に/usr/local/bin/fishであるfishコマンドへのリンクを貼り付けます。

macOS Sierraを使用しています。

chshプログラムを使用すると、デフォルトのシェルを変更できます。実行可能ファイルへのフルパスが必要になるため、シェルがfishの場合、which fishを入力したときに指定された出力を提供する必要があります。

<!> quot; Shell: <!> quot;で始まる行が表示されます。編集したことがない場合は、<!> quot; Shell: /bin/bash <!> quot;と表示される可能性があります。その/bin/bashパスを目的のシェルへのパスに置き換えます。

ターミナルで、 Command + を使用してターミナル設定を開きます。

[設定]タブで、いずれかのテーマを選択し、右側のシェルタブを選択します。

自動起動コマンドfishを設定できます。

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 >

その値を変更するだけです(dsclの書き込みコマンドを使用)。

最新のmacOSでbashの最新バージョンを取得する方法(Mojaveでテスト済み)。

brew install bash
which bash | sudo tee -a /etc/shells
chsh -s $(which bash)

これで vimスタイルのタブ補完を取得する準備ができました。これはbashでのみ利用可能です<!> gt; = 4 (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"

他の方法で問題が発生した場合は、Mac Mojaveで作業しましたが、通常は動作するはずです。

which fish

出力パスを<!> quot; System Preferences <!> gt;に追加します。ユーザー<!> amp;グループ<!> gt;ユーザーを右クリックし、Advanced Options <!> quot;結果を<!> quot; Login shell:<!> quot;

に貼り付けます

これは、mac osx(sierra)の新規インストールで動作します:

  1. シェルの所有者として現在のユーザーを定義する
sudo chown $(whoami) /etc/shells
  1. 魚を/ etc / shellsに追加
sudo echo /usr/local/bin/fish >> /etc/shells
  1. chshでFishをデフォルトのシェルにする
chsh -s /usr/local/bin/fish
  1. シェルの所有者としてルートを再定義
sudo chown root /etc/shells
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top