我发现很多人在通过 nvidia 设置更改亮度/对比度/伽玛时遇到问题,并且下次登录时设置无法加载。我也遇到了这个问题。
我感觉文件正在被读取因为在登录后,在 shell 加载之前的一瞬间,设置被应用,然后设置被恢复并且 shell 完成加载。
然后,就像其他人遇到的让设置坚持下去的问题一样,我打开 GUI 或在终端中粘贴命令,并且设置应用没有问题。
- 显卡:Nvidia 9600 GS
- 司机:331.20
- 发行版:Ubuntu 12.04
- Gnome Shell:3.4.1
我尝试过的:
- 以 root 和用户身份打开 nvidia-settings
- 为防止发生冲突,将 .nvidia-settings.rc 保存在根文件夹和用户文件夹中
- 将启动应用程序从 --load-config-only 更改为 -l
- 在列表末尾添加另一个启动应用程序(包括隐藏项目)
- 从文件中删除主机名
- 在设置前添加 0:
- 删除并重新生成文件
- 删除并重新生成 Xorg.conf
- 将 .nvidia-settings.rc 移至 /etc/X11/。
这是我的.nvidia-settings.rc....
RcFileLocale = C
ToolTips = Yes
DisplayStatusBar = Yes
SliderTextEntries = Yes
IncludeDisplayNameInConfigFile = No
ShowQuitDialog = Yes
UpdateRulesOnProfileNameChange = Yes
Timer = Memory_Used_(GPU_0),Yes,3000
Timer = Thermal_Monitor_(GPU_0),Yes,1000
Timer = PowerMizer_Monitor_(GPU_0),Yes,1000
# Attributes:
0/SyncToVBlank=1
0/LogAniso=0
0/FSAA=0
0/TextureSharpen=0
0/TextureClamping=1
0/FXAA=0
0/AllowFlipping=1
0/FSAAAppControlled=1
0/LogAnisoAppControlled=1
0/OpenGLImageSettings=1
0/FSAAAppEnhanced=0
0/XVideoSyncToDisplayID=DVI-I-0
[DPY:DVI-I-0]/Dithering=0
[DPY:DVI-I-0]/DitheringMode=0
[DPY:DVI-I-0]/DitheringDepth=0
[DPY:DVI-I-0]/SynchronousPaletteUpdates=0
[DPY:VGA-0]/RedBrightness=-0.767654
[DPY:VGA-0]/GreenBrightness=-0.767654
[DPY:VGA-0]/BlueBrightness=-0.767654
[DPY:VGA-0]/RedContrast=0.034169
[DPY:VGA-0]/GreenContrast=0.034169
[DPY:VGA-0]/BlueContrast=0.034169
[DPY:VGA-0]/RedGamma=1.633485
[DPY:VGA-0]/GreenGamma=1.633485
[DPY:VGA-0]/BlueGamma=1.633485
[DPY:VGA-0]/Dithering=0
[DPY:VGA-0]/DitheringMode=0
[DPY:VGA-0]/DitheringDepth=0
[DPY:VGA-0]/DigitalVibrance=96
[DPY:VGA-0]/SynchronousPaletteUpdates=0
[DPY:DVI-I-1]/RedBrightness=0.000000
[DPY:DVI-I-1]/GreenBrightness=0.000000
[DPY:DVI-I-1]/BlueBrightness=0.000000
[DPY:DVI-I-1]/RedContrast=0.000000
[DPY:DVI-I-1]/GreenContrast=0.000000
[DPY:DVI-I-1]/BlueContrast=0.000000
[DPY:DVI-I-1]/RedGamma=1.000000
[DPY:DVI-I-1]/GreenGamma=1.000000
[DPY:DVI-I-1]/BlueGamma=1.000000
[DPY:DVI-I-1]/Dithering=0
[DPY:DVI-I-1]/DitheringMode=0
[DPY:DVI-I-1]/DitheringDepth=0
[DPY:DVI-I-1]/DigitalVibrance=0
[DPY:DVI-I-1]/ColorSpace=0
[DPY:DVI-I-1]/ColorRange=0
[DPY:DVI-I-1]/SynchronousPaletteUpdates=0
[DPY:HDMI-0]/Dithering=0
[DPY:HDMI-0]/DitheringMode=0
[DPY:HDMI-0]/DitheringDepth=0
[DPY:HDMI-0]/SynchronousPaletteUpdates=0
答案1
我也遇到了同样的问题。我已通过以下步骤解决了该问题:
- 打开 nvidia-settings 并更改亮度设置。关闭它而不明确保存;
- 再次打开nvidia-settings,检查之前的修改是否保存;
如果修改未保存,请删除.nvidia-settings.rc;
sudo rm ~/.nvidia-settings-rc
重复步骤1和2;
- 当设置在会话之间持续存在时,尝试重新启动 PC;
如果重启后设置未自动应用,请将下一个命令添加到启动应用程序:
sh /usr/local/bin/nvidia_starter
重新启动并检查用户登录时设置是否应用;
顺便说一句。上述修复方法并未涵盖另一种情况。当您已登录并切换到其他用户后再返回时,启动应用程序将不会运行。要涵盖此情况,请使用以下步骤:
- 在 /usr/local/bin/ 文件夹中创建 nvidia_watcher 脚本并向其中添加 +x 标志;
#!/bin/bash
debug=false
log_file="/var/log/nvidia_settings.log"
log () {
if $debug ; then
echo "`date "+%d/%m/%y %H:%M:%S"` :: $@" >> $log_file
fi
}
dbus-monitor --sesion
"type='signal',interface='com.canonical.Unity.Session',member='Unlocked'" | while read line ; do
if [[ "$line" == *member=Unlocked* ]]
then
log "$line"
sh /usr/local/bin/nvidia_starter &
fi
done
每次执行‘切换用户’操作时,它都会运行 nvidia_starter 脚本;
在 /usr/local/bin/ 文件夹中创建 nvidia_starter 脚本并向其中添加 +x 标志;
#!/bin/bash
debug=false
log_file="/var/log/nvidia_settings.log"
log () {
if $debug ; then
echo "`date "+%d/%m/%y %H:%M:%S"` :: $@" >> $log_file
fi
}
sleep 4
log "initializing nvidia settings."
nvidia-settings -l >> $log_file
log "nvidia settings initialized."
- 最后将 nvidia_watcher 添加到启动应用程序中。