Ecran noir à chaque ouverture de l'écran

Jacques L

Membre expert
Club iGen
4 Septembre 2004
1 635
91
Saint Maur des Fossés
Bonjour à tous.

Après une recherche sur "écran noir", je me suis aperçu que ce n'est pas ce qui manque, mais je n'ai pas trouvé de cas semblable. J'ai eu récemment des soucis avec mon MacBook 2007 http://forums.macg.co/threads/macbook-blanc-2007-en-panne.1274501/ en fait le Mac n'avait rien, c'était un défaut de la box Bouygues mais ça m'a amené à recharger le système depuis le DVD 10.6 et faire tout un tas de m-à-j à la suite puis récupérer le reste avec ma sauvegarde TM.

Et depuis quand je rabats l'écran, le point blanc pulse un certain temps puis s'éteint. Quand je rouvre l'écran, il est noir, mais un appui sur la touche power le rallume, on voit ce qui était à l'écran précédemment à travers un voile blanc. Une barre de progression en bas de l'écran aligne des barres blanches et quand le bout est atteint, tout redevient OK.

En soi, ce n'est pas une panne, ça n'empêche pas d'utiliser le Mac, mais je voudrais comprendre ce qui se passe, on dirait qu'il se met en veille prolongée et qu'il a du mal à en sortir. Seul truc nouveau, une batterie toute neuve mais en fait il est toujours sur secteur. J'ai fait les manips habituelles PRAM, SMC, Onyx automation, mais ça n'a rien changé, quelqu'un sait ce qui se passe ?

Merci d'avance et bonne soirée.
 
Réveil difficile ?
Ca me le fait tous les matins… :p

Il s'éteint et re-démarre en safe boot ?

Je ne comprends pas trop ce truc de "voile blanc"

Tu es bien en 10.6.8 sur le MB ?
Tu as essayé la mise en veille depuis le menu pomme en gardant l'écran relevé ?
 
Il repart de là où il s'était arrêté, pas de safe boot dans l'affaire. Le "voile blanc" c'est comme si on regardait l'écran au travers d'une mousseline blanche (le tissu, pas la purée :)) pendant que la barre de progression se remplit et oui, je suis bien en 10.6.8, comme depuis des années et je n'ai jamais vu ça. Je n'ai pas encore essayé la mise en veille depuis le menu pomme en gardant l'écran relevé, j'essaierai demain, je n'y ai pas accès en ce moment, mais je ne vois pas trop quelle information ça va donner? :bored:
 
Après essai de mise en veille par le menu pomme, le fonctionnement est identique. Si on rouvre l'écran dans les quelques minutes qui suivent, tout est ouvert en place comme avant. Mais au bout d'un certain temps que l'écran est fermé le voyant blanc arrête de pulser et devient noir, dans ce cas, seul un appui sur le bouton on/off relance la machine.
Toutefois un changement d'abord l'écran est tout blanc, puis on devine les éléments présents à l'écran au travers du voile blanc pendant que la barre de progression se remplit et l'écran devient noir 1/2 seconde avant que tout rentre dans l'ordre.
 
Au fil des jours tous les symptômes ont disparu et les choses sont redevenues comme avant, on rabat l'écran, le mac se met en veille on rouvre l'écran et il sort de veille, sans étape intermédiaire, ni écran noir, ni appui sur "on", rien de rien.
Je vais marquer "résolu", mais je ne sais pas pourquoi, à moins que apple ait prévu un système d'auto-réparation :D, je ne sais pas ce qui s'est passé :cyclops:
 
Salut Jacques.

quand je rabats l'écran, le point blanc pulse un certain temps puis s'éteint. Quand je rouvre l'écran, il est noir, mais un appui sur la touche power le rallume, on voit ce qui était à l'écran précédemment à travers un voile blanc. Une barre de progression en bas de l'écran aligne des barres blanches et quand le bout est atteint, tout redevient OK. En soi, ce n'est pas une panne, ça n'empêche pas d'utiliser le Mac, mais je voudrais comprendre ce qui se passe...

Ce que tu décris n'est pas un dysfonctionnement : c'est le comportement normal d'un portable Mac dont l'hibernatemode est réglé sur l'option 25.

- a) Lorsqu'on rabat le couvercle d'un portable Mac, cela déclenche directement une mise-en-sommeil de l'écran ("displaysleep") + une mise-en-sommeil du système ("sleep") - lorsque l'utilisateur ne rabat pas, par contre, le couvercle mais cesse d'agir graphiquement dans sa session (pas d'action sur les touches du clavier ni sur le pad) - alors le délai de mise-en-sommeil de l'écran ("displaysleep") et du système ("sleep") est réglé par des préférences temporelles en minutes fixées à l'avance (par exemple : 5' de délai d'inactivité avant sommeil de l'écran et 10' de délai d'inactivité avant sommeil du système). En résumé : rabattre le couvercle du portable neutralise ces délais de mise-en-sommeil écran / système pour déclencher directement ce double sommeil.

- b) Mais il y a sommeil et sommeil (en terme de "degrés de profondeur" de la désactivaction). C'est cette graduation de la profondeur du sommeil, ou cette modalité de la mise-en-sommeil, que déterminent les valeurs associées à l'hibernatemode : qu'il convient de traduire comme : "modalité de la mise-en-sommeil", sans se laisser influencer par le terme "hibernate". Il y a 3 grandes valeurs associables à l'hibernatemode = 3 grandes modalités de la mise-en-sommeil (je fais abstraction ici de l'« hibernation » au sens fort, ou "standby", qui est le basculement de l'état de « sommeil » dans l'état de « catalepsie » ou quasi-extinction du Mac, après un délai de « sommeil » fixé à l'avance dit "standbydelay") :

- b1) hibernatemode 0 : lorsque la mise-en-sommeil est déclenchée (par le rabat du couvercle, par exemple), alors aucune sauvegarde des contenus de la RAM n'est écrite au disque dur du Mac (au fichier: /private/var/vm/sleepimage), mais pendant le sommeil-système, la RAM ne sera pas désactivée, mais maintenue en fonction, de sorte qu'au relèvement du couvercle, le Bureau de session sera instantanément réaffiché à partir des contenus de la RAM => c'est, au sens strict, le mode : "simple sleep" (sommeil simple).

- b2) hibernatemode 3 : lorsque la mise-en-sommeil est déclenchée (par le rabat du couvercle, par exemple), alors une sauvegarde des contenus de la RAM est écrite au disque dur du Mac (au fichier: /private/var/vm/sleepimage), mais pendant le sommeil-système, la RAM ne sera pas désactivée, mais maintenue en fonction, de sorte qu'au relèvement du couvercle, le Bureau de session sera instantanément réaffiché à partir des contenus de la RAM => c'est le mode : "safe sleep" (sommeil sécurisé) : tout fonctionne pratiquement comme avec le sommeil simple (hibarnatemode 0), sauf qu'une sauvegarde de la RAM est effectuée à la sleepimage (en cas de vidage de la batterie si le Mac était en postion nomade sans alimentation par le secteur, la RAM se trouvant alors désactivée de ses contenus, le réveil se ferait à partir de la sauvegarde de la sleepimage, afin que le Bureau de session soit ré-affiché comme avant le sommeil).

- b3) hibernatemode 25 : lorsque la mise-en-sommeil est déclenchée (par le rabat du couvercle, par exemple), alors une sauvegarde des contenus de la RAM est écrite au disque dur du Mac (au fichier: /private/var/vm/sleepimage), puis pendant le sommeil-système, la RAM est désactivée (donc vidée de ses contenus), de sorte qu'au relèvement du couvercle, rien ne se passe automatiquement : l'écran est noir (sommeil) et le Bureau de session ne se réaffiche pas => il faut presser une fois le bouton "Power" pour que l'écran se rallume, mais comme la RAM a été désactivée, le réaffichage du Bureau de session s'opère à partir du fichier de sauvegarde sleepimage, ce qui prend un petit délai. Graphiquement parlant, le Bureau de session apparaît comme vu à travers un voile laiteux, et une barre de chargement s'affiche qui signale le temps qu'il faut pour que la lecture du fichier de sauvegarde sleepimage recharge la RAM de ses anciens contenus : à complétion (une poignée de secondes), le Bureau de session se ré-affiche à partir des contenus de la RAM recopiés depuis la sleepimage => c'est le mode : "deep sleep" (sommeil profond).
--------------------​

☞ pour une raison = x, il est clair que le sommeil de ton MacBook était réglé d'après l'hibernatemode 25. Cette modalité présente un énorme avantage lorsque le Mac est utilisé en position nomade, car lors de la mise-en-sommeil, le fait de ne pas avoir à maintenir en tension la RAM avec ses contenus économise pas mal la batterie, et par conséquent permet de tenir plus longtemps. Par contre, lorsque le portable est utilisé à la maison avec alimentation sur secteur, l'hibernatemode 25 est extrêmement agaçant à l'usage, car il y a toujours ce délai de réaffichage à partir de la sleepimage qui est absolument parasite puisque le Mac, pendant le sommeil, reste alimenté par le secteur et peut donc préserver les contenus de la RAM de manière à ce que le Bureau de session se réaffiche instantément au relèvement du couvercle.

Les ingénieurs de la  ont bien aperçu cette dualité de situation : sur batterie / sur secteur, requérant des réglages d'économie d'énergie différents. C'est pourquoi il est possible de déterminer 2 sortes de réglages de la modalité du sommeil, un réglage lorsque le Mac est sur secteur (maison), et un réglage lorsque le Mac est sur batterie (nomade) : par exemple, sur batterie = hibernatemode 25 et sur secteur = hibernatemode 0 ou 3.

Pour connaître exactement l'état des réglages d'économie d'énergie du Mac, il faut passer par le «Terminal» (at: Applications/Utilitaires) et invoquer l'exécutable UNIX pmset (power_management settings : paramètres de gestion d'énergie). Pour obtenir l'affichage générique des réglages en cours, saisir la commande :

Bloc de code:
pmset -g
et ↩︎ (presse la touche "Entrée" du clavier pour activer la commande). Au cas où il y aurait des paramétrages divergents selon les situations : sur batterie / sur secteur, alors un affichage différentiel de ces réglages s'obtient par la commande :

Bloc de code:
pmset -g custom

Tu peux passer ces 2 commandes dans le «Terminal» de ton MacBook et faire des copier-coller des tableaux obtenus dans ce fil, si tu veux que je t'en fasse des commentaires.

Le fichier-Système .plist qui recueille ces réglages et que le Système prend en compte (at: /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist) se manipule de façon assez sommaire, en mode graphique, at: Menu /Préférences Système/Économiseur d'énergie ; mais, pour opérer l'écriture de réglages fins à ce fichier, il vaut mieux passer par le «Terminal» et la commande pmset encore (qui requiert, non plus seulement pour obtenir des informations mais inscrire des préférences, d'être préfixée de sudo pour opérer en droits root + une syntaxe ad-hoc de mention des options).

Je te renvoie à ce fil récent auquel j'ai participé : ☞Configurer veille Macbook (pmset)☜ si tu veux te faire une idée de la syntaxe des commandes qui écrivent ces préférences.

--------------------
 
Dernière édition par un modérateur:
Macomaniac, j'ai été absent une semaine, raison pour laquelle je n'ai pas répondu. Tes explications sont parfaitement claire, je vais voir ça en détail demain.
Tu es un vrai puis de science macintoshienne :rolleyes::)
 
Ça y est, je suis allé sur le mac de ma femme et voilà ce qu'il me dit :
Bloc de code:
Last login: Wed Dec 30 14:23:00 on console
ibooknicole-2:~ Nicole D$ pmset -g
Active Profiles:
AC Power        -1*
Battery Power        -1
Currently in use:
womp        0
sms        1
hibernatefile    /var/vm/sleepimage
ttyskeepawake    1
acwake        0
sleep        60
autorestart    0
halfdim    1
hibernatemode    3
disksleep    180
displaysleep    25
lidwake    1
ibooknicole-2:~ Nicole D$ pmset -g custom
AC Power:
womp        0
sms        1
hibernatefile    /var/vm/sleepimage
ttyskeepawake    1
acwake        0
sleep        60
autorestart    0
halfdim    1
hibernatemode    3
disksleep    180
displaysleep    25
lidwake    1
Battery Power:
sms        1
hibernatefile    /var/vm/sleepimage
ttyskeepawake    1
acwake        0
sleep        20
halfdim    1
hibernatemode    3
disksleep    10
displaysleep    10
lidwake    1
lessbright    1
ibooknicole-2:~ Nicole D$
qu'en penses-tu ?
 
Salut Jacques.

L'hibernatemode est réglé sur 3 = "Safe Sleep" dans tous les cas de figure : au rabat du couvercle, les contenus de la RAM sont écrits à la sleepimage du disque ('okazou') mais la RAM est maintenue activée pendant le sommeil-Système => au relèvement du couvercle du Mac, le Bureau de session est immédiatement ré-affiché.

Les valeurs pour la mise en sommeil spontanée sont :

- a) sur secteur : sleep 60 (sommeil-Système au bout de 60' d'inactivité graphique) ; diskplaysleep 25 (extinction de l'écran au bout de 25' d'inactivité - "display" = écran) ; disksleep 180 (décélération de la rotation du disque à plateaux au bout de 3H d'inactivité)

=> raisonnable pour un usage de bureau.


- b) sur batterie : sleep 20 ; displaysleep 10 ; disksleep 10

=> à mon avis, des valeurs un peu trop élevées pour un usage nomade où il convient d'économiser la charge de la batterie (sleep 10, displaysleep 5 et disksleep 10 seraient plus réalistes, par exemple). C'est sur batterie qu'un hibernatemode 25 serait également avantageux, car la RAM est désactivée pendant le sommeil, ce qui économise de la batterie.​

--------------------​

La syntaxe des commandes pour régler plus finement les choses dans le «Terminal» (que dans le panneau Économiseur d'énergie des Préférences Système) est du type :

Bloc de code:
sudo pmset -b sleep 10 displaysleep 5 disksleep 10 hibernatemode 25
(pmset est l'exécutable power_management_utility ; sudo de rigueur pour exécuter la commande en droits root ; -b = l'option sur batterie, suivie de ses paramètres => sleep 10 = le sommeil système avec une valeur de délai de 10' ; displaysleep 5 = l'obscurcissement de l'écran avec une valeur de délai de 5' ; disksleep 10 = décélération de la rotation du disque avec une valeur de délai de 10' ; hibernatemode 25 = choix de type de mise en sommeil => sauvegarde à la sleepimage / sommeil avec RAM désactivée / réaffichage du bureau au réveil à partir de la sleepimage). Il suffit de varier les valeurs numériques en regard de chaque paramètre ; il est possible d'en shunter, et de ne commander que :

Bloc de code:
sudo pmset -b displaysleep 8
(8' de délai avant obscurcissement de l'écran). Pour les réglages sur secteur, par exemple :

Bloc de code:
sudo pmset -c sleep 20 displaysleep 10 disksleep 10 hibernatemode 3
(où l'option -c comme "charger" introduit les paramètres affectés à l'alimentation sur secteur). Pour passer des réglages universels (quelle que soit la condition d'alimentation) :

Bloc de code:
sudo pmset -a sleep 10 displaysleep 5 disksleep 10
(où l'option -a vaut pour "all"). L'ordre des paramètres est indifférent (tu peux renseigner le paramètre sleep en dernier si tu veux), mais il faut chaque fois écrire un binôme [PARAMÈTRE] [TEMPS] avec un espace intercalaire. Il est possible de faire dans le kilométrique, exemple :

Bloc de code:
sudo pmset -a disksleep 10 -b displaysleep 5 sleep 10 hibernatemode 25 -c displaysleep 10 sleep 20 hibernatemode 3
=> tu vois le genre de combinatoire possible ?

--------------------​

NB. Lorsqu'une commande est préfixée de sudo, presser la touche "Entrée" du clavier pour activer la commande fait s'afficher une demande de password => taper le mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et presser de nouveau la touche "Entrée". Dans un délai de 5' après une 1ère authentification sudo, pas besoin de ressaisir de mot-de-passe pour d'autres commande sudo.

La commande informative pmset -g ne renvoie que les valeurs des paramètres en rapport avec le type d'alimentation actif (par exemple, dans ton copier-coller la Mac était sur secteur, les valeurs des paramètres correspondant à la source : AC Power). C'est la commande pmset -g custom qui affiche le tableau pour tous les types d'alimentation. Après avoir bidouillé en passant quelque commandes de réglages, ça permet de vérifier si on a bien fait les choses ou pas, et de rectifier si nécessaire.

Les commandes pmset dans le «Terminal» comme les actions graphiques dans le panneau de l'Éconmiseur d'énergie manipulent le fichier de préférences suivant : /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist => si tu vas y jeter un œil, tu comprendras que la syntaxe des clés <key></key> qui encadrent le nom d'un paramètre, suivies des chaînes <string></string> qui encadrent une valeur affectée aux paramètres, est assez délicate et qu'il serait très vite fait de foirer les choses, ce qui est toujours problématique pour un fichier de préférences-Système. Mieux vaut donc passer par le mode "presse-bouton" ou par un exécutable "éditeur de plist", au moins la syntaxe sera toujours impeccable en sortie, même si les valeurs des chaînes peuvent être assez fantaisistes...

--------------------​
 
Dernière édition par un modérateur:
Salut Macomaniac
L'hibernatemode est réglé sur 3 = "Safe Sleep" dans tous les cas de figure : au rabat du couvercle, les contenus de la RAM sont écrits à la sleepimage du disque ('okazou') mais la RAM est maintenue activée pendant le sommeil-Système => au relèvement du couvercle du Mac, le Bureau de session est immédiatement ré-affiché.

Les valeurs pour la mise en sommeil spontanée sont :

- a) sur secteur : sleep 60 (sommeil-Système au bout de 60' d'inactivité graphique) ; diskplaysleep 25 (extinction de l'écran au bout de 25' d'inactivité - "display" = écran) ; disksleep 180 (décélération de la rotation du disque à plateaux au bout de 3H d'inactivité)

=> raisonnable pour un usage de bureau.
:):):) donc tout va bien et le bureau de session se ré-affiche dès que je relève le couvercle ? Le fait qu'il faille appuyer sur le bouton "power" pour supprimer l'écran noir, que le résultat est un écran bleu remplacé par l'écran normal recouvert d'un voile blanc pendant qu'une barre de progression chemine dans le bas de l'écran n'est qu'une illusion venue de la 9e dimension ? :D celle où règne Cthulhu ? ;)

Plus sérieusement, je serais tenté de penser que mon paramétrage pmset semble correct pour l'utilisation du Mac en sédentaire nucléaire et que le souci n'est pas lié directement à ce paramétrage. D'autant que, et je me cite :
Au fil des jours tous les symptômes ont disparu et les choses sont redevenues comme avant, on rabat l'écran, le mac se met en veille on rouvre l'écran et il sort de veille, sans étape intermédiaire, ni écran noir, ni appui sur "on", rien de rien.
Je vais marquer "résolu", mais je ne sais pas pourquoi, à moins que apple ait prévu un système d'auto-réparation :D, je ne sais pas ce qui s'est passé :cyclops:
C'était vrai avant que nous ne partions pour une semaine, mais les symptômes sont réapparus quand il a été remis en route :bored: Bref, il nous a fait une rechute :cool:
 
Si tu utilises ce portable constamment en mode Bureau (alimenté sur secteur), exactement comme je fais pour mes MacBook Pro qui ne sont jamais sur batterie, mais toujours sur secteur, alors tu peux régler l'hibernatemode à la valeur 0 : il s'agit du "Simple Sleep", ou sommeil classique des anciens Macs => au rabat du couvercle (ou atteint le délai pour le sleep), alors les contenus de la RAM ne sont pas écrits à la sleepimage, mais la RAM est maintenue activée avec ses contenus pendant le sommeil-Système. Sans problème, puisque le Mac n'est pas sur batterie, mais sur secteur. Au relèvement du couvercle, hop ! le Bureau se réaffiche immédiatement à partir des contenus de la RAM.

Cet hibernatemode n'est choisissable qu'en ligne de commande. Tu peux tester ce mode en passant la commande spécifique à l'alimentation sur secteur :

Bloc de code:
sudo pmset -c hibernatemode 0
mais si tu n'utilises jamais ton Mac sur batterie, alors tu peux passer la commande avec l'option "all" :

Bloc de code:
sudo pmset -a hibernatemode 0

Le fichier sleepimage est situé at: /private/var/vm/sleepimage. Sa taille est en gros celle de la RAM (!). Personnellement, je l'ai remplacé par un fichier vide de 0 Ko, verrouillé, comme ça je gagne de l'espace-disque. Seule une ré-installation du Système recrée le fichier sleepimage équivalant à la taille de la RAM.

Si, en hibernatemode 0 (manip non pertinente dans les autres modes qui impliquent une écriture à la sleepimage lors de la mise en sommeil-Système) tu voulais te débarrasser de ce fichier volumineux et le remplacer par un "decoy" (un leurre vide du même nom), alors tu peux passer les commandes :

Bloc de code:
sudo rm /private/var/vm/sleepimage
pour supprimer l'actuelle sleepimage, puis :

Bloc de code:
sudo touch /private/var/vm/sleepimage
pour recréer un fichier vide du même nom au même emplacement. Puis :

Bloc de code:
sudo chflags uchg /private/var/vm/sleepimage
pour le verrouiller par le flag uchg (un_change) d'immutabilité.

NB. Pour retourner à l'hibernatemode 3 = "Safe Sleep", alors passer la commande :

Bloc de code:
sudo pmset -a hibernatemode 3
suivie de la commande :

Bloc de code:
sudo chflags nouchg /private/var/vm/sleepimage
pour déverrouiller le leurre vide => à la prochaine mise-en-sommeil, il pourra y avoir écriture préalable à la sleepimage comme impliqué par le "Safe Sleep".

[J'espère pour toi que ton problème ne dérive pas d'une défaillance matérielle. Car, si l'hibernatemode est bien sur la valeur 3 actuellement (comme la commande pmset -g custom l'a montré), il n'y a aucune raison logicielle pour que le relèvement du capot engage une procédure de réveil de type hibernatemode 25 (écran noir --> presser le bouton "Power" --> affichage voilé du Bureau avec barre de progression indiquant le rechargement de la RAM à partir de la sleepimage), puisque la RAM est demeurée chargée en principe et qu'elle devrait restituer illico l'affichage du Bureau.]
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Jacques L
Merci Macomaniac, je vais tester le hibernatmode = 0 j'espère aussi échapper à une défaillance matérielle, mais qui sait en 2016 il ne nous fera peut-être plus de caprice :D
Bonne année à tous :happy: