はじめに (対象読者・この記事でわかること)
本記事は、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 の設定ファイルにフックさせることです。具体的には以下の流れになります。
- 使用したい解像度とリフレッシュレートを
xrandrで確認 - 解像度設定スクリプト(例:
/usr/local/bin/set-lightdm-resolution.sh)を作成 - LightDM の
greeter-setup-scriptオプションにスクリプトパスを記述 - LightDM を再起動し、ログイン画面が期待通りの解像度で表示されることを確認
この手順は、グラフィックドライバの種類やモニタ構成に左右される部分がありますが、基本的な流れは変わりません。次のセクションでは、実際に手順を一つずつ詳しく解説します。
MX Linux のログイン画面解像度変更手順
ステップ1:現在のディスプレイ情報を取得
まず、ターミナルを開き以下のコマンドで現在接続されているディスプレイとサポートしている解像度・リフレッシュレートを確認します。
Bashxrandr
出力例:
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-1 や HDMI-1 など、実際に使用している出力ポート名と 「設定したい解像度+リフレッシュレート」 をメモしておきます。たとえば、1920x1080 が 60Hz で動作していることを確認したら、これをログイン画面でも使用したいとします。
ステップ2:解像度設定スクリプトを作成
次に、LightDM が起動した直後に xrandr を実行して解像度を固定するシェルスクリプトを書きます。保存場所は /usr/local/bin/ が一般的です。
Bashsudo 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
内容を保存したら、実行権限を付与します。
Bashsudo chmod +x /usr/local/bin/set-lightdm-resolution.sh
ポイント
-OUTPUTの値は環境に合わせて必ず確認してください。
- 複数モニターを使用している場合、ログイン画面でプライマリとして扱われるモニタだけを指定すれば OK です。
- 解像度がxrandrの一覧に表示されていない場合は、cvtコマンドで Modeline を生成し、--newmodeと--addmodeを使って手動で追加できます。
ステップ3:LightDM 設定にスクリプトを組み込む
LightDM の設定ファイルは通常 /etc/lightdm/lightdm.conf にあります。まだ存在しない場合は作成します。
Bashsudo nano /etc/lightdm/lightdm.conf
以下のように追記(または編集)します。
Ini[Seat:*] greeter-setup-script=/usr/local/bin/set-lightdm-resolution.sh
[Seat:*] は全てのシート(デフォルトのディスプレイ設定)に適用されることを意味します。保存後、ファイルの権限が適切であることを確認します。
Bashsudo chmod 644 /etc/lightdm/lightdm.conf
ステップ4:LightDM を再起動して動作確認
設定が完了したら LightDM を再起動します。MX Linux では sudo systemctl restart lightdm が有効です。
Bashsudo systemctl restart lightdm
再起動すると、ログイン画面が再び表示されます。このとき、先ほど指定した解像度が正しく適用されているか、画面の端が切れないか、文字がはっきり表示されるかを確認してください。もし解像度が反映されていなければ、以下の点を再チェックします。
OUTPUTの名前が正しいか- スクリプトに実行権限が付与されているか
lightdm.confの書式ミスがないか(特にインデントや行末のスペース)
ハマった点やエラー解決
1. xrandr: cannot find output "DP-1" エラー
- 原因:
xrandrの出力でポート名が異なる(例:HDMI-1やeDP-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 環境への移行時に同様の設定を行う方法についても検証していく予定です。
参考資料
- LightDM Documentation – greeter-setup-script
- xrandr Manual
- MX Linux Wiki – Display Settings
- cvt コマンドで Modeline を生成する方法
