MacでIEの確認をリモートで行う

IEの確認で、Azure の RemoteIE というのが知らないうちに出てた。これだと、手元に virtual machines のイメージを置いておかなくて良いので、ディスク容量の節約になる。

登録すれば無料で使えるようだが、inactive な時間が10分続くか、 active な状態でも60分経過すると切断される制限がある。短時間の確認なら問題無さそうだが、長時間の確認は繋ぎ直す必要がありそう。

まずは、RemoteIE で Register for access して、自分の Region を選ぶ。日本なら East Asia が良い。

Mac で使う場合は、Microsoft Remote Desktop アプリを App Store からダウンロードして、Azure RemoteApp というところをクリックすると、ログイン画面になるので、ログインする。
すると、InternetExplorer(email: iewebeco@microsoft.com) という Invitations があるので、チェックを入れると自動的に起動する。いきなり IE の画面が開いているので検証できる。

MacでIEの確認をリモートで行う

ipconfig /flushdns が出来ないとき

Windows でDNSのキャッシュをクリアしたいときは、コマンドプロンプト上で以下のようなコマンドを実行する

ipconfig /flushdns

だけど、実行したら以下のようなエラーが出た

Could not flush the DNS Resolver Cache: 関数は実行中に失敗しました。

調べてみると、DNS Client が動作していないときに起きる現象みたい。サービスを起動すればなおる。

スタート -> ファイル名を指定して実行 -> services.msc

サービスの一覧が表示されるので、”DNS Client” を右クリックして、開始を選択。

これでサービスが問題なく立ち上がれば ipconfig /flushdns が実行出来る。

ipconfig /flushdns が出来ないとき

WindowsXPで自動ログイン

 Windowsで起動時にいちいちパスワードを入力しなくても自動でログインされるようにする設定。

 スタートメニュー -> ファイル名を指定して実行 で “control userpasswords2” と入力します。

 ユーザーがこのコンピュータを使うには、ユーザー名とパスワードの入力が必要 のチェックを外します。

 これで適用を押すと、ユーザー名とパスワードの入力を求められるので、自動でログインしたいユーザの情報を入力してOKをクリックすれば設定完了です。

WindowsXPで自動ログイン

IE7でgzip圧縮で送るとページ見れない

 最近、このブログがIE7で見れないなーと思ってて、原因が分かった。

 Wordpressの設定で、”WordPress should compress articles (gzip) if browsers ask for them” ていうのがあるのだけど、これを有効にするとIE7で見れないぽい。

 IE7がgzip圧縮での閲覧に対応していないのか、送信側(lighttpd?WP自身?)の実装が正しくないのか分からない。

 本当は、使えなかったら別ページにリダイレクトなり、内部で分岐する処理を入れるはずなんだろうけど、リクエストがあって出来ないとなるとな…。サーバ側のステータスとしては、200が返ってるから、クライアント側の問題な気がしてならない。

IE7でgzip圧縮で送るとページ見れない

Windowsで書いてcoLinux環境で実行

Core2で速いPCをオフィスに置いたので、coLinux環境作ってみた。

coLinuxで快適開発環境1 の記事がとても参考になりました。

ダウンロード

http://www.colinux.org/ のDownloadから、 coLinux-0.7.1.exe を落とします。あと、下のほうに2.4系と2.6系のkernelのイメージが何個ずつか置いてあるので、好きなものをダウンロードします。僕は Debian-4.0r0-etch.ext3.1gb.bz2 をダウンロードしました。

coLinux本体のダウンロード

coLinux-0.7.1.exe を実行してインストールします。インストール先は、c:/coLinux としました。インストールする内容は、Root Filesystem image Download のチェックをはずして、あとは coLinux 内の上4つを選択すればOKで、途中TAPの警告は続行でOK。これでcoLinux本体のインストールは完了します。

Debianのインストール・設定

さきほどダウンロードしたDebianの bz2 ファイルを解答すると、Debian-4.0r0-etch.ext3.1gb というファイルがあるはずなので、これを c:/coLinux フォルダへ移動します。インストールはこれで終わりです。

次に、起動の設定を行います。c:/coLinux に start-Debian.bat のようなバッチファイルを作り、中身に以下のように記述します。mem は使用するメモリ量、cobd0 はカーネルのイメージ、codb1はスワップのイメージみたいです。最後に ネットワークの設定をするようです。 tcp:Windows側から見たポート:coLinuxのポート という形で書くようです。以下の例だと、 Windowsの 127.0.0.1 の 8022番ポートが coLinux側の 22番ポートへ向いていることになります。Webサーバ、Railsの開発環境くらいが思いついたので以下のようになってます。あと、RascutとかMySQLのポートも追加したほうが使いやすいかも。

実際は一行で書かないとだめです。

colinux-daemon.exe
 kernel=vmlinux
 initrd=initrd.gz
 mem=256
 cobd0="C:/coLinux/Debian-4.0r0-etch.ext3.1gb"
 cobd1="C:/coLinux/swap.img"
 root=/dev/cobd0
 eth0=slirp,,tcp:5901:5900/tcp:8022:22/tcp:8080:80/tcp:13000:3000 ro

起動

先ほど作った start-Debian.bat から起動します。初回起動時は、user: root / password : root がデフォルトで設定されています。起動したときからネットワークにつながっていますが、ping はつながらないので疎通テストで ping を打っても何も帰ってきませんので、wget でテキトーなURLたたいてみるとわかるかも。

Windows側からputtyなどでつなぐ場合は、SSHサーバが起動しているとして start-Debian.bat で設定した SSHのポートへ向けたWindows側のポートにつなぎに行けばOKです。上の例だと tcp:8022:22 としているので、coLinux側で22番でSSHサーバを立ち上げておけば、Windowsからputty等で 127.0.0.1 の 8022番ポートでつながります。

coLinuxからWindowsのフォルダをマウント

sambaでつなぎにいきます。たぶんこれだけでいけたはず。

# apt-get install smbclient smbfs

適当にマウントポイント作ります。

$ mkdir /home/chihaya/windows
$ mountpoint -d /home/chihaya/windows

Windows側で共有フォルダを作成します。フォルダ名はなんでもいいです、共有名が参照される名前になります。ここでは Windows側に linux_share という共有フォルダを作っておきます。IPアドレスは 192.168.1.10 だったと仮定して進めます。

coLinux側からlinux_shareフォルダをマウントします。ファイルシステムは smbfs になります。

# mount -t smbfs //192.168.1.10/linux_share /home/chihaya/windows -o username=chihaya,password=mypass

エラーメッセージが出なければマウントされているはずです。ためしに、Windows側で linux_shareフォルダにファイルを作って、ls /home/chihaya/windows とすれば、見れているはずです。無事マウントできることを確認したら、 起動時に常にマウントされるように /etc/fstab に書いておきます。一番下に、以下の行を追加します。

//192.168.1.10/linux_share   /home/chihaya/windows   smbfs   rw,username=chihaya,password=mypass   0   0

ちなみに、NFSについてはNFSでネットワーク越しにマウント とかで詳しく。

容量を増やす

作業していたら、セッションのファイルを作る空き容量がないとか言われた…。見てみると、デフォルトでは1GBしか容量が確保されていないので、すぐいっぱいになってしまう。

http://clouder.jp/yoshiki/mt/archives/000406.htmlの記事を参考にして容量9.4GBにしたよ。

Windows側のコマンドプロンプトで、以下の操作をする。(c:\coLinux は coLinux のインストールディレクトリ)

C:\coLinux>fsutil file createnew disk10gb.img 10000000000

これで、100… バイトのイメージが出来る。これをcoLinux側から ext3 でフォーマットする。

上の方で作ったバッチファイルに、以下を追加。codb1=… の直後で。

cobd2="C:/coLinux/disk10gb.img"

これで coLinux を再起動します。すると、/dev/cobd2 にさきほどのイメージがあるはずなので、これをフォーマットします。その後、現在のルート直下の内容をコピーします。

# mkfs.ext3 /dev/cobd2
# mkdir /mnt2
# mount -t ext2 /dev/cobd1 /mnt2
# cd /
# tar cpf - `ls -1 | grep -v proc | grep -v mnt2` | (cd /mnt2; tar xpf -)
# mkdir /mnt2/proc

あとは、coLinux起動時のパラメータを変えてバッチを作ります。

実際は一行で書かないとだめです。

colinux-daemon.exe
 kernel=vmlinux
 initrd=initrd.gz
 mem=256
 cobd0="C:/coLinux/disk10gb.img"
 cobd1="C:/coLinux/swap.img"
 root=/dev/cobd0
 eth0=slirp,,tcp:5901:5900/tcp:8022:22/tcp:8080:80/tcp:13000:3000 ro

これで設定は終わり。共有フォルダでコード書いてれば、書いたり調べたりはWindowsで行って、実行はlinuxみたいな感じで使える。Linuxじゃないと環境作るのが難しいものがあったりするから、そういうので有効に使っていけるといいね。

Windowsで書いてcoLinux環境で実行

HAL.DLL. が壊れてる

 Windows のパーティションをリサイズしたら、”Hal.dll が存在しないか壊れている” と言われた。MS のサイトに解決方法が書いてあった。

 WindowsXP の CD で起動して修復モードに入る。コマンド入力画面になったら、bootcfg /list とすると、一覧が出るらしい。だが、自分のマシンでは何も出なかった。そのまま次の bootcfg /rebuild というのを入力すると、スキャンが始まり無事 XP が発見された。それを一覧に追加するかどうか聞かれるので、 Y をタイプする。読み込み識別子というのには、 /fastdetect と入力する。以上で完了。無事起動するようになりました。

HAL.DLL. が壊れてる