2016/09/02

Windows上のVMwareにMac OS X 10.6 Snow Leopardをインストールする時にはまったこと

本記事では、Windows上のVMwareにMac OS X 10.6 Snow Leopardをインストールする際に、困ったこととその解決策をまとめています。
注意
・Windows機でMac OS Xを動かす行為はApple社の規約に抵触する恐れがあります。
・本記事に書かれていることを行ったことによる如何なる事象についても責任を負いかねます。自己責任で行ってください。
・本記事はインストールする手順を解説するものではありません。手順については他のサイトを参照してください。
・本記事の内容は一部が古い情報の可能性があります。コメント等でご指摘頂ければ修正したいと考えております。

インストールを始めるまでに


Snow Leopardのインストールメディアの用意


AmazonでSnow Leopardのインストール用DVDを買ったよという記事もよく見かけますが、Appleの公式ページから購入することができます。



2021/07/01追記
インストーラーがAppleの公式サポートページから無料でダウンロード可能になったようです。
Mac OS X Lion Installer
Mac OS X Mountain Lion Installer
https://support.apple.com/kb/DL2076?locale=en_US

VMware Playerのバージョン

Workstation 12 Playerに、後述のUnlockerを用いることで問題なくインストールできるようになります。

Unlockerのバージョン

Workstation 12 Playerはデフォルトの状態では、Mac OS XをゲストOSに指定できないので、パッチをあてます。それがMac OS X Unlocker for VMware V2.0(ダウンロードには会員登録が必要)です。

今回は、Unlocker 2.0.7を使いました。


VMware Player「ゲスト OSがMac OS X Serverではありません。」



OS XをゲストOSに選ぶことができるようになりましたが、最初に用意したインストールメディアはMac OS X 10.6.3 Snow Leopardなので、このエラーメッセージが出て先に進まず、DVDをiso化しても次に進めませんでした。


vmxファイルを弄る必要があるようです。




OS Xのインストール先となるディスクがない

インストールが始められると思ったら、VMware上ではハードディスクを割り当てたはずなのに、OS Xのインストール先のディスクが見当たりません。
画面上部からディスクユーティリティを起動してVMwareで作った仮想HDDを消去&フォーマットすると現れます。

インストールには30分ほどかかりました。

Snow Leopardのインストール後の設定


音声が出ない

サウンドドライバのインストールが必要です。
OS X上でここ(https://sourceforge.net/projects/vmsvga2/files/Audio/)からEnsoniqAudioPCI_v1.0.3_Common_Installer.pkgをダウンロードし、インストールします。


画面解像度を変更したい

VMwareの設定ではなく、ゲストOSであるOS Xの設定から変更できます。

キーボードの日本語化

PSJ.keylayoutを用いる方法が紹介されていましたが、うまくいきませんでした。
vmxファイルを弄ることでJISキーボードとして動作するようになりました。


keyboard.vusb.enable = "TRUE"
keyboard.vusb.idVendor = "0x0000"
keyboard.vusb.idProduct = "0x0000"

vmxファイルをメモ帳などで開いて、上記の三行を追加し、上書き保存します。


El Capitanへの道のり


El Capitanをダウンロードしたい

Snow Leopardを10.6.8にアップデートする必要があります。
「ソフトウェアアップデート」を実行します。
AppStoreからダウンロードできます。

El Capitanのisoを作成したい

ダウンロード完了後El Capitanのインストールを行わずに終了する。
ターミナルから参考サイトのコマンドをコピペして実行したところ、デスクトップ上にisoファイルが作成されました。

2016/08/08

ePubをKindleで読めるように変換する方法


Kindleでは、PDFならそのままKindleの「documents」フォルダに入れて読むことができます。
しかし、ePub形式の電子書籍ファイルは「documents」フォルダに入れても読むことができません。

JailbreakすることでePubファイルのまま読めるようにすることも出来るようですが、JailbreakするとKindleがサポート対象外になり故障時などに困ります。

Calibreで変換する方法を紹介しているサイトも多いようですが、本記事では、Calibreは使わず、Kindle PreviewerやKindleUnpackなどを使って、ePubをKindleで開くことができるファイル形式に変換して読む方法を紹介します。
今回の内容を簡単に示すと以下のようになります。

.epubファイル(Kindleで読めない)
 ↓ 「KindleGen」または「Kindle Previewer」で変換
.mobiファイル(Kindleで読める)
 ↓ 「KindleUnpack」で変換
.azw3ファイル(Kindleで読める)
 ↓
Kindleへ転送

1.「KindleGen」あるいは「Kindle Previewer」をダウンロード&インストールする。

Amazonの公式ツールがここからダウンロードできます。

Windows版のツールのファイルサイズは「KindleGen」が3MB弱、「Kindle Previewer」は200MB弱です。
「KindleGen」だけでもePubから.mobiファイルに変換できます。ただ「KindleGen」はコマンドラインツールなので、使い方がよく分からない人は「Kindle Previewer」が良いかもしれません。

2.「KindleGen」あるいは「Kindle Previewer」でePubを変換する。


「KindleGen」のReadmeにはお勧めできないと書いてあるものの、解凍した「KindleGen」の実行ファイルのアイコン上に、ePubをドラッグ&ドロップすると、ePubと同じディレクトリ(フォルダ)内に.mobiファイルが出力されます。



出力された.mobiファイルをそのままKindleの「documents」フォルダに入れても読むことが出来ます。
しかし、出力された.mobiファイルは、ファイルサイズが元のePubよりもかなり大きくなります。

という訳で、もうひと手間かけて.mobiファイルを軽量化します。

3.「KindleUnpack」で圧縮する。

「KindleUnpack」というツールを使い、.mobiファイルを圧縮します。
「KindleUnpack」はここからダウンロードできます。
Pythonスクリプトなので、Pythonをインストールする必要があります。
スクリプトがPython 3.Xに対応していないので、Python 2.7.X系統をインストールします。
【2018/08/01追記】
アップデートでPython 3.4以降に対応したようです。

Pythonをインストールした後、KindleUnpack.pywをダブルクリックで起動します。


上から「入力ファイル」、「出力フォルダ」、「オプション」です。

「Browse」をクッリクし、「入力ファイル」と「出力フォルダ」を設定します。
[Split Combination Kindlegen eBooks]にチェックを入れ、[Start]で処理を開始します。

設定した「出力フォルダ」に「mobi8-(元のePubファイル名).azw3」が出力されます。
これで.mobiファイルよりも軽量化された.azw3ファイルが出来ます。


* KindleUnpackを用いることで、.azw3ファイルからePubファイルへの変換も行えますが、DRMのない.azw3ファイルしか扱えないようです。もし変換したい場合には何らかの方法で事前に.azw3ファイルからDRMを解除しておく必要があります。

4.Kindleに.azw3ファイルを転送する。


後は、KindleをPCにUSBケーブルで接続して、Kindleの「documents」フォルダに.azw3ファイルを入れれば、読むことができます。

関連記事

2016/01/06

Mini Digital TV Stickを購入、SDRを試す


SDRというのがあるらしい

AmazonにてDVB-T+DAB+FM(RTL2832U+R820T)を購入しました。



というのも、SDRというものを知って自分でも試したくなっという単純な理由です。
ここでいうSDRとはSoftware Defined Radio(ソフトウェアラジオ)のことです。

このTVチューナーのドライバを書き換えSDR#というフリーのソフトウェアを使うことで、TVチューナーが広帯域受信機として使えるようになる…というようなことらしいです。

無線機などの情報に詳しいわけではないので設定方法などは詳しく知りたい方は他のサイトを参照ください。既にたくさん分かりやすい記事が公開されています。

実際に買って試してみて

Mini Digital TV Stickには小さなアンテナが同封されています。しかし、アンテナは大きいもののほうが良いようです。家にあるアンテナといえば、TVアンテナなので壁にあるF型端子に接続したかったのですが、Mini Digital TV StickはMCX端子なのでこれをF型端子変換する変換アダプタを別途用意する必要がありました。



同じくSDRに使用できるZOXのDS-DT305にはMCX端子⇒F型端子の変換アダプタが同封されているので、品質にこだわらなければ別途用意する必要はありません。なので、少しSDRを試せればそれでいいというような人ならDS-DT305を買ったほうが、安上がりで良いと思います。

2015/12/16

【HTML5】Canvasでスケールを示すカラーバーを作る


数値に従って色分けされた図表などの横についている数値と色の対応を示すカラーバーをCanvas上に作りました。Google Mapなどと組み合わせて使えるかも知れません。

var max_z = 20;
var min_z = -60;
window.onload = function() {
  draw();
};
function draw() {
  var canvas = document.getElementById('color-canvas');
  var ctx = canvas.getContext("2d");
  ctx.beginPath();
  /* グラデーション領域をセット */
  var grad  = ctx.createLinearGradient(25,0,300,0);
  /* グラデーション終点のオフセットと色をセット */
  var tempColor
  for (var i = 0; i < 10; i++) {
    tempColor = 200 - 20 * i
    grad.addColorStop(0.1 * i , 'hsl('+ tempColor + ',100%,50%)');
  }
  /* グラデーションをfillStyleプロパティにセット */
  ctx.fillStyle = grad;
  /* 矩形を描画 */
  ctx.rect(25,0, 300,20);
  ctx.fill();
  ctx.textBaseline = 'bottom';
  ctx.font= '20px Times New Roman';
  ctx.fillStyle = 'black';
  ctx.fillText( min_z , 20 , 45, 25 );
  ctx.fillText( max_z , 300 , 45, 25 );
  ctx.font= '20px Times New Roman';
  ctx.fillText( "[m]" , 330 , 45, 20 );
  var data_uri = canvas.toDataURL( "image/png" );
  console.log(data_uri);
  document.getElementById("map-canvas").innerHTML="<img src='"+data_uri+"'>";
}
<canvas id="color-canvas"width="350" height="60"></canvas>
<div id="map-canvas"width="350" height="60"><div>
テストページ⇒カラーバー(横)カラーバー(縦)

作成上のポイントは「線形グラデーション」と「HLS色空間」です。

線形グラデーションのサンプルコードのRGB色空間で指定してある部分をHLSに変更することで容易に滑らかに値に対して色を変化させることができました。
具体的には、カラーバーに示したい値の変化にHLS色空間の色相の値の変化を対応させています。
色相の値は一周すると元に戻るので初期値の設定に注意が必要です。