Windows上でUNIXのツールを使えるようにするために開発されたもの。
Cygwin APIと呼ばれる、Win32 APIに不足しているUNIX系のAPI(fork, signal, socket等)を提供することで、UNIX系ツールとのソースコードレベルの互換性を目指している。
coLinuxやVMWare上で動作するUNIX互換システムと違い、Windowsネイティブ環境に直接アクセスできることが大きな利点である。
以下のサイト参照のこと。
インストール windows9x系でサポートされているcygwinは、1.5.25-15まで。 VMware上で動作するWindows98SEでインストールしようとすると、途中でセットアップがエラーで止まってしまう。 回避方法がわからなかったため、Windows2000にインストールし、そのフォルダをWindows98SEにコピーする方法でインストールする。 マウントのポイントの設定 cygwin1.5系までのマウントの設定は、/etc/fstabには書かれずに、以下のレジストリに書かれる。 レジストリを手動で変更するのは面倒なので、mountコマンドを実行することでレジストリを設定する。 (…
Windows2000 Windows2000でサポートされているcygwinは、1.7.18まで
Cygwinをインストールして使用しているが、デフォルトでターミナルを起動するとシェルはbashになっている。勿論tcshはインストールしてあるのでそこでtcshを実行すればtcshが使えるが、ターミナルを起動したらすぐtcshになっていてほしい。 ということで通常なら /etc/passwd の中で該当ユーザのログインシェルを指定し直すとかになるだろうが、見てみると /etc/passwd が存在しない。 もうしばらくまともにUNIX系のOSを触っていないのでいつの間にかその辺も色々変わったりしてるの?? などと思いつつ、ちょっと調べてみたところ、ターミナルのショートカットの設定で目的が果た…
Cygwinで、SDカードをext4でフォーマットする 準備 util-linux と e2fsprogs をインストールしておく 管理者権限で起動 Cygwinを管理者権限で起動する フォーマット /proc/partitions を見て、SDカードがどこにあるのかアタリをつける $ cat /proc/partitions major minor #blocks name win-mounts 8 0 234431064 sda 8 1 562176 sda1 8 2 233063146 sda2 C:\ 8 3 801792 sda3 8 16 2930266584 sdb 8 17 1…
Cygwinで hello.exe を実行するときに、 bash上で ./he まで入力してtabを押しても ./hello で止まってしまって ./hello.exe とならない。 コマンドの引数のときの補完では ちゃんと hello.exe まで出る。 別に ./hello で普通に実行できるからいいんだけど、気分は良くない。 調べたところ、 shopt に completion_strip_exe というexeを非表示にできるオプションがあるらしい。 $ man bash 。。。 completion_strip_exe If set, whenever bash sees foo.ex…
デフォルトだと、「新しいターミナル」でPowerShellが開く。 これをCygwinにする。 拡張機能のインストール ターミナルにCygwinを追加する 参考 拡張機能のインストール Cygwinを使うための拡張機能がある。 ファイル⇒ユーザー設定⇒拡張機能(Ctrl+Shift+X)を開き、検索窓で Cygwin と打つと 「MSYS2/Cygwin/MinGW/Clang support」 というのがあるのでインストールする。 ターミナルにCygwinを追加する そもそもターミナルにCygwinが無いので追加する。 ターミナル⇒新しいターミナル(Ctrl+Shift+@) で、いったん新…
windowsから見たC:\Usersをcygwinの/homeにマウントするよう、/etc/fstabを変更する # /etc/fstab # # This file is read once by the first process in a Cygwin process tree. # To pick up changes, restart all Cygwin processes. For a description # see https://cygwin.com/cygwin-ug-net/using.html#mount-table # This is default anywa…
so-zou.jpcygcheckコマンドでチェックが出来る。 ただ、cygcheckコマンド自体のバージョンがもうcygwinのバージョンみたいなもんなので cygcheck のバージョンでも別にいいと思う。 $ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 3.4.6-1 OK $ cygcheck -V cygcheck (cygwin) 3.4.6
ttssh2.osdn.jp cygterm.ttl cygconnectこの1行だけ書いたマクロで起動する
WindowsにインストールしたVS CodeのターミナルはデフォルトでPowerShellだけど、設定でGit BashやCygwinのシェルに変更できる。 設定方法 Git Bash Cygwin bash Cygwin zsh 補足 設定方法 Git Bash Git for WindowsをインストールするとついてくるGit Bashは、VS Codeが自動で認識するので設定画面で設定できる。 「Features > Terminal > Integrated › Default Profile: Windows」を探し、ドロップダウンメニューから「Git Bash」を選択する。 se…