Pages : 1
#1 Le 03/06/2006, à 08: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
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, à 10:52)
Hors ligne
#2 Le 09/06/2006, à 22: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é
/sbin/modprobe uhci-hcd
/sbin/modprobe ehci-hcd
on recharge les modules USB qu'on n'avait jamais déchargé
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 !
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, à 07:04
- Splitsch
Re : explication de script
Salut!
Merci pour l'explication
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
Pages : 1