Category Archives: Cygwin

デジカメから取り込んだ画像のファイル名を日時ベースに変えてサイズを縮小しつつExif情報の削除も行う

前にこの2つの記事の融合版です。合わせて1行にまとめたので簡単。
Windowsの画像とビデオの取り込みをした画像をリサイズしてExif情報を削除する | 曖昧/旬.
デジカメから取り込んだ画像のファイル名を日時ベースに変えてサイズも縮小させる | 曖昧/旬.

Continue reading デジカメから取り込んだ画像のファイル名を日時ベースに変えてサイズを縮小しつつExif情報の削除も行う

Windowsの画像とビデオの取り込みをした画像をリサイズしてExif情報を削除する

Windowsに携帯やカメラをつないで、画像とビデオの取り込みをした後、その画像をブログ用に縮小してExif情報を消去するコマンド。Cygwinね。いつも忘れてしまうのでメモ。

mkdir -p upload; for f in *.jpg; do identify "${f}" >/dev/null && convert "${f}" -resize 640x640 -strip upload/$(ls --full-time "$f" | sed -e 's/.*\([-0-9]\{10\}\) \([:0-9]\{8\}\).*/\1_\2/' -e 's/[-:]//g').jpg; done

Continue reading Windowsの画像とビデオの取り込みをした画像をリサイズしてExif情報を削除する

Cygwinでeasy_installからのpipでgcalcli

ちょっとCygwinのコマンドラインからGoogleのカレンダーをいじりたくてgoogleclからちょいと、と思ったら動かない。こんなことになる。

Failed to get entries: {'status': 403, 'body': '<HTML>\n<HEAD>\n<TITLE>Forbidden</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>Forbidden</H1>\n<H2>Error 403</H2>\n</BODY>\n</HTML>\n', 'reason': 'Forbidden'}

docsは動くのでカレンダーがダメっぽい。ってなわけで他のを探したところgcalcliというカレンダーに特化したコマンドがあるらしい。
insanum/gcalcli · GitHub
しかしこれ、Cygwinのsetup.exeからはインストールできない。Cygwinではパッケージが提供されていないのだ。

Continue reading Cygwinでeasy_installからのpipでgcalcli

CygwinにPHPが追加されたよ

日々 Cygwin を使っている PHP プログラマには朗報。Cygwin に PHP が追加されました。

“The following packages have been added to the Cygwin distribution: * php-5.5.16-1”

New: php-5.5.16-1
っても、前から ports とかからパッケージでインストールできたけどね。ただ、公式派の自分としては ports みたいなのを信用できないんだよね。アップデート対応とか本当に大丈夫?ってね。まー、Cygwin もどこまでアップデートしてるのか知らないけど。
そんな訳で ports を避けたため、ソースからインストールという古風な手段を取っていた今日この頃、アップデートなんてどこ吹く風、という生活を送っていたのです。ダメじゃんね。そこへ飛び込んできたこのニュース、嬉しくない訳がないのです。
というわけで、早速 Cygwin のインストーラを起動。パッケージ選択まで行くと PHP なんてカテゴリまで出来てるじゃないの。ライブラリもけっこう分かれてる。好きなの選んでインストール。
インストールしたら、とりあえずコンソールから php -v。動くね。当たり前か。バージョン 5.5.16 です。8/21 にアップされたものだね。
PHP: Downloads
Cygwin でパッケージが出たのは 8/28 なので1週間遅れか。まー、今後もこんなペースで追随してくれると嬉しいね。
mod_php も動作確認。Apache の設定ファイルはインストーラが上手いことやってくれているので、後は起動して phpinfo() な .php ファイルを配置すればオッケー。普通に動く。
いやー、やっぱ公式はいいね。なんか爽快。そして Windows 上に Unix ライクな PHP を手軽に用意できる喜び。単なる Web の開発環境だけでなくバッチもいけるので、CSV を解析したり、画像処理したり、使い道は広がりますね。

CygwinでTeX

ちょいと Cygwin で TeX したので記録しておく。
軽く説明しておくと、Cygwin ってのは Windows 上で黒い画面を広げて Linux 気分を味わえるもので、TeX ってのはプログラムっぽいテキストを書いたらかっこいい見栄えに仕上げてくれるものです。って、説明がとっても不十分。
Cygwin は既に入っている前提で、TeX の機能を追加するのはとっても簡単。Cygwin の setup.exe でパッケージを選んでインストールするだけ。Publishing カテゴリを全部入れろとか言ってるサイトもあるけど、その中の texlive、langcjk、そして recommended なやつらを入れたら動きました。でも、たぶん、recommended なのを入れたときに依存で入った latex が効いたんじゃないかと思ってます。思っているだけ。これ以上の深入りは睡眠時間を削るだけなのでやめておきます。
そんで、何をやったかというと、TeX なんだけど、TeX って色々あって、もともとの tex から始まり、latex、platex、lualatex、以外にも様々な派生があり、ぶっちゃけ、最初はどれを使っていいのかも皆目検討がつきませんでした。ので、軽くメモっておきます。

Continue reading CygwinでTeX

pageantからのssh-agent、からのkeychain、そしてevalも

職場でも家でも cygwin で sshd を立ち上げて PuTTY で接続する、ってのをやっていたんだけど、sshd のバインドアドレスを 127.0.0.1 にしていてもセキュリティとか考えたらなんか不安になって抜本的に見直すことにした。
で、あんま気にしていなかったんだけど、cygwin でデフォルトで立ち上がる mintty ってのが実は昔とは大違いで良くなっている。というわけで、sshd 廃止、PuTTY 廃止、cygwin を直接起動、ってのに変更。
そうなると困ってくるのが pageant 使えないってこと。直接起動するので直接 ssh コマンドを使うわけで、鍵の管理は OpenSSH に準拠しなければならない。
というわけで、出てくるのが ssh-agent。pageant と同様に、秘密鍵のパスフレーズを一度入れると使い回しが効くようになる優れもの。ただ、その制御が面倒で、職場ではこのページに書かれているような設定をしてきた。
Kuro
家でも同じのするかー、って思っていたけど、よくよく調べたらもっといいものあるのね。keychain ってコマンド。ssh-agent の重複起動を防いでくれる。なんか聞いたことある名前。たぶん入社当初に大御所から教えてもらったけど理解できていなかった。

Continue reading pageantからのssh-agent、からのkeychain、そしてevalも

CygwinでApacheを起動するにはcygserverのIPC機能が必要

“/usr/sbin/apachectl2: line 78: 2340 Bad system call $HTTPD -k $ARGV”

apache2 does not start in cygwin | Apache | Users
Cygwin で Apache を起動しようとした時にはまったのでメモしておこう。同じところで止まった人もけっこういそうだし。
簡単に手順だけ説明すると、リンク先にもあるように、こんな感じ。

“Then you just run:
cygserver-config
When it’s finished, start the service :
net start cygserver
Then you should be able to start Apache with:
/usr/sbin/apachectl2 start “

apache2 does not start in cygwin | Apache | Users
ただし Cygwin のパッケージ cygrunsrv がないと、この手順ではできない。
何が起こっているのかと言うと、Apache の起動には IPC という仕組みが必要なのだが、単に Cygwin をインストールして Cygwin Bash Shell を起動しただけでは IPC の機能は得られない。IPC を利用するためには cygserver というサービスが必要なのだ。
この cygserver を起動する設定を勝手にしてくれるのが cygserver-config コマンド。って言っても、デフォルトの設定ファイルを作って、Windows のサービスとして起動してくれるだけ。サービスの登録には cygrunsrv が必要になる。
ただ、cygserver サービスは /usr/sbin/cygserver.exe を叩けば起動する。引数はここに説明がある。
Cygserver
これを起動すれば ipcs コマンドで IPC の状況を確認することができるようになる。Apache も起動する。
たまに Apache を起動するだけなら、Windows のサービスとして登録しなくてもいいかもね。その都度コマンドラインから起動するとか。
あと、PostgreSQL でも IPC は必要なはずなので、覚えておこう。