「HiDPI」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
 
[[Category:グラフィック]]
 
[[Category:グラフィック]]
 
[[en:HiDPI]]
 
[[en:HiDPI]]
  +
{{Related articles start}}
  +
{{Related|フォント設定}}
  +
{{Related articles end}}
 
'''HiDPI''' (High Dots Per Inch) ディスプレイとは、比較的小さい型で高解像度を誇るディスプレイのことで、Apple の "[[wikipedia:ja:レティナディスプレイ|Retina Display]]" の名称でも知られています。Apple の製品やハイエンドの "ultrabook" でよく使われています。また、4K (Ultra HD) もしくは 5K モニターも含まれます。
 
'''HiDPI''' (High Dots Per Inch) ディスプレイとは、比較的小さい型で高解像度を誇るディスプレイのことで、Apple の "[[wikipedia:ja:レティナディスプレイ|Retina Display]]" の名称でも知られています。Apple の製品やハイエンドの "ultrabook" でよく使われています。また、4K (Ultra HD) もしくは 5K モニターも含まれます。
   
11行目: 14行目:
 
HiDPI を有効にするには、gsettings を使ってインターフェイスのスケールファクタを設定します:
 
HiDPI を有効にするには、gsettings を使ってインターフェイスのスケールファクタを設定します:
   
gsettings set org.gnome.desktop.interface scaling-factor 2
+
$ gsettings set org.gnome.desktop.interface scaling-factor 2
   
 
設定をリセットしたいときは {{ic|scaling-factor}} を {{ic|1}} に設定してください。
 
設定をリセットしたいときは {{ic|scaling-factor}} を {{ic|1}} に設定してください。
24行目: 27行目:
 
=== Xfce ===
 
=== Xfce ===
   
(設定マネージャにある) 設定エディタを開いて、{{ic|xsettings}} {{ic|Xft}} から DPI のパラメータを変更してください。Retina スクリーンでは 180 がぴったりです。
+
設定マネージャ→外観→フォントから DPI のパラメータを変更してください。Retina スクリーンでは 180 または 192 がぴったりです。正確な数字を得たいときは、{{ic|$ <nowiki>xdpyinfo | grep resolution</nowiki>}} を実行して得た数字を2倍してください
   
 
システムトレイのアイコンを拡大するには、システムトレイを右クリック (アイコンをクリックしないように、空きスペースや上部・下部のピクセルを右クリックしてください) → “Properties” → “Maximum icon size” を 32, 48, 64 などに設定してください。
 
システムトレイのアイコンを拡大するには、システムトレイを右クリック (アイコンをクリックしないように、空きスペースや上部・下部のピクセルを右クリックしてください) → “Properties” → “Maximum icon size” を 32, 48, 64 などに設定してください。
79行目: 82行目:
 
=== 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、さらにタブやフォントサイズがスケールします。例:
Chromium における HiDPI サポートは {{AUR|chromium-dev}} を使って [[PKGBUILD]] で {{ic|1=_use_hidpi=1}} と設定することで使うことができます。[https://code.google.com/p/chromium/issues/detail?id=143619 HiDPI のサポート] は [https://chromium.googlesource.com/chromium/src.git/+/b19dc5bf24871e40e986f0f024946b1c281e77c4 最近追加されたばかり] なので、しばらくしたら {{Pkg|chromium}} でも利用できるようになるはずです。公式にサポートされるまではデフォルトのページのズームサイズを 200% に設定してください (あまり良い対処方法ではありません)。
 
   
  +
$ google-chrome --force-device-scale-factor=2
また、AUR から最新の Chrome パッケージを使うことで、chromium パッケージと同じように、{{ic|--force-device-scale-factor}} コマンドラインフラグを使ってブラウザを起動することができます。全てのコンテンツと ui、さらにタブやフォントサイズがスケールします。例:
 
   
  +
このオプションを使う場合、スケールファクター1が通常のスケーリングです。少数点を使うこともできます。
google-chrome --force-device-scale-factor=2
 
 
このオプションを使う場合、スケールファクター1が通常のスケーリングです。少数点を使うこともできます。現時点では、メニューやフォームなどの UI が壊れてしまうので注意してください (chrome 39 現在)。バグレポートが [https://code.google.com/p/chromium/issues/detail?id=400837 issue] に投げられています。
 
   
 
=== Opera ===
 
=== Opera ===
98行目: 99行目:
   
 
[[#Firefox|Firefox]] を見て下さい。{{ic|about:config}} にアクセスするには、Edit → Preferences → Advanced → Config editor を開きます。
 
[[#Firefox|Firefox]] を見て下さい。{{ic|about:config}} にアクセスするには、Edit → Preferences → Advanced → Config editor を開きます。
  +
  +
=== Geary ===
  +
  +
[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 アプリケーション ==
  +
  +
次を実行して、"画面"タブの"画面の解像度"設定を変更してください:
  +
$ winecfg
  +
フォントのサイズにだけ影響を与えます。
   
 
== Skype ==
 
== Skype ==
   
 
[[Skype]] は [[Qt]] のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。{{Pkg|qt4}} をインストールして {{ic|qtconfig-qt4}} を実行して設定してください。
 
[[Skype]] は [[Qt]] のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。{{Pkg|qt4}} をインストールして {{ic|qtconfig-qt4}} を実行して設定してください。
  +
  +
== IntelliJ IDEA ==
  +
  +
HiDPI のサポートが機能しない場合、vmoptions ファイルに {{ic|1=-Dhidpi=true}} を追加してください [https://youtrack.jetbrains.com/issue/IDEA-114944]:
  +
/usr/share/intellij-idea-ultimate-edition/bin/idea.vmoptions
  +
/usr/share/intellij-idea-ultimate-edition/bin/idea64.vmoptions
  +
  +
もしくは、{{ic|$HOME}} ディレクトリの {{ic|.vmoptions}} ファイルに以下を追加します:
  +
  +
echo -Dhidpi=true >> $HOME/.IdeaIC14/idea64.vmoptions
  +
  +
== 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]。
  +
  +
エディタのフォントサイズは Tools → Option → Fonts & Colors から変えられます。
  +
  +
出力ウィンドウのフォントサイズは Tools → Options → Miscelaneous → Output から変えられます。
  +
  +
== 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}} に設定します。
  +
  +
== VLC ==
  +
  +
AUR にある git バージョン {{AUR|vlc-git}} で問題は解決します。
  +
  +
== 他のアプリケーション ==
  +
  +
アプリケーションを VNC デスクトップでフルスクリーンで実行して、装飾を省かせるという方法があります。それからビューアを拡大します。Vncdesk ([[AUR]] の {{AUR|vncdesk-git}} でインストールできます) では、アプリケーションごとにデスクトップを設定することができます。{{ic|vncdesk 2}} などのシンプルなコマンドでサーバーとクライアントを起動します。
  +
  +
[[x11vnc]] には実験的なオプションとして {{ic|-appshare}} があり、アプリケーションウィンドウごとにビューアを開きます。
   
 
== GUI ツールキット ==
 
== GUI ツールキット ==
114行目: 159行目:
   
 
ファイルには実行可能属性を付与してください。
 
ファイルには実行可能属性を付与してください。
  +
  +
=== GDK 3 (GTK+ 3) ===
  +
  +
2倍に UI エレメントを拡大するには:
  +
  +
$ export GDK_SCALE=2
  +
  +
テキストのスケーリングを戻すには:
  +
  +
$ export GDK_DPI_SCALE=0.5
   
 
== 外部ディスプレイ ==
 
== 外部ディスプレイ ==
119行目: 174行目:
 
HiDPI の設定は全てのデスクトップに適用されるため HiDPI ではない外部ディスプレイには全てが大きく表示されてしまいます。[[xrandr]] のスケールオプションを使って回避することができます。HiDPI の内部ディスプレイ (eDP1) の右に HiDPI ではないモニター (DP1) がある場合、次を実行:
 
HiDPI の設定は全てのデスクトップに適用されるため HiDPI ではない外部ディスプレイには全てが大きく表示されてしまいます。[[xrandr]] のスケールオプションを使って回避することができます。HiDPI の内部ディスプレイ (eDP1) の右に HiDPI ではないモニター (DP1) がある場合、次を実行:
   
xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1
+
$ xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1
  +
  +
内部ディスプレイを拡張すると、外部ディスプレイに内部ディスプレイの一部が表示されることがあります。その場合、[https://gist.github.com/wvengen/178642bbc8236c1bdb67 このスクリプト] を使うなどしてポジションを手動で設定してください。
  +
  +
マウスが画面の全体で使えないという問題が発生することもあります。これは [https://bugs.freedesktop.org/show_bug.cgi?id=39949 既知のバグ] であり xserver-org のパッチがあります (もしくはパンするという方法もありますが、別の問題が発生する可能性もあります)。
  +
  +
4k のノートパソコンの右に外付けの 1920x1080 モニターを縮小して右に表示させる例:
  +
  +
$ xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP1
   
  +
hidpi のモニターが AxB ピクセルで通常のモニターが CxD、そして [ExF] でスケールする場合、コマンドは以下のようになります:
内部ディスプレイを拡張すると、外部ディスプレイに内部ディスプレイの一部が表示されることがあります。その場合、[https://gist.github.com/wvengen/178642bbc8236c1bdb67 このスクリプト]を使うなどしてポジションを手動で設定してください。
 
   
  +
$ xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1
マウスが画面の全体で使えないという問題が発生することもあります。これは[https://bugs.freedesktop.org/show_bug.cgi?id=39949 既知のバグ]であり xserver-org のパッチがあります (もしくはパンするという方法もありますが、別の問題が発生する可能性もあります)。
 
   
 
== コンソール ==
 
== コンソール ==
135行目: 198行目:
 
== 参照 ==
 
== 参照 ==
   
* [http://www.phoronix.com/scan.php?page=article&item=linux_uhd4k_gpus Ultra HD 4K Linux Graphics Card Testing] (Nov 2013)
+
* [http://www.phoronix.com/scan.php?page=article&item=linux_uhd4k_gpus Ultra HD 4K Linux Graphics Card Testing] (2013年11月)
  +
* [http://www.eizo.com/library/basics/pixel_density_4k/ Understanding pixel density]
* [[フォント設定]]
 

2015年7月11日 (土) 23:40時点における版

関連記事

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-factor1 に設定してください。

KDE

KDE には依然として HiDPI に問題が存在していますが、以下の設定を変更することで HiDPI のサポートを向上させることができます:

  1. フォントの dpi を拡大 (システム設定 → アプリケーションの外観 → フォント → Force font dpi。125, 144, 150 などの数字を入力してください)
  2. アイコンサイズを拡大 (システム設定 → アプリケーションの外観 → アイコン → 詳細。全てのアイコンで数値の高いアイコンサイズを選択してください)

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 | 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

~/.xinitrcxrdb -merge ~/.Xresources と記述するなどして X の起動時に設定が正しくロードされるようにしてください (詳しくは Xresources を参照)。

設定することでほとんどのツールキットやアプリケーションでフォントが正しく表示されるようになりますが、アイコンのサイズなどは変わりません。

ブラウザ

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、さらにタブやフォントサイズがスケールします。例:

$ google-chrome --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 を開きます。

Geary

Geary のネイティブ UI エレメントは GTK3 でレンダリングされているため、何も設定せずとも HiDPI に対応します。ただし、メッセージは webkitgtk で表示しているため、今現在は HiDPI をサポートしておらず、表示が不鮮明になります。

webkitgtk にパッチをあてたバージョンである webkitgtk-hidpiAURAUR に存在します。これなら HiDPI ディスプレイでも正しく webkit のページが表示されます。webkitgtk のコンパイルは数時間くらいかかるので注意してください。ビルド済みのバージョンを pacman でインストールしたい場合、こちら を見て下さい。

Wine アプリケーション

次を実行して、"画面"タブの"画面の解像度"設定を変更してください:

$ winecfg

フォントのサイズにだけ影響を与えます。

Skype

SkypeQt のプログラムであり、別個に設定する必要があります。Skype の DPI 設定を変更することはできませんが、フォントサイズは変更することができます。qt4 をインストールして qtconfig-qt4 を実行して設定してください。

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-sizedialog に設定します。

VLC

AUR にある git バージョン vlc-gitAUR で問題は解決します。

他のアプリケーション

アプリケーションを VNC デスクトップでフルスクリーンで実行して、装飾を省かせるという方法があります。それからビューアを拡大します。Vncdesk (AURvncdesk-gitAUR でインストールできます) では、アプリケーションごとにデスクトップを設定することができます。vncdesk 2 などのシンプルなコマンドでサーバーとクライアントを起動します。

x11vnc には実験的なオプションとして -appshare があり、アプリケーションウィンドウごとにビューアを開きます。

GUI ツールキット

Qt 5

Qt5 アプリケーションは QT_DEVICE_PIXEL_RATIO 環境変数を設定することで高い dpi で動かすことができます。この変数は整数に設定する必要があり、1.5 などと設定しても動作しないので注意してください。

この変数は、例えば /etc/profile.d/qt-hidpi.sh ファイルを作成することで有効にできます:

export QT_DEVICE_PIXEL_RATIO=2

ファイルには実行可能属性を付与してください。

GDK 3 (GTK+ 3)

2倍に UI エレメントを拡大するには:

$ export GDK_SCALE=2

テキストのスケーリングを戻すには:

$ export GDK_DPI_SCALE=0.5

外部ディスプレイ

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 ディスプレイでとても小さくなってしまいます。一番巨大なフォントは sun12x22 であり、(一時的に) 有効にするには:

$ setfont sun12x22

詳しくはフォント#コンソールフォントを見てください。

参照