VirtualBoxにLinux、今回はUbuntu14.04 LTS 64bitをインストールした。
OSセットアップ完了後にちゃんと「Guest Addition」をインストールした。
ちなみに、ホストOSはWindows7。
#解像度の変更
これで画面解像度を800x600から変更できる。
手っ取り早い方法は、通常のウィンドウサイズを変更すると同様の方法でVirtual Boxのウィンドウサイズを変更するとゲストOSの解像度も変更される。
でもサイズが中途半端で・・・その・・・きっちりしたサイズにしたいのよ。
んで、ゲストOS側の環境設定で解像度を変更する。
変更できるんだけど・・・4:3の画面比率しか選択肢がない。1280x960(4:3)までしかないorz
VRAM設定も問題なさそうなのに・・・
なので解像度の設定項目を自力で追加する方法をメモ。(以前も同じ現象に遭遇してたから需要ある?)
ターミナルを開いてコマンドを実行していく。
##現状の値を取得
まずは xrandr
コマンドを実行して現状の解像度状況を取得する。
$ xrandr
Screen 0: minimum 64 x 64, current 1280 x 960, maximum 16384 x 16384
VBOX0 connected primary 1280x960+0+0 0mm x 0mm
1280x960 60.0*+
1024x798 60.0
800x600 60.0
640x480 60.0
こんな感じで現在のモニタ毎の状況が取得できる。
Virtual Boxの画面設定ではシングルモニタ扱いにしているので「VBOX0」のディスプレイしか出てない。
ディスプレイを複数設定している場合は「VBOX1」とか項目が増えているはず。
##特定の解像度設定に必要な値を取得
今回は 1600x900の16:9の解像度を設定してみようと思う。
cvt 1600 900
コマンドを実行して、目的の解像度設定に必要な値を取得する。各環境に合わせた値が取得できるから、下記の値とは違う結果が出てくるかもね。
この取得できた値は後で使用するぞ!
$ cvt 1600 900
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
##ディスプレイモードの作成
これで必要な情報は揃った!!ので希望する解像度の数値を設定しよう。
xrandr --newmode
コマンドで cvt 1600 900
実行時に取得できた Modeline 以降の値をパラメータとしてそのまま渡してあげる。コピペが確実だね。
$ xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
##ディスプレイモードの追加
希望する解像度の数値設定は完了したので、これを対象のディスプレイで使用できるようにする。
xrandr --addmonde
コマンドに xrandr
コマンドで得られたディスプレイ名称「VBOX0」と
cvt
コマンドで得られたモード名称「"1600x900_60.00"」を渡してあげる。
$ xrandr --addmode VBOX0 "1600x900_60.00"
これで解像度の選択項目が追加になった。
後は通常通りに解像度変更を行えばいい。
Ubuntuのシステム設定(歯車とスパナのアイコン)を開いてそこからディスプレイを選択。
目的のディスプレイの解像度選択に先ほどの解像度が選べるので選択すれば完了さ。