我曾经编辑 GDM 的启动脚本 (/etc/gdm/Init/Default) 来永久改变我的显示分辨率。
如何在 Ubuntu Oneiric 中使用 LigthDM 来实现这一点?
答案1
修改/etc/lightdm/lightdm.conf
添加如下选项:
显示设置脚本>mycustomloginvideo.sh
在登录屏幕出现之前 给你打电话会话设置脚本mycustomdesktopvideo.sh
>在用户桌面会话开始之前调用你
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
display-setup-script=/usr/share/mycustomloginvideo.sh
# for your desktop session
session-setup-script=/usr/share/mycustomdesktopvideo.sh
你可能有 ”arandr
“GUI 工具生成上述 sh 脚本,从当前会话的 X 配置中选择参数。
确保您的 shell 脚本是可执行的:
chmod a+x /usr/share/mycustom*video.sh
xrandr
您可以在终端中运行它来测试它是否有效(即您的命令中没有任何拼写错误或配置错误):
/usr/share/mycustomdesktopvideo.sh
如果登录脚本因任何原因无法工作,您的计算机可能无法完成启动过程并进入登录屏幕。如果桌面脚本失败,您可能在登录后无法看到桌面。如果您正在设置外接显示器,断开连接时这些脚本将失败,并且 X 会话将无法启动。
答案2
我认为您可以将显示模式添加到/etc/X11/xorg.conf
。
如果您没有xorg.conf
,那么您可以使用以下内容作为基础。您需要将条目替换为名称Modeline
,Driver
并将Modes
其替换为适合您系统的正确条目。根据您的硬件,您可能需要额外的条目,例如,如果您的系统有多个图形芯片。
Section "Monitor"
Identifier "Monitor0"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Modes "1280x1024_60.00" "1024x768_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
EndSection
如果您不知道系统正在使用的视频驱动程序的名称,那么您可能会得到以下名称(如果您有英特尔图形芯片,则驱动程序名称只是“intel”):
lshw -class display | grep "driver"
可以使用以下方法生成模式行cvt
:
cvt <h-resolution> <v-resolution> [refresh]
答案3
有人发布了另一种解决方法,但我必须说它对我来说不起作用。它可能对你有用。就我而言,它破坏了统一性,我只能移动鼠标光标。应用程序指示器顶部面板看起来是空的,但拔下 LCD 后,我能够删除添加的行,一切都恢复正常。
编辑文件/usr/sbin/lightdm-session
该文件的第一部分现在如下所示:
#!/bin/sh
#
# LightDM wrapper to run around X sessions.
echo "Running X session wrapper"
# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode CRT1 1368x768_60.00
xrandr --output CRT1 --mode 1368x768_60.00
# Load resources
请注意,Xrandr 设置应更改为与您的设置相匹配。
答案4
我的笔记本电脑也遇到过类似问题,我想补充一些内容。如果您不关心登录分辨率(我不关心),但希望实际工作空间具有正确的分辨率,您可以将显示器信息添加到 LightDM,但在登录之前不要打开全分辨率。
我刚刚在文件中为我的监视器添加了以下脚本:lighdmxrandr
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00
然后我打电话给/etc/lightdm/lightdm.conf
display-setup-script=/usr/bin/lightdmxrandr
一旦我登录,我就可以在显示器中设置我的显示器,并且它仍然可以工作,即使在我重新登录之后(过去总是给我一个很大的错误)。