Debian LennyをVMware Workstation 6.5.1環境にインストールした際に、解像度を変更するとフォントサイズのDPIがおかしくなって文字が大きく表示される問題が起こったので、その対処メモ。確認したのがlenny環境なだけで、他のディストリビューションのLinux等でも起こる可能性があるとは思います。
■ VMware環境で解像度を変更するとフォントサイズが大きくなる問題 □ 現象 VMware Workstation 6.5.1の環境にDebian Lennyをインストールして 解像度を変更した上で再起動すると、フォント表示が大きくなってしまう。 □ 対処方法 Gnomeデスクトップ環境であれば、「システム」→「設定」→「外観の設定」 を開き、「フォント」タブを選ぶ。「詳細」ボタンを押して 「解像度の設定」の箇所で適切なDPIを入力する。 KDEデスクトップ環境であれば、KDEコントロールセンターを開き、 「外観&テーマ」→「フォント」→「フォントのDPIを指定」で 適切なフォントのDPIを入力する。□ 適切なDPIの計算方法 DPIは、解像度と画面サイズ(インチ)が分かれば簡易的に計算できます。 DPI=dots per inch=1インチあたりのドット数 ということなのと 画面サイズ(インチ)は画面の対角線であることを利用すれば ピタゴラスの定理より、対角線上にあるドット数を求めてインチ数で割ればよいのです。 (ただし、正確には縦横それぞれに対して、表示可能エリアのサイズ ならびに表示解像度から計算する必要があるはずです。) 解像度SXGA(1280x1024)の17インチディスプレイだと下記のような計算になり、 DPIは96dpiになります。
解像度の例
| 解像度/インチ数 | DPI |
| 15インチXGA(1024x768) | 85.3 dpi |
| 17インチSXGA(1280x1024) | 96.4 dpi |
| 19インチSXGA(1280x1024) | 86.3 dpi |
| 20.1インチUXGA(1600x1200) | 99.5 dpi |
| 20.1インチWSXGA+(1680x1050) | 98.6 dpi |
| 22インチWSXGA+(1680x1050) | 90.1 dpi |
| 24インチWUXGA(1920x1200) | 94.3 dpi |
→
→
□ 原因と情報
まずは、VMware環境中と実環境でのxdpyinfoで解像度とDPIについて調べてみました。
あれあれ、解像度は変わっていますが画面サイズが同一のままです。
どうやら、800x600の画面サイズを元に固定されてしまっているので
それ以外の解像度では、DPIの値の計算がおかしくなっているようです。
---------------------------------------------------
VMwareでの解像度 800x600
$ xdpyinfo | egrep "dimension|resolution"
dimensions: 800x600 pixels (212x159 millimeters)
resolution: 96x96 dots per inch
--------------------------------------------------
VMwareでの解像度 1024x768
$ xdpyinfo | egrep "dimension|resolution"
dimensions: 1024x768 pixels (212x159 millimeters)
resolution: 123x123 dots per inch
--------------------------------------------------
VMwareでの解像度 1152x864
$ xdpyinfo | egrep "dimension|resolution"
dimensions: 1152x864 pixels (212x159 millimeters)
resolution: 138x138 dots per inch
--------------------------------------------------
VMwareでの解像度 1280x1024
$ xdpyinfo | egrep "dimension|resolution"
dimensions: 1280x1024 pixels (212x159 millimeters)
resolution: 153x164 dots per inch
--------------------------------------------------
実マシンでの解像度 1280x1024
$ xdpyinfo |egrep "resolution|dimension"
dimensions: 1280x1024 pixels (342x271 millimeters)
resolution: 95x96 dots per inch
--------------------------------------------------
しかし、/var/log/Xorg.0.logでは96 DPIとして正しく認識されています。
--------------------------------------------------
(--) VESA(0): DPI set to (96, 96)
--------------------------------------------------
追記 :
/etc/X11/xorg.confのMonitorセクションにDisplaySize設定を
行った場合は、おおよそ正しいDPIで表示されました。
ただし、VMware環境の場合はディスプレイサイズを固定してしまうのと
解像度を変更するたびにDPI値が変わってしまい、毎回DisplaySize設定を
行なわなければならなくなります。
ということで、上記のGnomeでDPI設定を変更するのがお勧めかな。
* /etc/X11/xorg.confに追加した設定例 (1152x864の場合)
実際の画面のサイズを測るなり、カタログスペックを調べたりして
画面の縦横サイズをmm単位で書く。DisplaySize (幅) (高さ)
のように指定。
詳細は、man xorg.confのDisplaySizeの項目を参照のこと。
--------------------------------------------------
Section "Monitor"
Identifier "Configured Monitor"
DisplaySize 313 234
EndSection
--------------------------------------------------
$ xdpyinfo |egrep "resolution|dimension"
dimensions: 1152x864 pixels (313x234 millimeters)
resolution: 93x94 dots per inch
--------------------------------------------------
□ 参考URL
mozilla.org - Mozilla DPI-related Font Size Issues on Unix
http://www.mozilla.org/unix/dpi.html
今更書くのも何なんですが、2009/2/14(日本時間2/15)にDebian GNU/Linux 5.0であるLennyがリリースされました。
今回のリリースからはBlu-rayイメージでの配布が開始されたとのことで、記録メディアの進化を感じます。i386向けのディスクイメージの場合、CDにすると31枚、DVDだと5枚ですので、そろそろCDでの配布も世代交代の時期が近づいてるんでしょうか。Windows 95のときもFD 34枚くらいだったのが、Windows 98でCD-ROMに移ってしまったことを思い出します。
Lennyのインストールに関する詳細はインストールマニュアルやリリースノート等を参照してください。また、旧版のoldstableになってしまったEtch(4.0)のセキュリティアップデートは、ポリシー通り1年以内に終了するのでサーバ等のアップデート計画を早めに進めておきましょう。
Debian JP Project - Debian GNU/Linux 5.0 "Lenny" リリース!!! http://www.debian.or.jp/blog//debian50r0.html debian.org - プレスリリース Debian GNU/Linux 5.0 がリリース http://www.debian.org/News/2009/20090214 debian.org - リリースノート (Intel x86 用) http://www.debian.org/releases/lenny/i386/release-notes/ cdimage.debian.org - 最新版CDイメージ i386向け http://cdimage.debian.org/cdimage/release/current/i386/iso-cd/ cdimage.debian.org - CDイメージ アーカイブ http://cdimage.debian.org/cdimage/archive/