VMwareで動作するAlmaLinuxで画面解像度を保存する方法

VMware上で動作しているUbuntuCentOS 7の場合、画面解像度を設定して再起動した場合は、その解像度で起動するのですが、AlmaLinux 8, 9やRocky Linux 8, 9(恐らくCentOS 8, 9 StreamやRHEL8, 9でも同様)では、800x600や1024x768のような低解像で起動してしまいます。

海外のサイトで画面解像度を固定して起動する方法を見つけたのでその手順を紹介します。

参考サイト: https://almalinux.discourse.group/t/almalinux-9-vmware-keeps-resetting-the-screen-resolution-to-800x600/1677

上記サイトでは、画面解像度の設定で使用するスクリプトを特定ユーザーのホームディレクトリ内に置いているのですが、本ブログでは、別のディレクトリに変更しています。

手順:

sudoedit /usr/local/bin/gnome-randr.py

下記サイトを開きCopy file contentsツールチップで表示されるアイコンのクリックでクリップボードにコピーできます。

https://gitlab.com/Oschowa/gnome-randr/-/blob/master/gnome-randr.py

sudoedit /usr/local/bin/resolution.sh

以下の内容にして保存する。

#!/bin/sh
python3 /usr/local/bin/gnome-randr.py --output Virtual-1 --mode 1920x1200

1920x1200 の部分は、指定したい解像度にしてください。
Virtual-1 の部分は、gnome-randr.pyを引数なしで実行した際に表示されるassociated physical monitors:の内容です。VMwareの場合はVirtual-1になりますが、他の仮想OSソフトウェアでは異なると思います。

sudo chmod +x /usr/local/bin/resolution.sh
sudoedit /etc/xdg/autostart/resolution.desktop

以下の内容にして保存する。

[Desktop Entry]
Encoding=UTF-8
Exec=/usr/local/bin/resolution.sh
Name=resolution
Terminal=false
OnlyShowIn=GNOME
Type=Application
StartupNotify=false
X-GNOME-Autostart-Phase=Application

リスタートして確認してみてください。
以上です。