電気羊の執務室

魔法を作る仕事をしています。

ゲストubuntuに、VMware-Toolsをインストールする

ゲストOSの仮想サーバーへ、ホストOSからssh接続するために、
公開鍵を渡します。
今回は、ホストの共有フォルダ経由でファイルを渡します。

ホストOSの共有フォルダを使うには、VMware-Toolsが必要です。
VMwareToolsをインストールする方法を解説します。

VMWare Toolsの導入

  1. VMware-Toolsの仮想CDを挿入
  2. カーネルの番号を確認する
  3. カーネルヘッダーをインストールする
  4. VMware-Toolsをインストールする

VMwareToolsの仮想CDを挿入

VMwareFusionのメニューから、『仮想マシン->VMWareToolsのインストール』を選択します。
その後、以下のように仮想CDをマウントします。

$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom
> mount: block device /dev/sr0 is write-protected, mounting read-only

ここでインストールを行うと、失敗します。

tar xzvf /mnt/cdrom/VMwareTools-8.8.4-730257.tar.gz 
cd ./vmware-tools-distrib/
sudo ./vmware-install.pl 

...

Searching for a valid kernel header path...
The path "" is not valid.
Would you like to change it? [yes] 

カーネルヘッダーがないとだめだそうです。

カーネルのバージョンを確認する

メニューから、『仮想マシン->設定->ネットワークアダプタ』を選択し、
ネットワークにブリッジ接続を指定します。

カーネルのバージョンを確認し、適切なヘッダーを取得します。

uname -a

`linux 3.2.0-24-virtual #39-ubuntu SMP Mon May 21 18:44:18 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`  

このカーネルバージョンは、3.2.0-24-virtual だということがわかりました。

ヘッダーファイルをインストールする

ヘッダーファイルをインストールします。

sudo apt-get install linux-headers-3.2.0-24-virtual

バージョンのないヘッダーファイル(linux-headers-virtual)も存在しますが、
自分の環境では、サーバー接続エラー(404)が発生して、
インストールが成功しませんでした。

VMware-Toolsをインストールする

もう一度、VMware-Toolsをインストールします。

sudo ./vmware-install.pl -d

Searching for a valid kernel header path...
Detected the kernel headers at "/lib/modules/3.2.0-24-virtual/build/include".
The path "/lib/modules/3.2.0-24-virtual/build/include" appears 
to be a valid path to the 3.2.0-virtual kernel headers.
Would you like to change it? [no]

今度は、カーネルヘッダーを認識しているようです。 正しくVMware-Toolsがインストールされました。

おわりに

これをちゃんと読む人はとても少ないはずですが、 いるとすれば、とても困っている方でしょう。

この記事が少しでもお役に立てれば嬉しいものですね。

ちなみに・・・本当は、ゲストOSにsmbclientを入れれば
ホストOSの共有フォルダにアクセスできると思うのですが、
設定がうまくいかず、今回はあきらめました。

参考資料

CentOS 5.5 x86 に VMware Tools をインストールする
http://d.hatena.ne.jp/yohei-a/20101222/1293051179

ConverterでXPマシンを仮想化するために必要な4つのこと

これをお読みの皆さんは、仮想マシンを使っておいででしょうか? Windows XPのマシンを、macのVMWareで使うために仮想化しました。 そこでハマったポイントを、後に続く方のためにまとめておきます。

環境

ホストOS:mac OSX (Lion) 10.7.4 実行環境:VMWare Fusion 4.1.3 仮想化するマシンのOS:Windows XP Pro 仮想化するアプリ: VMWWare Converter 5.0.0

ポイント

  1. VMWare Converterをダウンロードして使う  (VMWare Fusion付属のMigrationAgentは使わない)
  2. WindowsXPのCD-ROMから、sysprepファイルをコピーする
  3. 仮想化するマシンは、十分に容量を減らしておく
  4. 仮想化するマシンのVolume Shadow Copyサービスを有効にする

1.VMWare Converterをダウンロードして使う

明らかに、速さも信頼性も、Converterのほうが上です。 物理マシンを吸い出す目的のためには、ぜひConverterを使うべきです。

以下のURLからダウンロードして、XPマシンにインストールしてください。 構成について尋ねられます。 『ローカル』と『クライアントサーバー』の二択から、『ローカル』を選びます。

2.WindowsXPのCD-ROMから、sysprepファイルをコピーする

公式ヘルプなどでsysprepと呼ばれるものは、以下の圧縮フォルダのファイル一式です。 (OSのディスク)¥¥SUPPORT¥TOOLS¥

sysprepツール

これを、以下のパスに保存します。

C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone\sysprep\xp

保存するパスは、VMWareConverterを実行すると教えてくれます。 全ファイルまとめて保存して構いません。

3.仮想化するマシンは、十分に容量を減らしておく

具体的には、次のような事をします。 - ディスクのクリーンアップ - アプリケーションの削除 - データを外部に移動

これが足りていないと、次のエラーが発生するようです。

Failed to create VSS snapshot of source volume. Error code: 2147754783(0x8004231F). 

4.仮想化するマシンのVolume Shadow Copyサービスを有効にする

コントロールパネルから、『管理ツール->サービス』を選択し、 サービス一覧を表示します。 一覧からVolume Shadow Copy Serviceを捜し、『スタートアップの種類』を『自動』 に設定します。

![コンパネ→管理ツール] (https://img.skitch.com/20120625-ghgec3kruxiirgkmkd6k1wftjm.gif) ![サービス] (https://img.skitch.com/20120625-q1f2a5d35a8bjj7kqhpbixbxj5.gif)

これが足りていないと、次のエラーが発生します。

FAILED: Unable to create a VSS snapshot of the source volume(s). Error code: 2147754758 (0x80042306).

参考資料

VMware Converter の使用とトラブルシューティングに関するベスト プラクティス

http://kb.vmware.com/selfservice/documentLinkInt.do?micrositeID=&popup=true&languageId=&externalID=1033253

公式サイトのサポートページです。

http://www.vmware.com/support/converter/doc/releasenotes_conv40.html http://communities.vmware.com/thread/308014

公式サイトのフォーラムです。 エラーが発生した場合は、『VMware (エラーコード)』で検索すると、 手がかりが得られるかも知れません。

さくらのレンタルサーバーにgitをインストールした

前回の記事では、さくらのレンタルサーバーにGitを入れようとして失敗しました。 今回は、その解決法を書きます。

解決法

パッケージ管理システム経由では入らないようなので、ソースをコンパイルして直接インストールしてしまう事にしました。

gitのtarballからコンパイルしてインストールします。

mkdir gitinstall  
cd gitinstall  
wget https://github.com/git/git/tarball/v1.7.11-rc3 --no-check-certificate
tar xjvf git-1.7.3.5.tar.bz2
.cd git-1.7.3.5
./configure -prefix=$HOME/local
gmake
vi Makefile
# prefix = $(HOME)/local  を記述
gmake install

これで、~/local/binにgitがインストールされます。 Makefileを変更しないと、~/binに入ってしまい、具合が悪いようです。

2012/06/22追記:

~/binに入ってしまうと、組み込みのコマンドと混ざるので、 * 環境が汚くなってしまうからかな・・・と思いました。*

パスを通す

最後に、パスを通します。

vi ~/.cshrc

set path=( で始まる行を見つけ、括弧の中に、以下を追加します。

/$HOME/local/bin

直前の文字と、スペースを挟んで区切るのを忘れないでください。 これで、gitにパスが通り、which gitが成功するはずです。 光へ続く道が開かれました。

参考文献

さくらのレンタルサーバーにGitをインストールする方法

さくらのレンタルサーバーを借りた

Webサイトを作るため、サーバーを借りてみたくなったsatrexです。

さくらのレンタルサーバー対VPS

さて、さくらのレンタルサーバーとさくらのVPSで迷いました。
メリット・デメリットを比較すると、おおむね以下のようになりました。


レンタルサーバー

  • メリット:
    • セキュリティがしっかりしている
    • 設定がめんどくさくない
    • ちょっと安い
  • デメリット:
    • 自由度が低い
    • OSを選べない
    • ディスク容量が少ない(10G)

VPS

  • メリット:
    • 自由度が高い
    • OSを選べる
    • ディスク容量が多い(100G〜)
  • デメリット:
    • セキュリティは自分で設定(やや不安)
    • いろいろと設定しないと
    • ちょっと高い

コストはたいした問題ではありません。
月500円が1000円でも似たようなもんです。

まずはレンタルサーバー

迷ったらとりあえずミニマルな選択肢を試します。
レンタルサーバーを仮登録してみました。

そこで感じたことをレポします。

sshログイン

サーバー屋さんが数多くある中で、 さくらのレンタルサーバーを選んだのは、 sshログインできるからです。
WordPressとか、GUIだけでメンテするのはしんどそうです。

さっそくログインしてみた

サーバーのパスワードが書かれたメールが 見当たらず、サポートにメールを送った朝7時でした。

昼の13時ごろにはメールの再送を受けられ、 無事にログインはできました。

しかし、新たな問題の幕開けに、そのころのオイラは気づいていなかったのです。

Gitが入らない

次に欲しいのはGitです。 これがあれば、ローカルの仮想マシンと同期できます。
仮想マシンでコンテンツを作り、 Pushしておき、レンタルサーバーからPullすれば、 電車の中でもWebが作れるというものです。

さっそく、gitをインストールする手段を講じました。

Portsの憂鬱

FreeBSDのパッケージ管理は、Portsで行うようです。
さっそくtarボールをダウンロードしました。
解凍しますが・・・

%tar -x ports.tar
tar: Error opening archive: Failed to open '/dev/sa0'

当然ですがroot権限がないため、 Portsが入れられません。

pkgの挫折

Portsがダメならpkgです。 pkgは、WordPressをインストールするために、すでにインストールされているようです。

さっそくこれを使ってみますが・・・ パッケージのインストールを認めてくれません。

とりあえずの結論です。
Git使いは、ちょっといいプランを借りないとだめ
お試し期間中なのでキャンセルし、プランを見直そうと思います。
パッケージ管理をあきらめ、ソースコードからgitをコンパイルしてインストールすることにしました。

次の記事で詳しく書きます。

便利!Toodledoアプリのパスワード

Toodledoをアプリから使う

普段、オイラはタスク管理にToodledoを使っています。

Webブラウザで操作する事が多いのですが、 専用アプリがあるので、それもたまに使います。

[ToodledoApp]

アプリの利点

基本的には、アプリの操作は、ブラウザと同じです。 というか、専用Webブラウザのようなものです。

Webブラウザと別になっていることで、 見たい時にさっと見られるし、画面も広く使えます。 Webブラウザと同時に画面に表示することもできるので、 とても便利です。

アプリの弱点

しかし、ひとつだけとても不便なところがありました。 それは、パスワードを覚えてくれないことです。

FireFoxにはパスワード管理ソフトのLastPassが入っていますが、 専用ブラウザでは、その恩恵を受けることができません。

[PasswordCopying]

KeyChainも効いてくれないので、今までは、いちいちブラウザの LastPass管理サイトを開き、パスワードをコピーしていました。 面倒このうえないです。

魔法で解決

そこで、ページを読み込んだ際に、あらかじめ決めておいたパスワードを 画面の入力項目に挿入するスクリプトを書きました。

[ScriptInput]

画面丈夫のスクロールマークをクリックして、 スクリプトを入力します。

ファイルは、ホームフォルダに勝手に作られます。 この1行には、『PASSという名の部品を選んで、パスワードを入力する』 という意味があります。

使用後

さて、Toodledoアプリを再起動します。

すると、パスワード欄が埋まりましたね。

[ToodledoApp][] [PasswordCopying][] [ScriptInput][] [Done][]

VimSketchUpをリリースしました

VimでSketchUpのRubyスクリプトを書きたい方に朗報です。 VimでSketchUpRubyを実行できるプラグインをリリースしました。

動作のイメージ

例えば、スクリプトで三角形を描いてみます。 初めに、SketchUpを起動します。 これが初期画面。ちなみに、女の子の名前はサンちゃんです。

SketchUpの初期画面

何もないところに、Rubyスクリプトで三角形を描きます。 まず、VimでSketchUp用のスクリプトを書きます。

VimでRubyスクリプトを書いたところ

そして、”¥sur”とキーボードで入力すると、 SketchUpの画面に変化が起きます。

三角形が出たところ

三角形が描けました。

GitHubに登録しました

このスクリプトを、GitHubに登録しました。 リポジトリはここです

これから

インストールの仕方、初期設定など、 使い方に関する記事を書きます。

VimでSketchUpRubyが書けるようになったからには、 補完の支援を受けたり、SketchUpAPIのヘルプをローカルで 見たりできるようになりたいです。

Rubyの補完は弱いので限界はあるのですが、 現在はdictファイルを使って、補完に挑戦しています。

感想

前々から作りたいと言っていたプラグインです。 やっと完成を見ることができました。 長かったです。

相変わらず、VimScriptもSketchUpAPIも手探りですが、 困るのに慣れてきました。

MacでSketchUpのRubyスクリプトを自動実行

以前に書いていた、GoogleSketchUpのコードをVimから書けるプラグインを書いています。

Windowsでは、Bridgeという神アプリで、Eclipse上から SketchUpを操作する事ができますが、macには対応しません。

AppleScriptでなんとかしてみた

そこで、macで実行中のSketchUpでRubyコードを実行できる AppleScriptを書きました。

これをVimから実行することで、Vimで書いているRubyスクリプトを、 SketchUp上で実行する事ができるはずです。

Bridgeと比べると格段にしょぼい作りですが、 今までの面倒に比べれば天と地の差です。

現状

とりあえず、SketchUpが最前面に出て、Rubyコンソールが開き、 クリップボードの文字列をペーストするだけです。

Vim側はまだありません。

次のアクション

Vim側で、バッファの全文字列を取得する処理+ このAppleScriptを呼び出す処理を書けば、 うまくいくかも知れません。

SketchUpスクリプトファイルのフォルダは込み入ったパスにあるので、 新規作成機能も欲しいです。

glidenoteさんのOctoEditorをForkして作ってみようかな・・・ と考えています。

ソース

Three.jsを試してみた

krayさんのサイトを丸写しで、Three.jsを試してみました。 うまくいったので、お礼かたがた書いてみます。

うまくいったこと

いくつか、これは助かったなぁと思う事を書いてみます。

Three.jsの扱い

まずソースをCloneして、さてどう使うんだろうと考えちゃいました。 そうだReadMeを見よう、という事で見てみると、minimize版をHTMLヘッダーで参照すればいいとのこと。

![3Dの立方体がぐりぐり動く][sampleImage]

なるほど。 チュートリアルやwikiも充実してるようなので、しばらく入り浸ってみたいです。

FireFoxのいいところ

とくに他のブラウザと比較しての話ではないです。 cmd-uでソースの表示。そこからリンクを辿ってスクリプトなど見れるので、追いかけやすいなぁと。 強いて言えば、ソースにシンタックスハイライトしてくれれば最高です。

あと、3DでDOMツリーが見れるのが面白いです。

うまくいかなかったこと

逆に、これはまだよくわかってないぞ、という部分について。

javascriptの補完

neocomplcacheがないVimは使いません。というくらい、オイラは補完が好きです。 補完がないとコードが書きたくないです。 で、javascriptのシンタックスや、Three.js内のメソッド名など、持ってきてほしいものがいくつかありました。

あとでneocomplcacheのヘルプをよく読んでみます。

SketchUpとThree.jsの連携

SketchUpでモデリングして、Webサイトに載せてぐりぐり動かす、とかできると最高です。

SketchUpはWindows版だとBridgeというライブラリでEclipseからスクリプトが実行できるのですが、いかんせんmacではBridgeが通用せず。 まだレベルが足りなくて、Bridgeを移植しようにも、どう手をつけていいのかわかりません。

VimからSketchUpのRubyコンソールのウィンドウハンドルを取って、文字を入力してExecuteScriptコマンドを流せばいいはずです。

でもどうすればそれができるか分かりません。 ざんねん。 いつかは!

(2012/12/24 追記) できました。 次の記事を参照してください。

http://blog.satrex.jp/blog/2012/06/04/vimsketchup/

はてブが表示されないなぁ

T.I.Dさんの記事を見ながら、
このブログにはてブボタンを設置しようとしています。

ブックマークされる事は書けないかも知れませんが、何事も勉強です。

どううまく行かないか

はてブボタンの領域は確保してありそうなのですが、表示がうまくいっていないようです。

はてブボタンがある??

やったこと

記事をもとに、あれこれとテンプレートを変更しました。 本当は一部始終を書かないといけないのですが、面倒で書けません。

Sharing.htmlの中身

後でじっくりやります。 いまは嫁にホットケーキを焼いてあげないと・・・

参考資料

Octopressにはてブボタンを設置する - T.I.D.

Test

she aaaaaep2