HiDPIディスプレイ用にi3ウィンドウマネージャーをスケーリングするにはどうすればよいですか?


36

3200x1800ピクセルの解像度のDell XPS 13 9343 2015があります。

私はそれにi3 windows managerを使用しようとしていますが、すべてが小さく、ほとんど読めません。

私はすべてのアプリケーション(firefox、ターミナルなど)を.Xresources次のように拡張することができました:

! Fonts {{{
Xft.antialias: true
Xft.hinting:   true
Xft.rgba:      rgb
Xft.hintstyle: hintfull
Xft.dpi:       220
! }}}

しかし、i3インターフェイスはまだスケーリングしません...


私はそれxrandr --dpi 220が問題を解決するかもしれないことを理解しました、しかし、私はそれをどのように/どこで使うかわかりません。

誰かがこの問題について私を啓発できますか?

回答:


25

Xセッションを実行している任意のユーザーとしてxrandrを実行できます。Xrandrはコマンドラインプログラムであるため、ターミナルで実行します。

したがって、ユーザー端末でこのようなものを実行します

$ xrandr --dpi 220

i3でdpiを設定するにはxrandrが必要なのに、他のすべてのアプリケーションがXft.dpiで動作するように見える理由を説明できますか?
マレーター

1
一部のプログラムはXresourcesファイルから読み取りますが、i3はXサーバーから直接読み取るDPIを取得します。
デニスチェン

4
4.13では、これはもはや当てはまらないようです。リリースノートには、Xresourcesで動作することが明記されています(そうあるべきです)。
マレーター

1
@maletor Correct、4.13以降をお読みくださいXft.dpi。ただし、i3は一般的にDPIに使用Xftしますが、フォントに適用することを想定しているため、「当然のことです」と言っても過言ではありません。ただし、一般的にこの方法の方がユーザーに適しています。:-)
IngoBürk16年

21

i3内でのみDPIを変更する場合は、次の行を使用してi3構成ファイルにコマンドを追加できます。

exec xrandr --dpi 220

ディストリビューションに応じて、設定ファイルはさまざまな場所にありますが、多くの場合、 ~/.config/i3/config


16

承認された回答に対する@maletorのコメントは、新しい回答を正当化するものです。バージョン4.13以降、i3はXft.dpi(source)からDPI情報を読み取ります。したがって、i3を高DPI画面で動作するように設定するには、おそらく2つのファイルを変更する必要があります。

~/.Xresources希望の値でこの行を追加します。

Xft.dpi: 120

Xが~/.xinitrcsource)で起動するときに設定が適切にロードされていることを確認します。

xrdb -merge ~/.Xresources
exec i3

XリソースからDPI設定を読み取る他のアプリケーション(端末など)に影響することに注意してください。


1
Ubuntu 18.04では、~/.xinitrcこれを機能させるためにファイルは必要ありませんでした。
aparkerlue

0

私の質問の編集が削除されたので(理由はわかりません)、ここに修正方法があります:

私は単に置くことでそれを解決しました:

xrandr --dpi 220
exec i3

私の.xinitrc


0

VirtualBoxで率直に言って、VirtualBox( 'xrandr --dpi 220')を使用するとここで選択した答えが機能しなかったため、標準のubuntu / linux環境で解像度を設定するI3の問題を解決しました。ただ閉じた。そこで、次の標準的な一連のコマンドを使用して解決を構成しました。

cvt 3840 2160 60
// Output: -> Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

出力の一部(単語Modelineの後)を新しいコマンドのパラメーターとして使用する

xrandr --newmode "3840x2160_60.00"  3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
xrandr --addmode VGA-1 3840x2160_60.00

//この最後のコマンドは、作成された解像度をアクティブにします

xrandr -s 3840x2160

ユーザーロギングセッション間で構成を保持するには、もちろん次のコマンドを.bashrc initファイルに入れる必要があります。

構成が完了したら、1ピクセルのスクロールバースペースを削除するには、メニューの[表示]-> [拡大縮小モード]を選択します。また、UltraHdディスプレイをWindowsホストのメインディスプレイとして設定するのも嫌です。

私の解決策は、次のリンクからの2つの回答の組み合わせです。参照:https ://askubuntu.com/questions/377937/how-to-set-a-custom-resolution

編集: 1つのライナーを含む簡素化されたアプライアンス

eval $(cvt 2220 1250 60 |sed 's/Modeline/xrandr --newmode /g'|sed -n '1!p')

適切な結果解像度として画面サイズのアスペクト比が後で再評価/調整される可能性があるため、出力の最後に追加されたxrandコマンドで作成された解像度を見つけます。

1)特定のディスプレイに解像度を割り当てます-

xrandr --addmode VGA-1 "2224x1250_60.00"

2)ディスプレイに目的の解像度を出力する

xrandr --output VGA-1 --mode "2224x1250_60.00"


これはおそらくコメントであり、回答ではありません。

良い点、コメントとしてそれを削除し、このコメントを削除しますが、完全に定かではありません「あなたのアプローチは私の作品に役に立たなかったので、あなたのアプローチはうまくいきませんでした(「だからあなたは間違っています」)」というような答えにコメントを付けることは、私にとって最後の編集のためにあえぎにくいです、
痛い-FantomX1

1
「ここで選択した答えがVirtualBoxを使用しているときにうまくいかなかった」だけを言わなければならない場合は、コメントが適切な場所になります。ただし、(VirtualBoxを使用している場合)受け入れられる回答(ここ)が機能しない、自分に合った回答を知っている場合は、回答として投稿する必要があります。ただし、リンクだけを投稿しないでください。コピーここに答えをてください。(1:他の答えは削除され、2かもしれない:私たちは知らないそのあなたを助けたものです他の質問に対する回答の。)原作者を特定する(ユーザー)名によって、およびリンクを保ちます。
G-Manが「Reinstate Monica」と言います
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.