#1 Le 03/05/2012, à 11:10
- Guinioul
écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Bonjour bonjour ,
Est ce que quelqu'un saurait me filer un petit coup de main pour coder un tout petit script ?
En fait j'ai juste besoin d’exécuter :
/sbin/modprobe -r psmouse
suivi de
/sbin/modprobe psmouse
(ce qui permet de décharger du noyau le module "psmouse", puis de le recharger)
Ce script sera placé dans le dossier
/etc/apm/resume.d/
qui contient les scripts exécutés par la machine au réveil .
Ce dossier contiens déjà un script qui concerne l'audio dénommé "alsa20" :
#!/bin/sh
#
# apmd proxy script for ALSA
[ -x /sbin/alsactl ] || exit 0
case "$1,$2" in
suspend,*) /sbin/alsactl store && /sbin/alsa suspend ;;
resume,suspend) /sbin/alsa resume && /sbin/alsactl restore ;;
esac
mais je ne sais pas de quelle manière m'en inspirer pour l'adapter à mon problème de touchpad :-/
[Edit] titre modifié car il n'était pas très explicite [/Edit]
Dernière modification par Guinioul (Le 03/05/2012, à 13:25)
Hors ligne
#2 Le 05/05/2012, à 18:41
- biotechman
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Bonjour,
tu veux "juste" exécuter ces 2 commandes à la suite ou faire des contrôles diverses (modules chargés, ...)? Le script acceptera des arguments ?
Sinon je propose un simple
#!/bin/bash
/sbin/modprobe -r psmouse && /sbin/modprobe psmouse || exit 0
exit 1
et bien sur faire attention que ce soit root le proprio et avoir les bons droits d'accès...
Dernière modification par biotechman (Le 05/05/2012, à 18:45)
May the source be with you
http://biotechman.com/wordpress
Hors ligne
#3 Le 08/05/2012, à 17:05
- Guinioul
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Bonjour,
tu veux "juste" exécuter ces 2 commandes à la suite ?
Bonjour et un grand merci pour ta réponse,
Je confirme que j'ai juste besoin de ces 2 commandes :-) . Pas de contrôles en plus ni rien .
Elles permettent de décharger puis recharger le module "psmouse" du noyau à chaque sortie de veille sans quoi le touchpad n'est plus fonctionnel (pour l'instant je le fais à la mano mais la machine est celle de ma compagne qui n'est pas du tout adepte de la ligne de commande et aimerai donc un truc qui le fait automatiquement ^_^ ) .
et bien sur faire attention que ce soit root le proprio et avoir les bons droits d'accès...
ça je pense que je saurai faire, n'hésite pas à me corriger si ça n'est pas bon :
1 - je crée le fichier
gksudo gedit /etc/apm/resume.d/touchpad
2 - je rempli le script avec ce que tu m'as donné
3 - je change les droits avec
chmod 774 /etc/apm/resume.d/touchpad
J'ai bon ?
Hors ligne
#4 Le 15/05/2012, à 12:39
- Guinioul
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
bon, du coup
J'ai crée le script (donné par biotechman) dans "/etc/apm/script.d" et il s'appelle "touchpad" j'ai ensuite crée un lien que j'ai déposé dans "/etc/apm.resume.d" (comme l'autre script "alsa20" présent dans ce dossier) .
Par contre ça ne fonctionne pas Le touchpad merdoie encore en sortie de veille et je suis obligé d'execéuter les commandes à la mano
Y'a t'il moyen de voir si le script s’exécute bien à la sortie de veille ? (y'a un log pour ça ?)
histoire de voir si le soucis vient du script en lui meme ou d'une non-execution de celui ci .
Encore merci
Hors ligne
#5 Le 07/06/2012, à 15:13
- Guinioul
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
petit up ^_^
personne ne sait comment je peux vérifier que le script s’exécute bien ?
Dans quel log je peux voir ça ?
Encore merci .
Hors ligne
#6 Le 07/06/2012, à 15:31
- ljere
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
tu peux essayer ça plutôt
#!/bin/bash
/sbin/modprobe -r psmouse
sleep 5
/sbin/modprobe psmouse
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#7 Le 07/06/2012, à 15:32
- Postmortem
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Salut,
Rajoute dans ton script, juste après #!/bin/bash :
exec > /tmp/log_de_monscript.log 2>&1
echo "Lancement du script le $(date '+%d/%m/%Y a %H:%M')"
...
Si le script s'exécute, tu auras le log dans /tmp
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#8 Le 14/08/2014, à 11:24
- Gaara
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Bonjour,
Je remonte le fil car j'ai un problème similaire en sortie de veille. Mais il s'agit de l'affichage.
J'ai trouvé une commande qui permet de résoudre ça, en utilisant xrandr: ça reconnecte le second écran.
Pour le moment j'ai un icone sur le bureau (bien placé, car l'affichage bug vraiment, sur lequel je clique pour réinitialiser l'affichage) qui fonctionne.
J'ai mis ce script (nommé ecran_on) dans /etc/apm/resume.d/, et fait le sudo chmod 774:
#! /bin/bash
exec >/home/gaara/.log/sortie_veille.log 2>&1
echo "Lancement du script le $(date '+%d/%m/%Y a %H:%M')"
xrandr --output DVI-D-0 --off
sleep 1
xrandr --auto --output DVI-D-0 --mode 1440x900 --right-of HDMI-0
Mais le log n'est pas créé, donc le script ne se lance pas.
Peut-être le nom du script n'est pas bon ? ou alors, faut-il modifier un autre fichier pour qu'il s'exécute ?
Dernière modification par Gaara (Le 14/08/2014, à 11:57)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#9 Le 14/08/2014, à 11:44
- ljere
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
perso j'aurai plutôt fais comme cela
#! /bin/bash
(echo "Lancement du script le $(date '+%d/%m/%Y a %H:%M')"
xrandr --output DVI-D-0 --off
sleep 1
xrandr --output DVI-D-0 --on) 2>&1 | tee -a /home/gaara/.log/sortie_veille.log
2>&1 | tee -a /home/gaara/.log/sortie_veille.log peut être remplacé par 2>&1 >> /home/gaara/.log/sortie_veille.log
tous ce qui sera entre les parenthèses sera pris en compte dans le log
je n'ai pas pris en compte ta modif
Dernière modification par ljere (Le 14/08/2014, à 11:49)
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#10 Le 14/08/2014, à 11:49
- Gaara
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Merci de ta réponse, j'ai édité mon script car il était pas bon... Cependant il ne se lance toujours pas en sortie de veille
Mais je vais essayer ceci, avec la correction que tu m'a apporté:
#! /bin/bash
(echo "Lancement du script le $(date '+%d/%m/%Y a %H:%M')"
xrandr --output DVI-D-0 --off
sleep 1
xrandr --auto --output DVI-D-0 --mode 1440x900 --right-of HDMI-0) 2>&1 | tee -a /home/gaara/.log/sortie_veille.log
Dernière modification par Gaara (Le 14/08/2014, à 11:58)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#11 Le 14/08/2014, à 12:06
- Gaara
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
Ben c'est pareil, le script ne se lance pas, et pas de log créé non plus...
Mais la version avec l'icone fonctionne à 100% cette fois-ci !
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#12 Le 14/08/2014, à 12:38
- Gaara
Re : écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )
J'avance un peu...
J'ai trouvé cette réponse qui utilise pm-utils.
Donc installer le paquet pm-utils, puis placer le fichier nommé 999ecran_on dans /usr/lib/pm-utils/sleep.d
#! /bin/bash
case "$1" in
resume)
(echo "Lancement du script le $(date '+%d/%m/%Y a %H:%M')"
xrandr --output DVI-D-0 --off
sleep 1
xrandr --auto --output DVI-D-0 --mode 1440x900 --right-of HDMI-0) 2>&1 | tee -a /home/gaara/.log/sortie_veille_auto.log
esac
Le script s'exécute bien, mais j'ai ce retour dans le log:
Lancement du script le 14/08/2014 a 12:30
Can't open display
Can't open display
Edit: je pense que ça doit un pb de variable d'environnement... (solution ici)
Dernière modification par Gaara (Le 15/08/2014, à 14:23)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne