Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails関連
  • Ruby / Rails関連以外

Linux環境のRubyMine(IntelliJ IDEA)で表示サイズを拡大させる方法

morimorihogeです。暑すぎて室外機が仕事できないのか、昼間はクーラー付けてても暑くてヤヴァイですね。

最近新しいXPS13 2-in-1を手に入れてメインのRyzen Desktopに入れていたLinux VMをコピーしていました。
デスクトップ環境では4kディスプレイ環境なので通常解像度で良いのですが、13インチディスプレイにそのままの解像度で出すと文字が読めないのでHiDPI対応させる必要があり、その辺りの設定した記録をメモっておきます。

前提環境

  • ホストOS環境
    • Dell XPS13 2-in-1(7390 2-in-1)
    • ディスプレイ解像度は3840×2400(QUXGA-W、ほぼ4k相当)
    • Windows 10(Pro化済み)
    • Hyper-VでVMを利用
  • ゲストOS環境Linux環境
    • Manjaro Linux(Xfce環境)
    • Hyper-VのVM上で起動
    • Hyper-V付属の拡張デスクトップ接続でGUIを利用(xrdp)
    • ArchWikiのHiDPI/Xfceの設定は完了済みで、通常のアプリ及びデスクトップは2倍スケーリング対応済み
    • Yay経由でJetbrains Toolboxをインストールし、RubyMine等のJetBrains IDEはJetBrains Toolboxからインストール

スケーリングされていない状態の確認

何も設定しない状態だと以下のような状態になっています。

細かすぎてよくわからないので一部を拡大してみます。

ウィンドウタイトル部分はXfce/GTK3でレンダリングされている部分で、こちらはArchWikiのHiDPI/Xfceの設定によってちゃんと2xスケーリングされていることが確認できます。
一方で、RubyMine(JetBrains IDE一般に置き換えて読んで下さい)のJavaレンダリング部分はデスクトップ環境で設定したスケーリングが効いていません。

JetBrains IDEのHiDPI設定状態を見るにはSearch Everywhere機能(Shift二回押し)を開き「Show HiDPI Info」を見れば良いです。

実行してみるとこんな感じになっていました。

見る限り、Monitor ScaleUser(IDE) scaleも1.0となっており、下の方にあるGDK(GIMP Drawing Kit)系のscale設定も全部undefinedになっているので、現状スケーリング設定は1.0、つまりスケーリングされていないことが分かります。

2xスケーリングを設定する

アタリが付いたので、Google先生に聞いて調べてみます。結果として出てきたIntelliJ公式のHiDPI configurationsページを見てみると、Linux用の設定についても書かれていました。

※ちなみにJBRってなんじゃい?と思って調べてみるとJetBrains Runtimeのことのようです。パッと見た感じではJetBrains IDEを起動するときのJavaランタイムのバージョンのことで、バージョン番号もJREランタイムと同じものだと思ってよさそうでした(少なくともメジャー番号レベルでは)。
というわけで、普通に最新の環境を使っているならJBR11の設定を読みましょう。

ぶっちゃけ後はこれを読んでね!という話で良いのですが、一応解決までやった手順も書いておきます。

スケーリングを設定する

ここではよくわからないところまで影響範囲を広げたくなかったので、とりあえずGDK系の環境変数で設定を行う方法ではなくIDEのVM Optionを設定する方法で行いました。
おなじみSearch Everywhere機能から「Edit Custom VM Options…」を開きます。

すると、現在利用しているJetBrains IDEの起動時のJVM起動オプションが開きます。
※内部的には.vmoptionsファイルを開いてると思います。詳細は日本正規代理店のサムライズムさんのサイトを見てもらえるとよくわかります: 起動オプション .vmoptions ファイルの場所

開いたVMオプションの末尾に-Dsun.java2d.uiScale=2を追記します。

2xスケーリングの動作確認

その後、RubyMineを終了して立ち上げなおすと、2xスケールでRubyMineが起動しました。

一応拡大したスクリーンショットも貼っておきます。

設定後の「Show HiDPI Info」の結果は以下の通りでした。

まとめ

というわけで、Linux環境下のRubyMine(JetBrains IDE)で2xスケーリングする方法をまとめました。
自宅作業がメインとなってからはHyper-V化のLinux環境でメイン開発をするようになりましたが、デスクトップPCだとCPUもメモリも潤沢でVM環境でも問題なく開発できますね。

またTipsぽいものが出てきたらまとめていこうと思います。ではでは。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。