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/05/2012, à 11:10

Guinioul

écrire un script de deux commandes ? (pour /etc/apm/resume.d/ )

Bonjour bonjour big_smile,

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/ )

biotechman a écrit :

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 ^_^ ) .

biotechman a écrit :

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 ? big_smile

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 lol

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 sad Le touchpad merdoie encore en sortie de veille et je suis obligé d'execéuter les commandes à la mano hmm

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 smile

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 sad
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