Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/06/2006, à 09:24

Splitsch

explication de script

Bonjour!
Voici mon sleep.sh

#!/bin/bash

/bin/sync

/sbin/rmmod uhci-hcd
/sbin/rmmod ehci-hcd

/usr/bin/chvt 1

cat /proc/bus/pci/00/02.0 > /var/cache/video.config

echo -n mem > /sys/power/state

cat /var/cache/video.config > /proc/bus/pci/00/02.0

rm -rf /var/cache/video.config

/usr/bin/chvt 7

/sbin/modprobe uhci-hcd
/sbin/modprobe ehci-hcd

Pourriez vous me dire ce qu'il fait?

Car en voici un autre:

# change to console 1
  FGCONSOLE=`fgconsole`
  chvt 6

  # safe video state
  cat /proc/bus/pci/00/02.0 > /tmp/video_state

  # sync filesystem
  sync

  # sync hardware clock with system time
  hwclock --systohc

  # go to sleep
  echo -n 3 > /proc/acpi/sleep

  # waking up
  # restore system clock
  hwclock --hctosys

  # restore video state
  cat /tmp/video_state > /proc/bus/pci/00/02.0

  # change back to X
  chvt $FGCONSOLE

  # clean up behind us
  rm /tmp/video_state

Il sont similaires, quoique...
Don, j'aimerais prendre le meilleur des deux, car, quand je resume mon pc (thinkpad r50e), parfois, mais aps tout le temps, ca foire: tout s'affiche, mais les icone sont entourées de noir et quand je descend (avec l'ascensseur) dans n'importe quelle application, les lettre "se mangent", c'est à dire qu'elle se superposent...
Voila, donc, j'aimerais comprend le script, pour l'adapter, le fusionner pour plus que le problème arrive smile

Merci!

Splitsch

Edit: voici des capture d'écran:
http://img159.imageshack.us/img159/8617/capture20bd.png
http://img214.imageshack.us/img214/5361/capture38xy.png

Dernière modification par Splitsch (Le 03/06/2006, à 11:52)

Hors ligne

#2 Le 09/06/2006, à 23:51

snapshot

Re : explication de script

A priori, il semble que ce script mette l'ordinateur en hibernation. Il est spécifique à une machine dont la carte vidéo est situé sur PCI/00/02.0, (sur la mienne, la carte est sur PCI/05/00.0).

Je ne sais pas où tu a trouvé ce script, mais il me parait douteux !

Voilà comment je comprend ce script :

/bin/sync

Enregistrer sur le disque les données non écrites (encore dans le cache).

/sbin/rmmod uhci-hcd
/sbin/rmmod ehci-hcd

Décharger les modules de gestion USB, ce qui est supposé avoir pour effet de désactiver tous les périphériques USB avant la mise en hibernation. Je ne suis pas sur que cela fonction car la commande rmmod ne gère pas les dépendances : si un uhci est utilisé par un autre module (et c'est toujours le cas), le kernel refusera de le décharger. Il vaudrait mieux utiliser la commande "modprobre -r" qui fait la même chose sur les modules spécifiés ainsi que les modules dépendants en cascade).

/usr/bin/chvt 1

Passer sur l'écran virtuel en mode texte N°1 (correspond à un ctrl-alt-F1). Je pense que cette commande est supposée désactiver l'écran graphique... mais sur Ubuntu Dapper, elle ne marche qu'en mode texte, elle ne désactive rien du tout

cat /proc/bus/pci/00/02.0 > /var/cache/video.config

Sauvegarde de la configuration de la carte vidéo située en PCI/00/02.0 dans le fichier /var/cache/video.config.
Cela marche bien... à condition que la carte vidéo soit bien placée à cet endroit là !
Pour le savoir :

lspci | grep VGA

Chez moi, j'obtiens "0000:05:00.0", ce qui correspond à /proc/bus/pci/05/00.0

echo -n mem > /sys/power/state

Demander au kernel de copier la RAM utilisée sur le disque, et de couper l'alimentation.
A partir de ce point, on hiberne !

cat /var/cache/video.config > /proc/bus/pci/00/02.0

Si on arrive ici, c'est que bouton d'alim a été pressé, et que l'on vient de sortir d'hibernation.
La première chose que l'on fait, c'est restaurer la configuration de la carte vidéo...

rm -rf /var/cache/video.config

On fait le ménage... les options -rf sont non seulement superflues, mais elles sont en plus dangereuses car elles effectuent une suppression recursive sans confirmation !

/usr/bin/chvt 7

On repasse en mode graphique, sur la console 7... de toute façon, on ne l'avait jamais quitté smile

/sbin/modprobe uhci-hcd
/sbin/modprobe ehci-hcd

on recharge les modules USB qu'on n'avait jamais déchargé smile

L'autre script est similaire, mais effectue en plus une sauvegarde de l'heure système dans l'heure "bios" (option système to hardware clock -> systohc)

Mais pourquoi se casser la tête à écrire un script pour mettre en hibernation l'ordinateur ? Il suffit de cliquer sur "hiberner" quand on fait Système/Quitter ! smile
S'il faut vraiment une commande à taper, voir "pmi" avec les arguments "action hibernate" :

pmi action hibernate

Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#3 Le 10/06/2006, à 08:04

Splitsch

Re : explication de script

Salut!
Merci pour l'explication smile
En fait, j'ai un Thinkpad r50e, et le sleep ne fonctionne pas du tout!
Du coup, j'ai été voir su rle forum anglais pour voir ce qu'ils deisaient, et aussi ici:
http://www.thinkwiki.org/wiki/Installing_Ubuntu_on_a_ThinkPad_R50e#Standby.2C_Sleep_and_Hibernation
Maintenant, avec la modification effectuée ici, ca marche sans problème. (en plus de rajouter un parametre dans la section [device] de Xorg: vbe_restore true

Merci

Aplus!

Hors ligne