「HiDPI」の版間の差分
(同期) |
|||
17行目: | 17行目: | ||
設定をリセットしたいときは {{ic|scaling-factor}} を {{ic|1}} に設定してください。 |
設定をリセットしたいときは {{ic|scaling-factor}} を {{ic|1}} に設定してください。 |
||
+ | |||
+ | {{Note|1={{ic|scaling-factor}} に設定できるのは整数だけです。1 = 100%, 2 = 200% など。}} |
||
=== KDE === |
=== KDE === |
||
− | + | 依然として多少の問題は存在しますが、[[KDE]] plasma 5 は HiDPI スクリーンをある程度サポートしています。 |
|
+ | |||
+ | KDE plasma 5 で HiDPI を使用するには以下の手順に従ってください: |
||
# フォントの dpi を拡大 (システム設定 → アプリケーションの外観 → フォント → Force font dpi。125, 144, 150 などの数字を入力してください) |
# フォントの dpi を拡大 (システム設定 → アプリケーションの外観 → フォント → Force font dpi。125, 144, 150 などの数字を入力してください) |
||
+ | # Qt 5.6 未満を使用している場合、[[#Qt 5|Qt 5]] セクションの手順に従って Qt に設定を適用させてください。 |
||
− | # アイコンサイズを拡大 (システム設定 → アプリケーションの外観 → アイコン → 詳細。全てのアイコンで数値の高いアイコンサイズを選択してください) |
||
+ | |||
+ | {{Note|以前スケールファクタを設定していた場合、Qt 5.6 から DPI の設定が反映されるようになったため、DPI を設定したときに Qt アプリケーションの表示が大きくなりすぎることがあります。その場合、スケールファクタをリセットしてください (System Settings → Display and Monitor → Display Configuration → Scale Display, 値を1にスクロール)。}} |
||
=== Xfce === |
=== Xfce === |
||
43行目: | 49行目: | ||
プログラムによっては物理的な横幅を使って DPI を検出します。例えば i3 ([https://github.com/i3/i3/blob/next/libi3/dpi.c ソース]) や Chromium ([https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/widget/desktop_aura/desktop_screen_x11.cc ソース]) などが挙げられます。 |
プログラムによっては物理的な横幅を使って DPI を検出します。例えば i3 ([https://github.com/i3/i3/blob/next/libi3/dpi.c ソース]) や Chromium ([https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/widget/desktop_aura/desktop_screen_x11.cc ソース]) などが挙げられます。 |
||
− | X サーバーがモニターの物理的な寸法を正しく検出できているか確認するには、次を実行: |
+ | X サーバーがモニターの物理的な寸法を正しく検出できているか確認するには、次を実行 (''xdpyinfo'' ユーティリティは {{Pkg|xorg-xdpyinfo}} パッケージに含まれています): |
$ xdpyinfo | grep -B 2 resolution |
$ xdpyinfo | grep -B 2 resolution |
||
70行目: | 76行目: | ||
{{ic|~/.xinitrc}} に {{ic|xrdb -merge ~/.Xresources}} と記述するなどして X の起動時に設定が正しくロードされるようにしてください (詳しくは [[Xresources]] を参照)。 |
{{ic|~/.xinitrc}} に {{ic|xrdb -merge ~/.Xresources}} と記述するなどして X の起動時に設定が正しくロードされるようにしてください (詳しくは [[Xresources]] を参照)。 |
||
− | 設定することでほとんどのツールキットやアプリケーションでフォントが正しく表示されるようになりますが、アイコンのサイズなどは変わりません。 |
+ | 設定することでほとんどのツールキットやアプリケーションでフォントが正しく表示されるようになりますが、アイコンのサイズなどは変わりません。また、ツールキットのスケール (例: {{ic|GDK_SCALE}}) と一緒に {{ic|Xft.dpi}} を設定した場合、Firefox などのプログラムでインターフェイスの表示が大きくなりすぎることがあります。 |
− | == |
+ | == GUI ツールキット == |
+ | |||
+ | === Qt 5 === |
||
+ | |||
+ | Qt 5.6 から、Qt 5 アプリケーションは {{ic|QT_AUTO_SCREEN_SCALE_FACTOR}} 環境変数によって設定された画面 DPI を使用するようになりました。例えば {{ic|/etc/profile.d/qt-hidpi.sh}} ファイルを作成し、以下を記述して実行可能属性を付与します: |
||
+ | |||
+ | export QT_AUTO_SCREEN_SCALE_FACTOR=1 |
||
+ | |||
+ | DPI の自動検知が上手くいかない場合、スケーリングをスクリーンごと ({{ic|QT_SCREEN_SCALE_FACTORS}})、あるいは全てのスクリーン ({{ic|QT_SCALE_FACTOR}}) に手動で設定することができます。詳しくは [https://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/ Qt のブログ記事] を参照してください。 |
||
+ | |||
+ | === GDK 3 (GTK+ 3) === |
||
+ | |||
+ | 2倍に UI エレメントを拡大するには: |
||
+ | |||
+ | $ export GDK_SCALE=2 |
||
+ | |||
+ | テキストのスケーリングを戻すには: |
||
+ | |||
+ | $ export GDK_DPI_SCALE=0.5 |
||
+ | |||
+ | === Elementary (EFL) === |
||
+ | |||
+ | UI のエレメントを1.5倍に拡大するには: |
||
+ | |||
+ | export ELM_SCALE=1.5 |
||
+ | |||
+ | 詳しくは https://phab.enlightenment.org/w/elementary/ を参照。 |
||
+ | |||
+ | == ディスプレイマネージャ == |
||
+ | |||
+ | === SDDM === |
||
+ | |||
+ | SDDM を拡大するには {{ic|/etc/sddm.conf}} の以下のプロパティを変更してください。ファイルを編集する前にバックアップを作成することを推奨します。 |
||
+ | |||
+ | [XDisplay] |
||
+ | # X server arguments |
||
+ | ServerArguments=-dpi 144 |
||
+ | |||
+ | == アプリケーション == |
||
+ | |||
+ | === ブラウザ === |
||
− | === Firefox === |
+ | ==== Firefox ==== |
[[Firefox]] の高度な設定のページ ({{ic|about:config}}) を開いて {{ic|layout.css.devPixelsPerPx}} パラメータを {{ic|2}} に設定してください ({{ic|2}} は Retina スクリーンに合った数値です、必要に応じて数値を変更してください)。 |
[[Firefox]] の高度な設定のページ ({{ic|about:config}}) を開いて {{ic|layout.css.devPixelsPerPx}} パラメータを {{ic|2}} に設定してください ({{ic|2}} は Retina スクリーンに合った数値です、必要に応じて数値を変更してください)。 |
||
80行目: | 126行目: | ||
Firefox バージョン 38 以降から、システム設定 (GTK+ 3.10) が適用されるようになっています [https://bugzilla.mozilla.org/show_bug.cgi?id=975919]。 |
Firefox バージョン 38 以降から、システム設定 (GTK+ 3.10) が適用されるようになっています [https://bugzilla.mozilla.org/show_bug.cgi?id=975919]。 |
||
− | === Chromium / Google Chrome === |
+ | ==== Chromium / Google Chrome ==== |
バージョン 43.0.2357.2-1 からメインブランチの {{AUR|google-chrome}} で完全な HiDPI サポートが含まれており、何も設定しなくても動作します (Gnome と Cinnamon でテスト済み)。また、AUR の古い Chrome パッケージでは、chromium パッケージと同じように、{{ic|--force-device-scale-factor}} コマンドラインフラグを使ってブラウザを起動することができます。全てのコンテンツと ui、さらにタブやフォントサイズがスケールします。例: |
バージョン 43.0.2357.2-1 からメインブランチの {{AUR|google-chrome}} で完全な HiDPI サポートが含まれており、何も設定しなくても動作します (Gnome と Cinnamon でテスト済み)。また、AUR の古い Chrome パッケージでは、chromium パッケージと同じように、{{ic|--force-device-scale-factor}} コマンドラインフラグを使ってブラウザを起動することができます。全てのコンテンツと ui、さらにタブやフォントサイズがスケールします。例: |
||
− | $ |
+ | $ chromium --force-device-scale-factor=2 |
このオプションを使う場合、スケールファクター1が通常のスケーリングです。少数点を使うこともできます。 |
このオプションを使う場合、スケールファクター1が通常のスケーリングです。少数点を使うこともできます。 |
||
− | === Opera === |
+ | ==== Opera ==== |
バージョン24から、{{ic|1=--alt-high-dpi-setting=X}} コマンドラインオプションを使って [[Opera]] を起動することで DPI を変更することができます。X は希望の DPI に置き換えて下さい。例えば、{{ic|1=--alt-high-dpi-setting=144}} なら Opera は DPI が144だと認識します。新しいバージョンの opera ではフォントの DPI 設定を使って DPI を自動で検出します (KDE の場合: force font DPI の設定)。 |
バージョン24から、{{ic|1=--alt-high-dpi-setting=X}} コマンドラインオプションを使って [[Opera]] を起動することで DPI を変更することができます。X は希望の DPI に置き換えて下さい。例えば、{{ic|1=--alt-high-dpi-setting=144}} なら Opera は DPI が144だと認識します。新しいバージョンの opera ではフォントの DPI 設定を使って DPI を自動で検出します (KDE の場合: force font DPI の設定)。 |
||
94行目: | 140行目: | ||
一般的にいって、Opera の HiDPI サポートは優れています。また、Chrome の blink レンダラを使って作成されているので、ほとんどの Chrome 拡張が動作します。HiDPI のサポートが上手く行っている Chrome として使うことができるでしょう。 |
一般的にいって、Opera の HiDPI サポートは優れています。また、Chrome の blink レンダラを使って作成されているので、ほとんどの Chrome 拡張が動作します。HiDPI のサポートが上手く行っている Chrome として使うことができるでしょう。 |
||
− | == メールクライアント == |
+ | === メールクライアント === |
− | === Thunderbird === |
+ | ==== Thunderbird ==== |
[[#Firefox|Firefox]] を見て下さい。{{ic|about:config}} にアクセスするには、Edit → Preferences → Advanced → Config editor を開きます。 |
[[#Firefox|Firefox]] を見て下さい。{{ic|about:config}} にアクセスするには、Edit → Preferences → Advanced → Config editor を開きます。 |
||
− | === |
+ | === Wine アプリケーション === |
− | |||
− | [https://wiki.gnome.org/Apps/Geary Geary] のネイティブ UI エレメントは GTK3 でレンダリングされているため、何も設定せずとも HiDPI に対応します。ただし、メッセージは webkitgtk で表示しているため、今現在は HiDPI をサポートしておらず、表示が不鮮明になります。 |
||
− | |||
− | webkitgtk にパッチをあてたバージョンである {{AUR|webkitgtk-hidpi}} が [[AUR]] に存在します。これなら HiDPI ディスプレイでも正しく webkit のページが表示されます。webkitgtk のコンパイルは数時間くらいかかるので注意してください。ビルド済みのバージョンを pacman でインストールしたい場合、[https://github.com/hckr/webkitgtk-hidpi-bin こちら] を見て下さい。 |
||
− | |||
− | == Wine アプリケーション == |
||
次を実行して、"画面"タブの"画面の解像度"設定を変更してください: |
次を実行して、"画面"タブの"画面の解像度"設定を変更してください: |
||
112行目: | 152行目: | ||
フォントのサイズにだけ影響を与えます。 |
フォントのサイズにだけ影響を与えます。 |
||
− | == Skype == |
+ | === Skype === |
[[Skype]] は [[Qt]] のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。{{Pkg|qt4}} をインストールして {{ic|qtconfig-qt4}} を実行して設定してください。 |
[[Skype]] は [[Qt]] のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。{{Pkg|qt4}} をインストールして {{ic|qtconfig-qt4}} を実行して設定してください。 |
||
− | == |
+ | === Spotify === |
+ | |||
+ | [[Spotify]] はスケーリングファクタを指定して起動することができます。例: |
||
+ | $ spotify --force-device-scale-factor=1.5 |
||
+ | |||
+ | === IntelliJ IDEA === |
||
HiDPI のサポートが機能しない場合、vmoptions ファイルに {{ic|1=-Dhidpi=true}} を追加してください [https://youtrack.jetbrains.com/issue/IDEA-114944]: |
HiDPI のサポートが機能しない場合、vmoptions ファイルに {{ic|1=-Dhidpi=true}} を追加してください [https://youtrack.jetbrains.com/issue/IDEA-114944]: |
||
126行目: | 171行目: | ||
echo -Dhidpi=true >> $HOME/.IdeaIC14/idea64.vmoptions |
echo -Dhidpi=true >> $HOME/.IdeaIC14/idea64.vmoptions |
||
− | == NetBeans == |
+ | === NetBeans === |
NetBeans では {{ic|1=--fontsize}} パラメータを使うことで起動時にインターフェイスのフォントのサイズを変更することができます。変更を永続的にするには、{{ic|1=/usr/share/netbeans/etc/netbeans.conf}} ファイルを編集して {{ic|1=netbeans_default_options}} プロパティに {{ic|1=--fontsize}} パラメータを追加してください [http://wiki.netbeans.org/FaqFontSize]。 |
NetBeans では {{ic|1=--fontsize}} パラメータを使うことで起動時にインターフェイスのフォントのサイズを変更することができます。変更を永続的にするには、{{ic|1=/usr/share/netbeans/etc/netbeans.conf}} ファイルを編集して {{ic|1=netbeans_default_options}} プロパティに {{ic|1=--fontsize}} パラメータを追加してください [http://wiki.netbeans.org/FaqFontSize]。 |
||
134行目: | 179行目: | ||
出力ウィンドウのフォントサイズは Tools → Options → Miscelaneous → Output から変えられます。 |
出力ウィンドウのフォントサイズは Tools → Options → Miscelaneous → Output から変えられます。 |
||
− | == Gimp 2.8 == |
+ | === Gimp 2.8 === |
HiDPI 対応のテーマを使用するか、既存のテーマの {{ic|1=gtkrc}} を [http://gimpforums.com/thread-increase-all-icons-on-hidpi-screen?pid=39113#pid39113 変更] してください。例えば {{ic|1=GimpToolPalette::tool-icon-size}} を {{ic|1=dialog}} に設定します。 |
HiDPI 対応のテーマを使用するか、既存のテーマの {{ic|1=gtkrc}} を [http://gimpforums.com/thread-increase-all-icons-on-hidpi-screen?pid=39113#pid39113 変更] してください。例えば {{ic|1=GimpToolPalette::tool-icon-size}} を {{ic|1=dialog}} に設定します。 |
||
− | == VLC == |
+ | === VLC === |
AUR にある git バージョン {{AUR|vlc-git}} で問題は解決します。 |
AUR にある git バージョン {{AUR|vlc-git}} で問題は解決します。 |
||
+ | === Steam === |
||
− | == 他のアプリケーション == |
||
+ | |||
+ | [https://github.com/MoriTanosuke/HiDPI-Steam-Skin HiDPI-Steam-Skin] をインストールすることでインターフェイスのフォントサイズを大きくすることができます。完全ではありませんが、可読性は向上します。 |
||
+ | |||
+ | {{Note|スキンは {{ic|1=~/.local/share/Steam/skins}} にダウンロードしてください。README に書かれている {{ic|1=~/.steam/skins/}} ではありません。}} |
||
+ | |||
+ | === 他のアプリケーション === |
||
アプリケーションを VNC デスクトップでフルスクリーンで実行して、装飾を省かせるという方法があります。それからビューアを拡大します。Vncdesk ([[AUR]] の {{AUR|vncdesk-git}} でインストールできます) では、アプリケーションごとにデスクトップを設定することができます。{{ic|vncdesk 2}} などのシンプルなコマンドでサーバーとクライアントを起動します。 |
アプリケーションを VNC デスクトップでフルスクリーンで実行して、装飾を省かせるという方法があります。それからビューアを拡大します。Vncdesk ([[AUR]] の {{AUR|vncdesk-git}} でインストールできます) では、アプリケーションごとにデスクトップを設定することができます。{{ic|vncdesk 2}} などのシンプルなコマンドでサーバーとクライアントを起動します。 |
||
148行目: | 199行目: | ||
[[x11vnc]] には実験的なオプションとして {{ic|-appshare}} があり、アプリケーションウィンドウごとにビューアを開きます。 |
[[x11vnc]] には実験的なオプションとして {{ic|-appshare}} があり、アプリケーションウィンドウごとにビューアを開きます。 |
||
− | == |
+ | == マルチディスプレイ == |
+ | HiDPI の設定は全てのデスクトップに適用されるため HiDPI ではない外部ディスプレイには全てが大きく表示されてしまいます。 |
||
− | === Qt 5 === |
||
+ | === 外部ディスプレイ === |
||
− | Qt5 アプリケーションは {{ic|QT_DEVICE_PIXEL_RATIO}} 環境変数を設定することで高い dpi で動かすことができます。この変数は整数に設定する必要があり、1.5 などと設定しても動作しないので注意してください。 |
||
+ | [[xrandr]] のスケールオプションを使って回避することができます。HiDPI の内部ディスプレイ (eDP1) の右に HiDPI ではないモニター (DP1) がある場合、次を実行: |
||
− | この変数は、例えば {{ic|/etc/profile.d/qt-hidpi.sh}} ファイルを作成することで有効にできます: |
||
+ | $ xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1 |
||
− | export QT_DEVICE_PIXEL_RATIO=2 |
||
+ | 内部ディスプレイを拡張すると、外部ディスプレイに内部ディスプレイの一部が表示されることがあります。その場合、[https://gist.github.com/wvengen/178642bbc8236c1bdb67 このスクリプト] を使うなどしてポジションを手動で設定してください。 |
||
− | ファイルには実行可能属性を付与してください。 |
||
+ | マウスが画面の全体で使えないという問題が発生することもあります。これは [https://bugs.freedesktop.org/show_bug.cgi?id=39949 既知のバグ] であり xserver-org のパッチがあります (もしくはパンするという方法もありますが、別の問題が発生する可能性もあります)。 |
||
− | === GDK 3 (GTK+ 3) === |
||
+ | 4k のノートパソコンの右に外付けの 1920x1080 モニターを縮小して右に表示させる例: |
||
− | 2倍に UI エレメントを拡大するには: |
||
+ | $ xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP1 |
||
− | $ export GDK_SCALE=2 |
||
+ | hidpi のモニターが AxB ピクセルで通常のモニターが CxD、そして [ExF] でスケールする場合、コマンドは以下のようになります: |
||
− | テキストのスケーリングを戻すには: |
||
+ | $ xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1 |
||
− | $ export GDK_DPI_SCALE=0.5 |
||
+ | === ミラーリング === |
||
− | == 外部ディスプレイ == |
||
+ | ディスプレイをミラーしたい場合、簡単にできます: |
||
− | HiDPI の設定は全てのデスクトップに適用されるため HiDPI ではない外部ディスプレイには全てが大きく表示されてしまいます。[[xrandr]] のスケールオプションを使って回避することができます。HiDPI の内部ディスプレイ (eDP1) の右に HiDPI ではないモニター (DP1) がある場合、次を実行: |
||
+ | HiDPI の解像度が AxB で、外部ディスプレイの解像度が CxD の場合: |
||
− | $ xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1 |
||
+ | $ xrandr --output HDMI --scale [A/C]x[B/D] |
||
− | 内部ディスプレイを拡張すると、外部ディスプレイに内部ディスプレイの一部が表示されることがあります。その場合、[https://gist.github.com/wvengen/178642bbc8236c1bdb67 このスクリプト] を使うなどしてポジションを手動で設定してください。 |
||
+ | 例えば QHD の場合 (3200/1920 = 1.66 と 1800/1200 = 1.5): |
||
− | マウスが画面の全体で使えないという問題が発生することもあります。これは [https://bugs.freedesktop.org/show_bug.cgi?id=39949 既知のバグ] であり xserver-org のパッチがあります (もしくはパンするという方法もありますが、別の問題が発生する可能性もあります)。 |
||
+ | $ xrandr --output HDMI --scale 1.66x1.5 |
||
− | 4k のノートパソコンの右に外付けの 1920x1080 モニターを縮小して右に表示させる例: |
||
+ | UHD から 1080p の場合 (3840/1920=2 2160/1080=1.98): |
||
− | $ xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP1 |
||
+ | $ xrandr --output HDMI --scale 2x1.98 |
||
− | hidpi のモニターが AxB ピクセルで通常のモニターが CxD、そして [ExF] でスケールする場合、コマンドは以下のようになります: |
||
+ | スケーリングによって画面が霞むときは、モニター設定で"シャープネス"パラメータを調整してください。 |
||
− | $ xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1 |
||
− | == コンソール == |
+ | == Linux コンソール == |
− | デフォルトのコンソールフォントでは hidpi ディスプレイでとても小さくなってしまいます。一番巨大なフォントは {{ic|sun12x22}} であり、(一時的に) 有効にするには: |
+ | デフォルトのコンソールフォントでは hidpi ディスプレイでとても小さくなってしまいます。{{Pkg|kbd}} パッケージに含まれている一番巨大なフォントは {{ic|sun12x22}} であり、(一時的に) 有効にするには: |
$ setfont sun12x22 |
$ setfont sun12x22 |
2016年5月4日 (水) 23:36時点における版
関連記事
HiDPI (High Dots Per Inch) ディスプレイとは、比較的小さい型で高解像度を誇るディスプレイのことで、Apple の "Retina Display" の名称でも知られています。Apple の製品やハイエンドの "ultrabook" でよく使われています。また、4K (Ultra HD) もしくは 5K モニターも含まれます。
今のところ全てのソフトウェアが高解像度モードで上手く動作するわけではありません。以下では HiDPI の画面での作業を快適する一般的な設定を記載しています。
目次
デスクトップ環境
GNOME
HiDPI を有効にするには、gsettings を使ってインターフェイスのスケールファクタを設定します:
$ gsettings set org.gnome.desktop.interface scaling-factor 2
設定をリセットしたいときは scaling-factor
を 1
に設定してください。
KDE
依然として多少の問題は存在しますが、KDE plasma 5 は HiDPI スクリーンをある程度サポートしています。
KDE plasma 5 で HiDPI を使用するには以下の手順に従ってください:
- フォントの dpi を拡大 (システム設定 → アプリケーションの外観 → フォント → Force font dpi。125, 144, 150 などの数字を入力してください)
- Qt 5.6 未満を使用している場合、Qt 5 セクションの手順に従って Qt に設定を適用させてください。
Xfce
設定マネージャ→外観→フォントから DPI のパラメータを変更してください。Retina スクリーンでは 180 または 192 がぴったりです。正確な数字を得たいときは、$ xdpyinfo | grep resolution
を実行して得た数字を2倍してください。
システムトレイのアイコンを拡大するには、システムトレイを右クリック (アイコンをクリックしないように、空きスペースや上部・下部のピクセルを右クリックしてください) → “Properties” → “Maximum icon size” を 32, 48, 64 などに設定してください。
Cinnamon
2.2 から HiDPI をサポートしています。GTK3 をリビルドしなくても、十分なサポートが得られます (例: ウィンドウの縁のサイズが正しく設定されます。Xfce では行われません)。
Enlightenment
E18 の場合、E 設定パネルを開いて下さい。Look → Scaling から、UI のスケール比を設定できます。MBPr 15" のネイティブ解像度なら 1.2 が丁度です。
X サーバー
プログラムによっては物理的な横幅を使って DPI を検出します。例えば i3 (ソース) や Chromium (ソース) などが挙げられます。
X サーバーがモニターの物理的な寸法を正しく検出できているか確認するには、次を実行 (xdpyinfo ユーティリティは xorg-xdpyinfo パッケージに含まれています):
$ xdpyinfo | grep -B 2 resolution screen #0: dimensions: 3200x1800 pixels (423x238 millimeters) resolution: 192x192 dots per inch
上の例では 96 dpi の倍数を使うために (この場合 192 dpi)、少しだけ誤っている面積 (Dell XPS 9530 は 346mm x 194mm なのに 423mm x 328mm になっている) を使っています。これは正確な DPI を使うよりも良い場合が多く、例えば i3 では Pango のフォントレンダリングがパリッとします。
xdpyinfo によって示された DPI が正しくない場合、修正方法は Xorg#画面サイズと DPI を見てください。
X Resources
X の設定をしてくれる GNOME, KDE, Xfce などのデスクトップ環境を使っていない場合、~/.Xresources
で手動で Xft の DPI を設定できます:
~/.Xresources
Xft.dpi: 180 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb
~/.xinitrc
に xrdb -merge ~/.Xresources
と記述するなどして X の起動時に設定が正しくロードされるようにしてください (詳しくは Xresources を参照)。
設定することでほとんどのツールキットやアプリケーションでフォントが正しく表示されるようになりますが、アイコンのサイズなどは変わりません。また、ツールキットのスケール (例: GDK_SCALE
) と一緒に Xft.dpi
を設定した場合、Firefox などのプログラムでインターフェイスの表示が大きくなりすぎることがあります。
GUI ツールキット
Qt 5
Qt 5.6 から、Qt 5 アプリケーションは QT_AUTO_SCREEN_SCALE_FACTOR
環境変数によって設定された画面 DPI を使用するようになりました。例えば /etc/profile.d/qt-hidpi.sh
ファイルを作成し、以下を記述して実行可能属性を付与します:
export QT_AUTO_SCREEN_SCALE_FACTOR=1
DPI の自動検知が上手くいかない場合、スケーリングをスクリーンごと (QT_SCREEN_SCALE_FACTORS
)、あるいは全てのスクリーン (QT_SCALE_FACTOR
) に手動で設定することができます。詳しくは Qt のブログ記事 を参照してください。
GDK 3 (GTK+ 3)
2倍に UI エレメントを拡大するには:
$ export GDK_SCALE=2
テキストのスケーリングを戻すには:
$ export GDK_DPI_SCALE=0.5
Elementary (EFL)
UI のエレメントを1.5倍に拡大するには:
export ELM_SCALE=1.5
詳しくは https://phab.enlightenment.org/w/elementary/ を参照。
ディスプレイマネージャ
SDDM
SDDM を拡大するには /etc/sddm.conf
の以下のプロパティを変更してください。ファイルを編集する前にバックアップを作成することを推奨します。
[XDisplay] # X server arguments ServerArguments=-dpi 144
アプリケーション
ブラウザ
Firefox
Firefox の高度な設定のページ (about:config
) を開いて layout.css.devPixelsPerPx
パラメータを 2
に設定してください (2
は Retina スクリーンに合った数値です、必要に応じて数値を変更してください)。
Firefox バージョン 38 以降から、システム設定 (GTK+ 3.10) が適用されるようになっています [1]。
Chromium / Google Chrome
バージョン 43.0.2357.2-1 からメインブランチの google-chromeAUR で完全な HiDPI サポートが含まれており、何も設定しなくても動作します (Gnome と Cinnamon でテスト済み)。また、AUR の古い Chrome パッケージでは、chromium パッケージと同じように、--force-device-scale-factor
コマンドラインフラグを使ってブラウザを起動することができます。全てのコンテンツと ui、さらにタブやフォントサイズがスケールします。例:
$ chromium --force-device-scale-factor=2
このオプションを使う場合、スケールファクター1が通常のスケーリングです。少数点を使うこともできます。
Opera
バージョン24から、--alt-high-dpi-setting=X
コマンドラインオプションを使って Opera を起動することで DPI を変更することができます。X は希望の DPI に置き換えて下さい。例えば、--alt-high-dpi-setting=144
なら Opera は DPI が144だと認識します。新しいバージョンの opera ではフォントの DPI 設定を使って DPI を自動で検出します (KDE の場合: force font DPI の設定)。
一般的にいって、Opera の HiDPI サポートは優れています。また、Chrome の blink レンダラを使って作成されているので、ほとんどの Chrome 拡張が動作します。HiDPI のサポートが上手く行っている Chrome として使うことができるでしょう。
メールクライアント
Thunderbird
Firefox を見て下さい。about:config
にアクセスするには、Edit → Preferences → Advanced → Config editor を開きます。
Wine アプリケーション
次を実行して、"画面"タブの"画面の解像度"設定を変更してください:
$ winecfg
フォントのサイズにだけ影響を与えます。
Skype
Skype は Qt のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。qt4 をインストールして qtconfig-qt4
を実行して設定してください。
Spotify
Spotify はスケーリングファクタを指定して起動することができます。例:
$ spotify --force-device-scale-factor=1.5
IntelliJ IDEA
HiDPI のサポートが機能しない場合、vmoptions ファイルに -Dhidpi=true
を追加してください [2]:
/usr/share/intellij-idea-ultimate-edition/bin/idea.vmoptions /usr/share/intellij-idea-ultimate-edition/bin/idea64.vmoptions
もしくは、$HOME
ディレクトリの .vmoptions
ファイルに以下を追加します:
echo -Dhidpi=true >> $HOME/.IdeaIC14/idea64.vmoptions
NetBeans
NetBeans では --fontsize
パラメータを使うことで起動時にインターフェイスのフォントのサイズを変更することができます。変更を永続的にするには、/usr/share/netbeans/etc/netbeans.conf
ファイルを編集して netbeans_default_options
プロパティに --fontsize
パラメータを追加してください [3]。
エディタのフォントサイズは Tools → Option → Fonts & Colors から変えられます。
出力ウィンドウのフォントサイズは Tools → Options → Miscelaneous → Output から変えられます。
Gimp 2.8
HiDPI 対応のテーマを使用するか、既存のテーマの gtkrc
を 変更 してください。例えば GimpToolPalette::tool-icon-size
を dialog
に設定します。
VLC
AUR にある git バージョン vlc-gitAUR で問題は解決します。
Steam
HiDPI-Steam-Skin をインストールすることでインターフェイスのフォントサイズを大きくすることができます。完全ではありませんが、可読性は向上します。
他のアプリケーション
アプリケーションを VNC デスクトップでフルスクリーンで実行して、装飾を省かせるという方法があります。それからビューアを拡大します。Vncdesk (AUR の vncdesk-gitAUR でインストールできます) では、アプリケーションごとにデスクトップを設定することができます。vncdesk 2
などのシンプルなコマンドでサーバーとクライアントを起動します。
x11vnc には実験的なオプションとして -appshare
があり、アプリケーションウィンドウごとにビューアを開きます。
マルチディスプレイ
HiDPI の設定は全てのデスクトップに適用されるため HiDPI ではない外部ディスプレイには全てが大きく表示されてしまいます。
外部ディスプレイ
xrandr のスケールオプションを使って回避することができます。HiDPI の内部ディスプレイ (eDP1) の右に HiDPI ではないモニター (DP1) がある場合、次を実行:
$ xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1
内部ディスプレイを拡張すると、外部ディスプレイに内部ディスプレイの一部が表示されることがあります。その場合、このスクリプト を使うなどしてポジションを手動で設定してください。
マウスが画面の全体で使えないという問題が発生することもあります。これは 既知のバグ であり xserver-org のパッチがあります (もしくはパンするという方法もありますが、別の問題が発生する可能性もあります)。
4k のノートパソコンの右に外付けの 1920x1080 モニターを縮小して右に表示させる例:
$ xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP1
hidpi のモニターが AxB ピクセルで通常のモニターが CxD、そして [ExF] でスケールする場合、コマンドは以下のようになります:
$ xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1
ミラーリング
ディスプレイをミラーしたい場合、簡単にできます:
HiDPI の解像度が AxB で、外部ディスプレイの解像度が CxD の場合:
$ xrandr --output HDMI --scale [A/C]x[B/D]
例えば QHD の場合 (3200/1920 = 1.66 と 1800/1200 = 1.5):
$ xrandr --output HDMI --scale 1.66x1.5
UHD から 1080p の場合 (3840/1920=2 2160/1080=1.98):
$ xrandr --output HDMI --scale 2x1.98
スケーリングによって画面が霞むときは、モニター設定で"シャープネス"パラメータを調整してください。
Linux コンソール
デフォルトのコンソールフォントでは hidpi ディスプレイでとても小さくなってしまいます。kbd パッケージに含まれている一番巨大なフォントは sun12x22
であり、(一時的に) 有効にするには:
$ setfont sun12x22
詳しくはフォント#コンソールフォントを見てください。