Cygwinでデフォルトのシェルを変更する方法は?


29

cygwinでデフォルトのシェルをbashからzshに変更しようとしています。

  1. 通常のUNIXコマンドchshはcygwinでは使用できません
  2. etc / passwdファイルは、cygwinの既存のバージョンではもう使用されていないようです。

では、他にどのようにデフォルトのシェルを変更できますか?

回答:


22

答えは、Cygwinの起動方法によって異なります。

Cygwin.batでCygwinを起動する場合、最後の行/Cygwin.bat(通常C:\cygwin\またはC:\cygwin64\)を変更します。

minttyでCygwinを起動する場合、パラメーターとしてシェルを追加します。 mintty /usr/bin/zsh -


2
ありがとう、私はConemuを使用しています。変更しなければならなかったsh.exezsh.exeConemu設定>起動>タスク> bashのはCygwinのBash>にset CHERE_INVOKING=1 & %ConEmuDrive%\CygWin\bin\sh.exe --login -i
gyaani_guy

@gyaani_guy ConEmuを使用して実行していCygWin\bin\zsh.exeます。sh.exe --loginBashを起動しますが、どのように変更しますか?それともとにかく重要ではありませんか?前にsh.exe --login不必要に実行されていると思いますshzsh
...-deed02392

@ deed02392わかりません。..しかし、私が使用している正確なコマンドはset CHERE_INVOKING=1 & %ConEmuDrive%\CygWin\bin\zsh.exe --login -ihth
gyaani_guy

@gyaani_guyありがとう、最初のコメントでzshを始めることを暗示しているように見えたので、私は混乱していましたsh.exe。今、私はあなたのメッセージを正しく読んでいないことに
気づき

3
minttyの例は私にとってはうまくいきませんでした。私は追加することで、ログインシェル行われるまで、それは問題を持っていた-lmintty.exe -i /Cygwin-Terminal.ico /usr/bin/zsh -l -
モルガン月

18

mintty.exe直接実行するか、[スタート]メニューまたはデスクトップ(mintty.exeへのショートカット)からCygwin Terminal を実行する場合、WindowsのSHELL環境変数をに設定できます/usr/bin/zsh

Windows 7の場合:

  1. Windowsキーを押します。
  2. 「environment」と入力し始めます。
  3. 表示されたら、「アカウントの環境変数の編集」を選択します。

残りは自明であるべきです。


5
これには、さらに多くの投票が必要です。私はこれがどこにも文書化されたことを見たことはなく、それは明らかに意図された方法です。
ケビン・ミルズ

1
適切なパネルを見つけるために検索に依存したくない場合は、[スタート]メニューを右クリックし、[システム]を選択して[システム]コントロールパネルを起動します。次に、左側の列から[システムの詳細設定]をクリックします。表示される[システムのプロパティ]ウィンドウで、[環境変数...]をクリックして、環境変数エディターを起動します。
デビッドC.

完全に機能しました!
-bkunzi01

16

Stack Overflowに関する私の答えからコピーされました:


Cygwin 1 に対して推奨するpasswdファイルを作成する代わりに、/etc/ nsswitch.confを編集できます。次の行を追加または編集します。

db_shell:/ usr / bin / fish

この方法の欠点は、複数のユーザーがいる場合、この変更がすべてのユーザーに影響することです。アップ/アップの側面は、非常にシンプルだということです。唯一の問題は、Cygwinを再起動する必要があることです。

あなたがいる場合行うこの変更後の使用あるmkpasswdを、それがログオンするために許可されているすべてのユーザーのためにあなたの新しいデフォルトのシェルを使用します。


1 mkpasswdのドキュメントには次のように書かれています:

本当に必要な場合を除き、このコマンドを使用してローカルの/ etc / passwdファイルを生成しないでください。詳細については、Cygwinユーザーガイドを参照してください。

ユーザーとグループが変更された場合、/ etc / passwdと/ etc / groupファイルを再生成する必要があるという言及以外、ユーザーガイドには確かな根拠は実際には見つかりません理由。プロセスは初心者にとって多少エラーが発生しやすいと言えます。


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