筆者のディスプレイの正しい解像度は1366*768(16:9)なのですが、先日、何かの拍子で解像度の設定がおかしくなってしまったらしく、Ubuntu(14.04 LTS, 32bit)の画面が横方向に引き伸ばされて表示されるようになってしまいました。
解像度を1366*768に戻すべく、「システムの設定」から「ディスプレイ」をクリックしてディスプレイの設定ウィンドウを開いてみると、解像度(R)と書かれている箇所に1366*768(16:9)という正しい解像度が表示されなくなっていますし、ディスプレイの名前は「不明」と表示されている。解像度(R)の欄で選択できるのは1024*768(4:3)と800*600(4:3)という2つだけになっていました。
どうしてそうなってしまったのか、という技術的な背景はよく分かりませんでしたが、色々と対策を練った結果、最終的には解像度を1366*768(16:9)という正しい値に戻すことができましたので、その方法をメモ的に掲載しておきます。
なお、この方法を実行して必ず解像度の問題が解決する保証はありませんし、新たな不具合が起こることもあるかもしれませんので、もしも実行される場合は充分にご注意のうえで行って下さい。
対処法
テキストエディタで下記の3行を入力し、ファイル名を.xprofileとしてホームフォルダに保存します。
xrandr --newmode "1366x768_60.00" 85.25 1366 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1366x768_60.00
xrandr --output VGA1 --mode 1366x768_60.00
(太字部分は、当記事での説明の便宜のために太字にしているだけですので、.xprofileのファイル内で太字にする必要は勿論ありません)
これで再起動すると、Ubuntuにログインしている間は1366*768という正しい解像度で表示されます。
ただし、Ubuntuにログインする前とログアウト後は1366*768(16:9)にならず、1024*768(4:3)という解像度のままです。GRUBも1024*768で表示されます。
上記のテキストエディタで入力すべき内容のうち、特に太字にしてある箇所は、個々のPCごとにそれぞれ異なる数値や単語を入力しなければならないようです。テキストエディタで入力すべき内容や.xprofileというファイルそのものについての解説は、下記のようなページを参照してみてください。
- xrandr - Archwiki#トラブルシューティング(日本語)
- UbuntuTips/Hardware/HowToChangeMonitorResolution - Ubuntu Japanese Wiki(日本語)
- [ubuntu] Editing .xprofile help(英語)
- Configure Ubuntu monitor resolution - ravithespartan(英語)
筆者のPCはeMachines EL1850-H22C/Tという機種で、詳しい仕様はこちらに書いてあります。ディスプレイはemachines LCD MonitorのE192HQという型番のもの。Ubuntuのバージョンは14.04 LTSです。
余談
ここからは、やや一般性のない話。
上記のUbuntu Japanese Wikiのページに挙げられているcvtというコマンドを使って、筆者のUbuntuの端末で
cvt 1366 768
と入力すると、端末は
# 1368x768 59.88 Hz (CVT) hsync: 47.79 khz; pick:85.25 Mhz Modeline "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
という値を表示します。1366と入力したのに1368という値が返ってくる。
ここの数値を1368としたままで、端末に
xrandr --addmode VGA1 1368x768_60.00
などと入力すると、16:9という縦横比はディスプレイで実現するのですが、筆者のPCではフォントが滲んだように見えて読みにくい。1366と1368の違いが関係しているのでしょう、おそらく。
それが、上記のテキストエディタを用いた3行の.xprofile作成で解決しました。
後日談
上記の状態でUbuntuをしばらく使った後、筆者のUbuntuにアップデートが適用されました。すると、
- Ubuntuにログインする前・ログアウト後も、1366*768(16:9)という正しい解像度が維持される。
- 上記の.xprofileをホームフォルダから削除してPCを起動しても、1366*768(16:9)という解像度が維持される。
- ディスプレイの設定ウィンドウも、正しい解像度・ディスプレイの名前を示している。(下記の画像参照)
という具合に、総じて無問題となりました。
アップデート適用後のUbuntuのバージョンは14.04.3 LTSとなっています。
(アップデートが適用された後の、ディスプレイの設定ウィンドウ)
なにぶんにも、筆者にLinuxやドライバの知識が欠けているので、技術的な解説はできません。この記事は、ただ手順をメモ的に書いただけですから、この手順が技術的に正しいのかどうか、という裏付けの有無に関してはご自身で調べてみてください。