Ubuntu 16.10で画面解像度の設定

UbuntuをVMwarePlayer経由で起動させているが、正しい解像度で起動しない。
状況
Ubuntuを起動させているマシンのディスプレイは”1920x1080”が正しい解像度だ。
しかし、Ubuntuの「設定」→「ディスプレイ」で設定をしようとしても正しい解像度である"1920x1080"が表示されない。
設定
まずは自分のディスプレイを調べてみる。
cvtコマンドで調べると、こんな結果だった。
$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
このModelineの後に書かれているのがディスプレイの設定に使用する値だ。
あと、ディスプレイの名前も調べる
$ xrandr
Screen 0: minimum 1 x 1, current 800 x 600, maximum 16384 x 16384
Virtual1 connected primary 800x600+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 60.00*+ 60.32
2560x1600 59.99
1920x1440 60.00
この後もディスプレイの解像度がリスト化されているが、"1920x1080"はない
Virtual1 connected primary って書いてあるのでこのディスプレイは"Virtual1"となります。
VmwarePlayerだからVirtual1なのかな?
ということでまずは定義を追加する
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
newmodeで定義を追加。
--newmodeの引数はcvtコマンドのModelineの後ろの文字をそのまま貼り付ける。
次にディスプレイに定義を関連付けます。
$ xrandr --addmode Virtual1 1920x1080_60.00
これでGUIの設定画面からも1920x1080の解像度がリストに出るようになった。
addmodeの後のVirtual1はxrandrコマンドで出力された名前を使ってます。
ログイン時に変更
再起動すると戻ってしまうので、再起度なんかをしてもいいように.profileに設定をする。
.profileはログインするユーザのホームディレクトリにあります。
$ vi .profile
いろいろと書かれているのので以下の3行を最後に追加する。
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual1 1920x1080_60.00
xrandr --output Virtual1 --mode 1920x1080_60.00
最後のxrandr --output Virtual1 --mode 1920x1080_60.00 はコマンドで解像度を変更してます。
これで再起動しても正しい解像度でログインができる!!
コメント