Cygwin Bashを実行するようにConEmuを構成するにはどうすればよいですか?


42

新しいタスクを作成しました

{Bash}

私のホームディレクトリを渡しました

/ dir "C:\ Users \ TMB \"

アプリケーションとしてbashを追加しました

C:\ cygwin \ bin \ bash.exe

Bashを開くと、基本的なUNIX / Cygwinユーティリティを使用できません。Cygwin Bashを実行するようにConEmuを構成するにはどうすればよいですか?


試しているConEmuのバージョンは何ですか?また、すべてのbashバージョンが作業ディレクトリをサポートしているわけではありません。Git bash-できます、覚えています。
マキシマス

bashプロファイルで作業ディレクトリを設定する方法がわかりませんでしたが、マークされた答えの下に、より一般的な解決策が見つかったと思います。
TMB

ConEmu x64 120727c.x64
TMB

「作業ディレクトリ」とは、/ dirスイッチで指定するものを意味します。ところで、あなたはこの答えを読みましたか?superuser.com/a/482340/139371
マキシマス

回答:


48

これは他の人を助けるかもしれません。

ConEmuのバージョン140310はCygWin Bashを自動的に検出するようです。

ConEmuのインストール後にCygwinをインストールした場合は、タスクのリストを再読み込みする必要があります。

  1. 設定に移動...(Win + Alt + P)
  2. タスクのリストに移動します(スタートアップ>タスク)
  3. [再読み込み... ]ボタンをクリックします。

事前定義済みタスクのリストのオプションの1つとして{CygWin bash}が表示されるはずです。

ConEmuのCygWin bashのスクリーンショット

PS-この方法が機能しない場合は、ConEmuの設定をリセットしてみてください([ 設定]ウィンドウの下部にある[ リセット... ]ボタンをクリックしてください)。


2
また、リロードリセットが機能しない場合は、スクリーンショットに示すようにパス、コマンド、オプションを入力できると思います。
TMB 14年

%SystemDrive%\cygwin64\bin\sh.exe --login -iプレビューチャンネルの140304で私にとって。
TMB

3
私はクリックするためにAdd default tasks...(右上のボタンをReloadボタン)トリック...やった
ハナンN.

9
sh.exeは.bashrcのソースにはなりません。それを行うのはbash.exeのみです。私は、コマンドを使用しているので%SystemDrive%\cygwin64\bin\bash.exe --login -i
ジョン先立ち

@JohnPriorのコメントは実際には非常に役立ちます。sh.exeを使用する場合、PATH変数はすべて間違っていましたが、bash.exeを使用すると、実際にアプリケーションを見つけることができます。
フルンゴ14年

7

またはの代わりに

C:\cygwin\bin\bash.exe

つかいます

C:\cygwin\Cygwin.bat

それは確かに最も簡単な方法だと思います。
ローレント

6

Bashがの賢明な値を受け取っていることを確認してください$PATH。通常、それは何からそれを呼び出すことを継承しますが、提供するために起こっているすべてはあなたが設定したものは何でもあるのでConEmuは、Windowsアプリケーションです%Path%。一般的に、Cygwinパスディレクトリは含まれないため、Bashはls、&​​c を探す場所を知りません。

私がこれを解決する方法は、ConEmuがそうするために提供するあらゆる手段を介して--login -i、コマンドライン引数としてBashに渡すことです。それは読んでますので、これは、あなたが対話的なログインシェルとしてそれを実行していることを教えてくれる/etc/profile~/.profile~/.bashrcスタートに。私の経験では、これで十分$PATHです。それがうまくいかない場合は、のような行で明示的に指定できPATH=/bin:/usr/bin:/usr/local/bin:[...]:$PATHます~/.bashrc


これは私が私が私の通常のWindowsのホームディレクトリを指すように望んでいた隣のを探していたユーティリティを持っていない/cygdrive/c/cygwin/home私は削除さそうhomeとして接合を作っmklink -J home C:\Userscmd.exeの中で
TMB

3
喜んで仕事をしてくれました。私はジャンクションを使用してc:\ users \ meをポイントすることを考えたことがありませんでしたが、一度シンボリックリンクでそれをやったことがあり、その経験から次の警告を出します:ComboFixを実行してマルウェアをクリーンアップする必要がある場合マシンに侵入すると、c:\ users \ you内のファイルが吹き飛ばされます。そのようにしてホームディレクトリ内のすべてを一度失ったため、最新のバックアップは1週間前でした。私がやったのと同じ間違いをしないでください!
アーロンミラー

2

これが私のやり方です

次のコマンドでConEmuに新しいタスクを作成します

set HOME=C:\Home & "C:\Home\Applications\cygwin64\bin\mintty.exe" -i /Cygwin-Terminal.ico -

あなたの解決策は機能し、私はmintty.exeインターフェイスを持つのが好きですが、なぜこれが機能するのか説明できますか?特に、ここで「&」は何をしているのでしょうか?
コウテアアトタッチ博士

0

私はそれがかなり古い質問であることを知っていますが、とにかくこれを共有したかったです:

特定の作業ディレクトリ内でbashを起動するには、コマンドをたとえばに設定し、ここで説明するようにSET CHERE_INVOKING=1 & "C:\cygwin\bin\bash.exe --login -i" -cur_console:t:"cygwin terminal"通常どおり作業ディレクトリを指定します。/dir "..."


0

Cygwinコマンドbashを実行方法に関係なく、から、cmdまたは他のシェルから使用できるようにするには、Path環境変数にCygwinのbinディレクトリが追加されていることを確認してください。(標準ホットキー)に
移動してから、に進みます。すべてのユーザーについて、ユーザーだけのシステム変数を編集します-ユーザー変数を編集します(存在しない場合は作成します)。(64ビットCygwinの場合はcygwin64である可能性があります)にインストールされている と仮定して、に追加します。システム変数を使用する場合、最初にCygwinを追加すると、Cygwinのコマンドの一部が組み込みコマンドをシャドーします(たとえば、Windowsの代わりにCygwinのコマンドが使用されることに注意してください)Control Panel > System and Security > SystemWin+PauseAdvanced system settings > Environment variablesPathPath
cygwinC:\cygwinC:\cygwin\binPathPathbinfindfind)。私はそうすることを好むが、そうでない場合は、Cygwinをbin末尾に追加しますPath

他のほとんどの回答もConEmuのセットアップについて述べているので、私も個人的な意見を述べます。

非ログインシェルを実行することを好みます。たとえば、Linuxでは、テキストコンソールまたはsshでログインするとログインシェルが表示され、ターミナルエミュレーター(xterm、konsoleなど)を開くと非ログインのインタラクティブシェルが表示されます。

{Bash}タスクには/dir "%CD%"、作業ディレクトリを現在のタブの作業ディレクトリに設定するタスクパラメータがあります(bashタスクがFarの場合)。bashを開始するコマンド:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"

通知--login -iオプションは省略され、シェルは非ログインインタラクティブシェルとして起動します(非オプション引数がなく、-cオプションがないため、stdinとstdoutは端末に接続されているため、bashのマンページのINVOCATIONセクションを参照してください)説明)。これは、ユーザーrcfileからコマンドを読み取り、実行します~/.bashrc(ログインシェルではない、/etc/profileまたは~/.bash_profileログインシェルのように、したがって、set CHERE_INVOKING=1これはに関してのみ関連する必要はありません/etc/profile)。そのため、ユーザーエイリアス、シェルオプション、追加の環境変数などを〜/ .bashrcに入れてください。

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