カテゴリー別アーカイブ: Windows

VMware PlayerからVirtualBoxへの移行

最近のスラッシュドットの記事から、VMware Playerのライセンスにおける「非商用の解釈がかわった」という記事(ライセンス解釈が変わったようです。)を目にし、この機会にVirtualBoxへの移行を実施しました。

移行対象は違いますが、既にやってみた人の記事(VMware Fusion 5からVirtualBox 4.3への移行)があったので、作業自体はそれほど難しくはありませんでした。ただ、この記事にもあるようにストレージをSCSIからIDEに変更する、という作業はVMware Playerでも同様に必要でした。

自分の場合、もう一点「ホストオンリーネットワークもそのまま移行したい」という希望があったので、そのために若干の作業が発生しました。参考にしたのは「VirtualBoxのネットワーク設定とCentOS6.5のインストール」です。こちらの記事はMacOSXのようですが、Windowsでも行うことはあまり変わりません。

VirtualBox マネージャーからメニューの「ファイル」「環境設定」を選択し、ダイアログを開きます。さらに「ネットワーク」「ホストオンリーネットワーク」を選択し、ネットワークを追加します。ネットワークレンジやネットマスクを、これまでVMware Playerで使っていたものと同じになるよう設定します。

ここで一点注意があります。VMware Playerが入ったままだと、VMwareの仮想ネットワークインターフェースが設定として保持されたままになるので、vmnetcfg.exeで設定を変更するか、VMware Playerをアンインストールする必要があります。そうしないと、同一のネットワーク設定が存在しているとWindows側に認識され、リンクローカルなネットワークが強制的に割り当てられてしまいます。

あとはOVF化した仮想マシンをVirtualBoxからインポートし、ネットワーク設定を先ほど作成したホストオンリーネットワークに指定して、実際に通信ができれば完了です。

NATネットワークの移行も、ほぼ同様の手順で実行し、Window側のネットワーク共有を使えばできると思います。

GData ClientのSpreadsheet ListFeed

個人的にはまったので記録に残しておこうと思います。

GoogleのAPIには2つの種類があります。一つはGoogle APIと呼ばれるもので、APIs Explorerにて確認できるものです。もう一つ、微妙に違うGoogle Data APIsというものがあります。GoogleはこれらのAPIを操作するためのライブラリを各種言語向け(Java, .NET, Python, ruby, PHP等)に用意しています。前者はgoogle-api-clientというような名前、後者はgdataというような名前を付けています。

この2つは微妙にセマンティックが違うのですが、OAuth2で認証できる点は同じで、認証ポイントも同一です。しかしそれぞれ個別にOAuth2認証クラスを持っていたりして、両方をまたいで(たとえばgmailとcalenderの組み合わせ等)使おうとするときは結構面倒です。両方をカバーするscopeでどちらかのライブラリで認証し、もう片方のOAuth2認証クラスに各種情報をコピーする必要があります。

それはともかく、今回はまったのは以前くらった「GData.SpreadsheetsライブラリのListFeedに潜む罠」の続きです。一行目に書かれた文字列がフィールドのキーとなるわけですが、さらにこの値は「API上は小文字しか受け付けない」という罠です。

たとえばA1に「Firstname」という値があったとして、ListEntry.CustomのLocalNameプロパティに”Firstname”としているとAPIレベルでエラーが帰ってきます。ここは”firstname”としなければなりません。

StackOverflowの“Cannot add a row to Google Spreadsheet”という記事でこのことが説明されていました。Google Sheets API version 3.0にはそのことは触れられていません…

毎度StackOverflowにはお世話になりっぱなしです。

Windows版puttyのビルド

puttyのビルドに関する情報、特にWindows向けが少ないのでメモとして記録しておきます。

必要なもの

  • Perl (ActivePerl, Strawberry, cygwinなんでも良い)
  • puttyのソース

スクリプトの実行

perl mkfiles.plを実行

出力結果

windows/MSVC ディレクトリの下にVisual C++ 6向けのputty.dswファイルとサブディレクトリ以下に各種コマンド(putty, puttygen等)のサブディレクトリとプロジェクトファイル(dsp)が生成されます。

新しいVisual Studioで開く

エクスプローラーからputty.dswを右クリックし、「プログラムから開く」で利用したいバージョンのVisual Studioを選択します。Expressでも使えます。

開いたあとはVisual Studioがslnファイルに変換してくれます。コマンドラインからmsbuildなども使えるようになります。

注意点

SSPIと呼ばれる機構を利用しているので、マクロSECURITY_WIN32を定義する必要があります。プロジェクトのプロパティからプリプロセッサの設定でこのマクロ定義を追加するなどの処置をすると良いでしょう。

LibreOfficeを使うのにMS Officeのマニュアルが便利

いやあ、こんなことじゃいけないんだろうとは思いつつも、LibreOfficeのCalcで「この計算はどうやるんだ」と思った時に、LibOのマニュアルではよくわからなかったので、結局Excelのマニュアルを見てしまいました。

大学は入って一番英語の勉強になったのがLuna-OS Bのマニュアルを読むことだったな。たまにNEWS-OSの日本語マニュアルでカンニング
@knok
NOKUBI Takatsugu野首貴嗣

こんな過去のことをちょっと思い出してしまいました。

Dokan SSHにHTTP proxyサポートを追加

Windowsで動くsshfs実装に、Dokan SSHというものがあります。DokanというFUSEのようなライブラリがあり、それとSharpSSHを組み合わせて、sshfsを実現しています。

なかなか便利なのですが、手元の環境はHTTP proxyしかなく、しかも認証が必要です。なので、それらの対応を加えたコードをgithubで公開しています。もともとSharpSSH自体がHTTP proxyをサポートしていたので、自分はそれを使うガワの方をちょこっと足しただけでした。

DokanSSHFS control panel