質問
ターミナルを起動するたびに魚を再入力するのは好きではありません。デフォルトでfish
をオンにします。 Macで魚のシェルをデフォルトのシェルとして設定するにはどうすればよいですか?
解決
これらは、MacOS Sierra 10.12.5(16F73)およびおそらく他のMacOSの最近および今後のバージョンに適用されます。
-
chsh
は、デフォルトのシェルを変更するには不十分です。端末が開いているときに Command + 、を押し、「Shells open with」オプションを「Default login shell」に変更してください。 -
bashの場合は、必ず
echo $BASH_VERSION
を実行して、目的のバージョンのbashを実行していることを確認してください。bash --version
は正しい情報を提供しません。
他のヒント
1。 sudo nano / etc / shells
2。シェルのリストに/ usr / local / bin / fishを追加します
3。 chsh -s / usr / local / bin / fish
chsh を使用できますユーザーのシェルを変更します。
たとえば、シェルをZshに変更するには、次のコードを実行します
chsh -s /bin/zsh
マンページおよびLorinに記載されているように、シェルがOSによって認識されていない場合は、既知のリストに追加する必要があります:/etc/shells
。
ターミナルから:
-
フィッシュを
/etc/shells
に追加します。管理パスワードが必要になります:sudo echo /usr/local/bin/fish >> /etc/shells
-
chsh
:chsh -s /usr/local/bin/fish
システム環境設定から:
-
ユーザーとグループ<!>#8594;現在のユーザーをCtrlキーを押しながらクリック<!>#8594;詳細オプション...
-
ログインシェルを
に変更/usr/local/bin/fish
-
[OK]を押してログアウトし、再度ログインします
これを行う別の方法を次に示します。
MacPortsでインストールしたと仮定すると、次のように実行できます:
sudo port install fish
シェルは/opt/local/bin/fish
にあります。
OSXにこれが有効なシェルであることを伝える必要があります。そのためには、このパスを/etc/shells
ファイルの最後に追加します。
これを実行したら、システム環境設定-<!> gtに移動してシェルを変更できます。アカウント。変更を許可するには、ロックをクリックします。アカウントを右クリックして、<!> quot;詳細オプション... <!> quot;を選択します。 <!> quot; Login shell <!> quot;フィールドに、魚へのパスを追加します。
私のために働いた唯一のことは、これらすべての方法の組み合わせでした。
-
最初に
/etc/shells
ファイルに魚を追加する必要がありました -
その後、
chsh -s /usr/local/bin/fish
を実行しました
-
最後に、 Command + 、と入力し、デフォルトパスに
/usr/local/bin/fish
を追加しました
3つのことすべてを完了して初めて、魚が新しいターミナルウィンドウのデフォルトとしてポップアップし始めました。
macOS Mojaveでは、次の手順を実行する必要がありました(例としてzshを使用):
brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)
- 端末を開き、 command + 、(カンマ)を押します。これにより、設定ウィンドウが開きます。
- 最初のタブは「一般」です。
- 「Shells open with」設定を探し、シェルへの完全なパスを必要とする2番目のオプションを選択します。
- 一般に
/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)の新規インストールで動作します:
- シェルの所有者として現在のユーザーを定義する
sudo chown $(whoami) /etc/shells
- 魚を/ etc / shellsに追加
sudo echo /usr/local/bin/fish >> /etc/shells
- chshでFishをデフォルトのシェルにする
chsh -s /usr/local/bin/fish
- シェルの所有者としてルートを再定義
sudo chown root /etc/shells