Linux Mintで画面解像度を変更する

Linux

自分がサブPC2として使っているノートパソコンの画面解像度が1920×1080と実際のモニターサイズである1368×768に対して大きくアイコンや文字が小さすぎて見づらいので、画面解像度を1600×900に変更しました。その備忘録です。

環境は Linux Mint 22.1 “Xia” MATE Edition です。

ディスプレイ名と画面解像度の確認

xrandrコマンドを実行して、選択可能な画面解像度を確認します。

$ xrandr

以下の画像のように「1920x1080  60.02*+」と「*+」がついているのが現在の画面解像度です。

画面解像度を変更する

--mode に変更したい画面解像度を指定し、次のコマンドを実行します。

$ ConnectedDisp=$(xrandr | grep " connected" | cut -f 1 -d " ")
$ xrandr --output ${ConnectedDisp} --mode 1600x900

一瞬、画面が真っ暗になった後に指定した画面解像度になっているはずです。

しかしこのままでは、システムを再起動すると元の設定に戻ってしまうので、画面解像度を変更するスクリプトを作成します。

$ sudo nano /etc/lightdm/resolution.sh

以下の内容をコピペして保存します。なお [Ctrl] + [O] を押した後 [Enter] で保存、[Ctrl] + [X] で nano エディタを終了します。

#!/bin/bash
ConnectedDisp=$(xrandr | grep " connected" | cut -f 1 -d " ")
xrandr --output ${ConnectedDisp} --mode 1600x900

先程の resolution.sh に実行権限を付与します。

$ sudo chmod +x /etc/lightdm/resolution.sh

あとは resolution.shをログイン画面で実行させる まで飛んでください。

画面解像度が一覧にない、または自動検出されない場合

もし選択可能な画面解像度が一覧にない、あるいはエラーが出た場合は、以下の手順を踏む必要があります。

modeline を取得

$ cvt 1600 900

以下のように表示されるので Modeline に続く文字列をコピーします。

# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync

新しいmodeを追加

そして以下のように xrandr –newmode の後に、先ほどコピーした内容を貼り付けして実行すれば新しいモードが追加されます。

$ xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
$ xrandr --addmode eDP-1 1600x900_60.00

再度、xrandrコマンドを実行すると一覧の最後に先程のモードが追加されているのが分かります。

$ xrandr

画面解像度を変更するスクリプトを作成

/etc/lightdm ディレクトリに「resolution.sh」を作成します。テキストエディタは何でも構いませんが、ここでは自分が使い慣れた nano を使います。

$ sudo nano /etc/lightdm/resolution.sh

以下の内容をコピペして保存します。なお [Ctrl] + [O] を押した後 [Enter] で保存、[Ctrl] + [X] で nano エディタを終了します。

#!/bin/bash
xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode eDP-1 1600x900_60.00
xrandr --output eDP-1 --mode 1600x900_60.00

先程の resolution.sh に実行権限を付与します。

$ sudo chmod +x /etc/lightdm/resolution.sh

resolution.shをログイン画面で実行させる

/etc/lightdm/lightdm.conf.d 以下に設定ファイルを作成します。

$ sudo nano /etc/lightdm/lightdm.conf.d/99-resolution.conf

以下の内容をコピペして保存します。

[SeatDefaults]
display-setup-script=/etc/lightdm/resolution.sh

最後にシステムを再起動させます。

$ sudo reboot

ログイン後に元の解像度に戻ってしまう場合

ログイン画面では指定した解像度であるにもかかわらず、ログイン後に元の解像度に戻ってしまう場合は以下の手順を踏みます。しかし一時的に画面が暗くなるのであまりいい方法ではありません。

resolution.shがログイン後に自動で実行されるようにする

以下のコマンドを実行し「自動起動するプログラム」を開きます。

$ mate-session-properties

ウィンドウが開いたら [ 追加 ] ボタンをクリックします。


下記の内容を入力し [ 追加 ] をクリックします。

名前: Change the Monitor Resolution
コマンド: /etc/lightdm/resolution.sh
説明: 画面解像度を変更します。
間隔: 2 秒


先程の画面解像度を変更するプログラムが一覧に追加されたのを確認し [閉じる] をクリックします。

後はシステムを再起動させるだけです。

$ sudo reboot

念の為、変更した画面解像度になっているか確認します。

$ xrandr

画面解像度の変更前と変更後の比較です。分かりにくいと思いますが、ゴミ箱アイコンの大きさが少し大きくなっていますね。

1920×1080(変更前)のデスクトップ画面↓


1600×900(変更後)のデスクトップ画面↓

参考にさせていただいたサイト様

lightdmのログイン画面に解像度を設定する – 最北端で暮らすSEのknowhow
UbuntuTips/Hardware/HowToChangeMonitorResolution - Ubuntu Japanese Wiki
Ubuntuディスプレイ解像度の変更 | 1920x1080 - BioErrorLog Tech Blog
Ubuntuで1920x1080の解像度(or任意の解像度)を設定する手順を整理します。 結論を言うと、次のコマンドの実行で1920x1080の解像度になります。 $ xrandr --newmode "1920x1080_60.00" 1...
ディスプレイの設定をコマンドライン・シェルで行う - Qiita
はじめにグラフィックの扱いは全くの初心者が色々と試行錯誤した上でコマンドライン上からディスプレイの設定を行う物語。ツッコミとかアドバイスがあれば是非教えて頂きたいです。マルチディスプレイの設…
Ubuntuで無理やり解像度を変更する方法 - Qiita
はじめに購入したノートパソコンの解像度が1366x768であり、画面を縮小したいと考えたためです。変更のやり方ステップ 1端末から、xrandr と打ってください。2行目の <foo> co…

コメント