デスクトップ画面の解像度を1366x768
に変更したかった。しかし、私のVESA drivers(AMD REDWOOD)
はその解像度を検出しませんでした。そこで、次のようにシェルスクリプトを作成しました。
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode DVI-0 1368x768_60.00
xrandr --output DisplayPort-0 --off --output DVI-0 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off
lightdmxrandr.sh
に/usr/bin
として保存し、実行可能にしました。そして、次の行を /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
(これはよく知られている/etc/lightdm/lightdm.conf
に相当します。/etc/lightdm/lightdm.conf
がない14.04で上記のファイルを使用しています。):-
greeter-session=unity-greeter
display-setup-script=/usr/bin/lightdmxrandr.sh
session-setup-script=/usr/bin/lightdmxrandr.sh
保存しました。理論的には、これによりログイン画面の解像度とデスクトップ画面の解像度の両方が1366x768
に変更されるはずです。しかし、驚くべきことに、これはログイン画面の解像度のみを変更しました。デスクトップの解像度は変更されていません。その後、スクリプトをスタートアップアプリケーションに追加し、デスクトップの解像度を変更しました。
したがって、私がlightdm.conf
ファイル(または50-ubuntu.conf
ファイル)に行った編集がデスクトップの解像度に影響を与えなかった理由を知りたいです。これは、ランチパッドで報告する必要がある何らかのバグですか、それともlightdmの編集がデスクトップ画面に影響すると言うのは間違っていますか?
PS:-私の意見では、これはUbuntu 14.04に固有のものではありません。
同様のことを試してみましたが、いくつかのデバッグの後、何が起こっているのかがわかったと思います。スクリプトはおそらくis実行され、おそらく解像度を正しく設定します。ただし、ログインマネージャーによって実行されるため、Unityがデスクトップ環境のセットアップを完了する前に実行され、Unityは独自の設定を読み取り、解像度をユーザーの設定にリセットします。だから、私は何が起こると思う:
これは、VESAドライバーが目的の解像度を自動的に検出しないためです。つまり、Unityの設定の[ディスプレイ]セクションから解像度を変更すると、xrandr
コマンドを実行しない限り使用できない解像度が設定されます。したがって、次回再起動するとこれは無視され、Unityはデフォルトの解像度に戻ります。
したがって、あなたがする必要があるのは、Unityで解像度を利用可能にし、それをデフォルトとして設定し、それを処理させることです。これを行うには、最初にこの行を/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
に追加する必要があります。
session-setup-script=/usr/bin/lightdmxrandr.sh
次に、/usr/bin/lightdmxrandr.sh
が次のようになっていることを確認します。
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode DVI-0 1368x768_60.00
私は実際に解像度を設定していないことに注意してください。この再起動が完了したら、ログインします。新しい解像度が[設定] => [ディスプレイ]で利用可能になります。その場合、そこで選択し、ログアウトしてから再度ログインすると、解像度が正しく設定されるはずです。これで、再起動後も解決されます。
/etc/X11/xorg.conf
ファイルを作成 目的の解像度をリストします。このようなもの:
Section "Monitor"
Identifier "Monitor0"
Modeline "1368x768_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Modes "1368x768_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Card0"
Driver "vesa"
EndSection
xrandr
コマンドを実行するスクリプトをセッションのスタートアップアプリケーションに追加します。