#contents * アンインストール いきなりディレクトリを削除しようとするとWindows2000が落ちた。~ 以下が正解らしい。 # cron cygrunsrv --stop cron cygrunsrv --remove cron # inetd net stop inetd /usr/sbin/inetd --remove-as-service 上に続いて - ファイルの削除 - レジストリの削除 - 環境変数の削除 * cannot find -lpython2.3 ~-L/usr/lib/python2.3/config * cron cygrunsrv --install cron --path /usr/sbin/cron --args -D cygrunsrv --start cron ** cron からネットワークドライブが見られない cronはシステムユーザ権限。~ ネットワークドライブの割り当てはユーザごと。~ つまりネットワークドライブは cron から見られない。~ その他権限周りでもハマれる。 * Apache2 # 準備 cygserver-config export CYGWIN=server net start cygserver /usr/sbin/apachectl2 start # サービスとして起動 cygrunsrv --install apache2 --disp "CYGWIN apache2" \ --path /usr/sbin/httpd2 --args -DFOREGROUND --env "CYGWIN=ntsec binmode server" cygrunsrv --start apache2 * dd のデバイス ls じゃ見られないけど /proc/partitions で見られる。 * 標準入力が入力できない export CYGWIN='glob tty' //この設定(tty?) + zshのどこかのバージョンから。~ //y/n を聞かれた途端に落とすしかなくなる。 こいつのせい * Subversion での日本語ファイル名の扱い LANG や LC_ALL を変えたところで扱えない。~ おとなしく Windows 版を使うこと。 * find が途中で止まる 日本語のパス次第(多分2バイト目 \ )で止まる。~ エラーも何も出ないので、日本語が含まれうる環境で find はNG。 Perl の find も同様。 - DOSコマンドによる代替 :: find -type -f 相当(-D は not directory) dir /B/S/A-D - Perl # $DOSFIND は上記 DOSコマンドのラッパ bat # @echo off 忘れずに my @files; foreach my $path (@ARGV) { $path = `cygpath -w '$path'`; chomp $path; push(@files, split(/\n/, `$DOSFIND '$path'`)); } * Cygwin を起動したのと同等の環境でコマンド実行 bash --login -c "cd - ; DO SOMETHING" login を付けないと、環境変数(主にPATH)が処理されていないが、~ 弊害として cd - でコマンド実行時のカレントパスに戻らないと、$HOME で実行されるとか。 ** cygwin を呼ぶ bat @echo off for %%D in (C:\cygwin D:\cygwin E:\cygwin) do if exist %%D set CYGWIN_ROOT=%%D SET PATH=%CYGWIN_ROOT%\bin;$PATH * zsh で C:/ などの補完が効かない 4.3.9 だと起こる。~ 4.3.4 に下げる。 * 環境変数 USERNAME が消える zsh は環境変数 USERNAME を消して USER をつくる。