はじめに (対象読者・この記事でわかること)

本記事は、MX Linux を日常的に使用しているが、ディスプレイの解像度が合わずにログイン画面が見切れてしまう、または表示がぼやけてしまうという問題に直面しているユーザーを対象としています。Linux デスクトップの基本的な操作に慣れている方であれば、ターミナルや設定ファイルの編集に少し抵抗があるかもしれませんが、本記事を読むことで 「ログインマネージャ(LightDM)の解像度を手動で設定し、再起動後に正しく反映させる」 という具体的な手順が理解でき、実際に実装できるようになります。背景として、MX Linux がデフォルトで使用している LightDM は解像度を自動取得しないケースがあり、手動で設定する必要がある点を取り上げます。

前提知識

この記事を読み進める上で、以下の知識があるとスムーズです。

  • 基本的な Linux コマンド操作(sudo, cat, nano など)
  • ディスプレイの解像度やリフレッシュレートに関する概念
  • MX Linux のデスクトップ環境(Xfce)および LightDM の存在

MX Linux のログイン画面解像度変更の概要

MX Linux は軽量なデスクトップ環境として Xfce を採用し、デフォルトのディスプレイマネージャは LightDM です。LightDM は X サーバー起動時に使用する解像度情報を xrandr コマンドから取得しますが、マルチモニター構成や特殊なドライバ(例:NVIDIA proprietary driver)を使用している場合、期待した解像度が自動で適用されないことがあります。その結果、ログイン画面が画面外にはみ出す、あるいは文字がつぶれて見にくいといった問題が発生します。

この問題を解決するための基本的なアプローチは、LightDM が起動する直前に解像度を強制的にセットするスクリプトを作成し、LightDM の設定ファイルにフックさせることです。具体的には以下の流れになります。

  1. 使用したい解像度とリフレッシュレートを xrandr で確認
  2. 解像度設定スクリプト(例:/usr/local/bin/set-lightdm-resolution.sh)を作成
  3. LightDM の greeter-setup-script オプションにスクリプトパスを記述
  4. LightDM を再起動し、ログイン画面が期待通りの解像度で表示されることを確認

この手順は、グラフィックドライバの種類やモニタ構成に左右される部分がありますが、基本的な流れは変わりません。次のセクションでは、実際に手順を一つずつ詳しく解説します。

MX Linux のログイン画面解像度変更手順

ステップ1:現在のディスプレイ情報を取得

まず、ターミナルを開き以下のコマンドで現在接続されているディスプレイとサポートしている解像度・リフレッシュレートを確認します。

Bash
xrandr

出力例:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
DP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080     60.00*+  59.94    50.00
   1680x1050     60.00
   1600x900      60.00
   1280x720      60.00
   1024x768      60.00
   800x600       60.32
   640x480       59.94

ここで、DP-1HDMI-1 など、実際に使用している出力ポート名と 「設定したい解像度+リフレッシュレート」 をメモしておきます。たとえば、1920x1080 が 60Hz で動作していることを確認したら、これをログイン画面でも使用したいとします。

ステップ2:解像度設定スクリプトを作成

次に、LightDM が起動した直後に xrandr を実行して解像度を固定するシェルスクリプトを書きます。保存場所は /usr/local/bin/ が一般的です。

Bash
sudo nano /usr/local/bin/set-lightdm-resolution.sh

スクリプト例:

Bash
#!/bin/bash # LightDM 用解像度固定スクリプト # 使用する出力ポート名 (xrandr の出力で確認したもの) OUTPUT="DP-1" # 設定したい解像度とリフレッシュレート MODE="1920x1080" RATE="60" # 解像度がまだ登録されていなければ追加 (必要に応じて) # xrandr --newmode "$(cvt $MODE $RATE | grep Modeline | cut -d' ' -f2-)" # xrandr --addmode $OUTPUT $MODE # 解像度を適用 xrandr --output $OUTPUT --mode $MODE --rate $RATE

内容を保存したら、実行権限を付与します。

Bash
sudo chmod +x /usr/local/bin/set-lightdm-resolution.sh

ポイント
- OUTPUT の値は環境に合わせて必ず確認してください。
- 複数モニターを使用している場合、ログイン画面でプライマリとして扱われるモニタだけを指定すれば OK です。
- 解像度が xrandr の一覧に表示されていない場合は、cvt コマンドで Modeline を生成し、--newmode--addmode を使って手動で追加できます。

ステップ3:LightDM 設定にスクリプトを組み込む

LightDM の設定ファイルは通常 /etc/lightdm/lightdm.conf にあります。まだ存在しない場合は作成します。

Bash
sudo nano /etc/lightdm/lightdm.conf

以下のように追記(または編集)します。

Ini
[Seat:*] greeter-setup-script=/usr/local/bin/set-lightdm-resolution.sh

[Seat:*] は全てのシート(デフォルトのディスプレイ設定)に適用されることを意味します。保存後、ファイルの権限が適切であることを確認します。

Bash
sudo chmod 644 /etc/lightdm/lightdm.conf

ステップ4:LightDM を再起動して動作確認

設定が完了したら LightDM を再起動します。MX Linux では sudo systemctl restart lightdm が有効です。

Bash
sudo systemctl restart lightdm

再起動すると、ログイン画面が再び表示されます。このとき、先ほど指定した解像度が正しく適用されているか、画面の端が切れないか、文字がはっきり表示されるかを確認してください。もし解像度が反映されていなければ、以下の点を再チェックします。

  1. OUTPUT の名前が正しいか
  2. スクリプトに実行権限が付与されているか
  3. lightdm.conf の書式ミスがないか(特にインデントや行末のスペース)

ハマった点やエラー解決

1. xrandr: cannot find output "DP-1" エラー

  • 原因xrandr の出力でポート名が異なる(例:HDMI-1eDP-1)ため、スクリプトと実際のポート名が食い違っている。
  • 対策xrandr の出力を再度確認し、スクリプト内の OUTPUT 変数を正しい名前に修正。

2. xrandr: Failed to get size of gamma for output DP-1

  • 原因:LightDM の greeter が X サーバーの起動直後に xrandr を実行しようとして、まだディスプレイが初期化されていないタイミングで実行されている。
  • 対策:スクリプト冒頭に短いスリープを入れる。例:

bash sleep 0.5

または greeter-setup-script の代わりに display-setup-script を使用して、X のブート段階で実行させる。

3. 解像度がリストに無い

  • 原因:ドライバが自動で生成したモードに目的の解像度が含まれていない。
  • 対策cvt で Modeline を生成し、xrandr --newmode--addmode をスクリプトに追加。具体例はステップ2のコメント部分を参照。

4. LightDM が再起動後に起動しない

  • 原因lightdm.conf に記述ミスがあり、LightDM が設定ファイルのパースに失敗している。
  • 対策journalctl -u lightdm でログを確認し、構文エラーや不正な文字列を修正。設定は key=value 形式で、行頭に不要なスペースやタブを入れない。

解決策まとめ

問題 原因 解決策
出力ポート名不一致 xrandr とスクリプトの不整合 正しいポート名に修正
スクリプト実行タイミング LightDM がまだ X を初期化中 sleep 追加または display-setup-script に変更
解像度未登録 ドライバがモードを出さない cvt で Modeline 作成 → --newmode/--addmode
LightDM 起動失敗 設定ファイル構文エラー lightdm.conf の書式チェック、ログ確認

上記を踏まえて設定すれば、MX Linux のログイン画面で任意の解像度を安定して使用できるようになります。

まとめ

本記事では、MX Linux の LightDM ログイン画面で 解像度を手動で固定する方法 をステップバイステップで解説しました。

  • xrandr で使用するポートと解像度を確認
  • 解像度設定スクリプトを作成し実行権限を付与
  • LightDM の設定に greeter-setup-script を追加
  • 再起動後に解像度が正しく適用されることを検証

この手順を実行することで、画面がはみ出したり文字が読みにくいといったログイン画面の表示問題を根本的に解決できます。今後は、マルチモニター環境で個別に解像度を設定したり、Wayland 環境への移行時に同様の設定を行う方法についても検証していく予定です。

参考資料