web-dev-qa-db-fra.com

gnome / nvidia remplaçant .nvidia-settings.rc

Je vois beaucoup de gens avoir des problèmes lors du changement de luminosité/contraste/gamma via les paramètres nvidia et les paramètres ne se chargeant pas la prochaine fois qu'ils se connectent. J'ai également ce problème.

J'ai l'impression que le fichier est en cours de lecture car pendant une fraction de seconde après la connexion, avant le chargement du shell, les paramètres sont appliqués, puis les paramètres sont rétablis et le shell termine le chargement.

Ensuite, comme tout le monde a du mal à faire coller les paramètres, j'ouvre l'interface graphique ou colle les commandes dans le terminal et les paramètres sont appliqués sans problème.

  • Carte: Nvidia 9600 GS
  • Pilote: 331.20
  • Distro: Ubuntu 12.04
  • Gnome Shell: 3.4.1

Ce que j'ai essayé:

  • ouverture de nvidia-settings en tant que root et utilisateur
  • enregistrement de .nvidia-settings.rc dans le dossier racine et utilisateur en cas de conflits
  • changer l'application de démarrage de --load-config-only à -l
  • ajouter une autre application de démarrage à la fin de la liste (y compris les éléments cachés)
  • suppression du nom d'hôte du fichier
  • ajouter un 0: avant les paramètres
  • suppression et régénération d'un fichier
  • suppression et régénération de Xorg.conf
  • déplacer .nvidia-settings.rc vers/etc/X11 /.

Voici mon .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
2
captain_G

J'ai eu le même problème. Je l'ai résolu avec les étapes suivantes:

  1. Ouvrez nvidia-settings et modifiez les paramètres de luminosité. Fermez-le sans enregistrer explicitement;
  2. Ouvrez à nouveau nvidia-settings et vérifiez que les modifications précédentes sont enregistrées;
  3. Si les modifications n'ont pas été enregistrées, supprimez .nvidia-settings.rc;

    Sudo rm ~/.nvidia-settings-rc

  4. Répétez les étapes 1 et 2;

  5. Lorsque les paramètres sont conservés entre les sessions, essayez de redémarrer le PC;
  6. Si, après le redémarrage, les paramètres ne sont pas appliqués, ajoutez automatiquement la commande suivante aux applications de démarrage:

    sh /usr/local/bin/nvidia_starter

  7. Redémarrez et vérifiez si les paramètres sont appliqués lors de la connexion de l'utilisateur;

BTW. le correctif mentionné ne couvre pas un scénario de plus. Lorsque vous vous êtes déjà connecté après être passé à un autre utilisateur et revenir, les applications de démarrage ne seront pas exécutées. Pour couvrir ce scénario, veuillez suivre les étapes suivantes:

  • Créez le script nvidia_watcher dans le dossier/usr/local/bin/et ajoutez-y le drapeau + 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
  • Il exécutera le script nvidia_starter chaque fois qu'une opération de "changement d'utilisateur" est effectuée;

  • Créez le script nvidia_starter dans le dossier/usr/local/bin/et ajoutez-y le drapeau + 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."
  • Et après tout, ajoutez nvidia_watcher aux applications de démarrage.
1
Faresis