最新 RSS

horiday blog

2013/11/20

[cygwin] [perl] cygwin 環境での WWW::Mechanize::Firefox

javascript を含むページのスクレイピングをしようと思い WWW::Mechanize::Firefox を使おうとすると下記のエラーが出てしまいました.

command timed-out at /usr/lib/perl5/site_perl/5.14/MozRepl/Client.pm line 186

上記の /usr/lib/perl5/site_perl/5.14/MozRepl/Client.pm 186 行近辺を見ると,

### adhoc
$command = join(" ", split(/\n/, $command)) if ($^O eq "cygwin");

というコードがあり,なぜか cygwin のときだけ特別扱いな処理がありました.これを下記のようにコメントアウトすると無事動かすことができました.

# 修正後
### adhoc
# $command = join(" ", split(/\n/, $command)) if ($^O eq "cygwin");

ref

2009/02/13

[cygwin] cygstart が便利

私はノートパソコンで cygwin を使っているのですが,XEmacs, acrobat reader などのプログラムを端末から使うときに,/cygdrive/c/Program Files/... にあるプログラム本体を /usr/local/bin/ へリンクを作っていました.その上で,

% acroread hoge.pdf

などと使っていたのですが,こういうときには cygstart が便利だと知りました.cygstart は cygutils パッケージに含まれています.cygstart は下記のようなプログラムです(man より).

cygstart is a command-line tool which allows you to let Windows start a program or open a file or URL in its associated application. It is similar to the Windows command-line start command.

cygstart は Windows のようにファイル,URL を関連付けたアプリケーションで起動するコマンドラインツールです.これは Windows の start コマンドと似ています.

# カレントディレクトリをエクスプローラで開く
% cygstart .

# 既定のブラウザで www.yahoo.co.jp を開く
% cygstart http://www.yahoo.co.jp/

# テキストファイルを既定のプログラムで開いて,即プリント.
% cygstart --print README.txt

# .doc なファイルを開いて,最大化で表示
% cygstart --maximize ~/tmp/regist.doc

これは結構便利そうなコマンドですね.

2007/11/26

[cygwin] cygwin + X で rdesktop

私は机に座って,Happy Hacking Keyboard で作業するのが好きなのですが,最近は部屋を転々としながらノートパソコンで作業することが増えてきました.

リモートの Windows を使うときには X 上で動くリモートデスクトップクライアントの rdesktop を使って作業をしたりします.

Windows XP なノートパソコンでも rdesktop が使えないかと思っていたら,ソースをコンパイルしたら cygwin 上であっさり動きました...

コンパイル,インストール,リモートデスクトップの呼び出しまでの流れは下記のようになりました.ちなみにバージョンは rdesktop-1.5.0 です.ただ cygwin でのコンパイルは非常に遅いです...

% ./configure
% make
% make install
% rdesktop -g 1024x768 -a 16 -K <target_ipaddr> &

これで職場の Windows サーバにノートパソコンから手軽にログインできそうです.

ただサウンドの転送機能(-r sound:local オプション)はうまく動いていない様子...まあ使わないから良いかな.