松久外吉のチラ裏

主に自分の趣味についてひっそりと書きます

Ubuntu 13.04のMacBook Pro Retina (10,1)へのインストールとRetinaスクリーンへの対応


 独りRaring Ringtail祭りの続き。我が愛機、15インチMacBook Pro Retina (10,1)(以下MBPr)にインストールでけた。ただでさえAppleの独自性が強いハードウェアに、新たにRetina化という改定が入ったせいか、12.10とかそれ以前はいろいろ動作が怪しくて、怖くてインストールできなかった。13.04ではいろいろ新モデル対応が進んだっぽくて、何とかインストールできたので、自分がやったインストール手順を備忘録として書いておく。MacへのLinuxのインストールについてググると、大抵rEFItを使用しているんだけど、今回はrEFItは使わなかった。ただし、それはBootCampでWindowsがインストールされていることが前提になると思う。BootCampが入ってない場合はrEFItを導入する必要があるかも。

 まずは、ディスクユーティリティを使って、Mac用のパーティションを縮小してUbuntuインストール用の領域を(パーティションを作らずに)空けておく。自分はMBPr購入時に予め15GBほど確保しておいた。mini9では6GB強しか確保できなかったが、それでもインストールできた。

 次に、Ubuntu 13.04 (Raring Ringtail)Mac用のディスクイメージをダウンロード。Ubuntu公式サイトで紹介されている手順に従って、インストールメディアを作成。だいたいの流れは…


(1) ダウンロードした.isoファイルを.imgファイルに変換。OS Xが勝手に.dmg拡張子を追加するので直すこと。
$ hdiutil convert -format UDRW -o ~/path/to/target.img ~/path/to/ubuntu.iso
【訂正】
$ hdiutil convert ~/path/to/target.img -format UDRW -o ~/path/to/ubuntu.iso

(2) 書き込み先のSDカードやUSBフラッシュメモリのデバイスパスを確認(例:/dev/disk2)。
$ diskutil list

(3) 書き込み先メディアを一旦アンマウント
$ diskutil unmountDisk <確認したデバイスのパス>

(4) .imgイメージファイルをddコマンドで書き込む。
$ sudo dd if=/path/to/target.img of=<確認したデバイスのパス> bs=1m

(5) 書き込んだメディアをイジェクトして取り外す。
$ diskutil eject <確認したデバイスのパス>


 自分はMac本体のSDカードスロットに挿し込んだSDカードにインストーラのイメージを書き込んだが、そのまま再起動して直後にOptionキーを押しっぱなしにしてブートメディアを選ぼうとしたら、SDカードが表示されなかった。そのSDカードをUSBカードリーダーに挿してMac本体に接続して再度試したら、インストーラのSDカードが表示されて、無事にブートできた。

 そして、通常のUbuntuのインストール手順に従って、インストールしていく。ただし、インストールする場所は、Ubuntu用に空けておいた領域にインストールしたいので、インストールウィザードのインストール方法・ディスク領域の選択で「その他」を選ぶ。次のパーティション操作画面で空き領域にUbuntu用のパーティションを作成、選択する。自分はext4パーティションを1つだけ作成して、ルートディレクトリ“/”に割り当てた。MBPrのメモリが16GBもあるので、swapは作成しなかった。

 パーティション設定画面の下の方にあるブートローダ(grub2)のインストール先は"/dev/sda"に設定した。これで良いのかキチンと確認していないんだけど(ぉぃ)、多分、BootCampをインストールしてある場合は、MacEFIBIOS互換機能(エミュレーション?)が有効にされているらしいので、インストール先を"/dev/sda"に指定することでgrubのStage 1ローダがMBRに書き込まれるのではないかと想像してる。こうやった結果、現在、Macの電源を入れる時にOptionキー押しっぱなしにすると、起動ドライブとしてMacパーティションWindows(BootCamp)のパーティションだけが表示され、ここでWindowsパーティションを選択すると、次にgrubの選択メニューが表示されて、UbuntuWindowsかを選べるようになっている。当方も自信が無いので自己責任でお願いします。ググったらこちらのopamp_sando's blogさんの「MacBookにLinuxをいろいろ入れて思ったこと、気づいたこと」にいろいろ書かれてた。

 キーボード選択は日本語(Macintosh)にした。「かな」キーで日本語切り替えもOK。あとは通常通りのインストールの手順。

 ところが、最初のブートでハードウェアの検出に失敗して、CUIで立ち上がってしまった。CUIでログインして「sudo shutdown -h now」で一度落として起動し直したら、今度は無事GUIで起動してログインできた。無線LANOK。ログイン後はNVIDIAのプロプラなドライバを入れた。コントロールパネル(って言い方でいいんだっけ?)のマウス・トラックパッドの設定で2本指スクロールはもちろん、ナチュラルスクロールも使えるのがありがたい!

 そして、次なる問題はRetinaUbuntuが素直にRetinaの画面をドット・バイ・ドットで利用するので、15.4インチで2880×1800表示。デスクトップが広いのは良いが、文字もアイコンも小さくて見難い!いろいろググったら、こちらのサイトで、とりあえず「xrandr」というコマンドで画面をスケーリングするという対応策があった。ターミナルウインドウを開いて…


(1) まず、接続されているディスプレイを調べる。

sotokichi@MacBookPro:~$ xrandr -q
Screen 0: minimum 8 x 8, current 2880 x 1800, maximum 16384 x 16384
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 connected 2880x1800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
2880x1800 60.0*+
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)


(2) 次に縦横それぞれ半分にスケーリングする。上記のサイトにある「.5x.5」だとウチの場合は表示が乱れた。「0.5x0.5」と入力したら、うまく行った。

sotokichi@MacBookPro:~$ xrandr --output DP-2 --scale 0.5x0.5


(3) 現在の設定を見てみると…

sotokichi@MacBookPro:~$ xrandr -q
Screen 0: minimum 8 x 8, current 1440 x 900, maximum 16384 x 16384
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 connected 1440x900+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
2880x1800 60.0*+
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)


(4) 設定を戻す場合は以下のように入力。他のスケーリングを試す時も、一旦「1x1」に戻した方が安全らしい。

sotokichi@MacBookPro:~$ xrandr --output DP-2 --scale 1x1


ただ、画面をスケーリングした状態で液晶を閉じてスリープに入れると、復帰した時に画面が乱れてしまった。画面が乱れた時は、手探りで「1x1」の設定を打ち込んで復活させた。本当は「xorg.conf」辺りを弄ってログイン前から画面をスケーリングしたかったけど、このやり方ではあまり安定していないようなので、当面は、ログイン後にいちいちターミナルで設定するという方向で運用してみようと思う。あと、「0.5x0.5」だとどうしても画面がボヤけてしまう。「0.75x0.75」くらいがボヤけすぎず小さすぎずで丁度いいかも。


どーでもいーが、我ながら読みづらい文章だな。orz

【追記】
ディスクイメージ変換のコマンドが間違っていたので修正。