Résolu le 15-11-18 Réalisation d'un script bash pour afficher une température en graphique

Postez ici vos scripts Bash, Python, etc.
Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par tioker »

Dernier message de la page précédente :

Bonjour, Si jamais je pouvais aider...

J'ai trouvé ce post et je me suis amusé dessus avec un petit script qui affiche une valeur si elle dépasse un max.
Ça marchait ... sauf que la commande zenity ne semble pas interruptive, c'est à dire que si le script n'est pas dans la fenêtre active, pas de notification. Semble-t-il ...

Donc j'ai cherché sur le net et j'ai trouvé ce post (en anglais) qui pose le même problème et cette solution (en français) qui donne le détail de la commande à passer. En deux mots on utilise la commande notify-send pour envoyer ... une notification.

Dans le petit script qui suit je teste toutes les 10 secondes si on est dans la dernière dizaine de secondes d'une minute; si oui je notifie.

Bien tester les options de la commande car j'ai pu constater qu'avec certaines options (critical) d'autres marchaient différemment (timeout). A tester à la main dans un terminal.

Résultat
Image

Voilà. Si ça peut aider...

Code : Tout sélectionner

#!/bin/bash
#
while [ 1 ]
do
	seconde=$(date +%S)
	if  [[ $seconde -gt 50 ]] ;	then notify-send -t 3000 "Plus que $((60-$seconde)) secondes" ; fi
	sleep 10
done
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par arghlub »

Salut tioker ;)
tioker a écrit :Ça marchait ... sauf que la commande zenity ne semble pas interruptive, c'est à dire que si le script n'est pas dans la fenêtre active, pas de notification. Semble-t-il
Je suis pas sûr d'avoir bien compris...

Car quand je lance un script avec une notification toutes les 3 secondes par exemple et que je change de fenêtre active, les notifs ne s'arrêtent pas !
Et heureusement, car sinon je vois pas l'intérêt des notifs de zenity.
En image :
Image

Même si on change de bureau virtuel, la notif apparaît sur les autre bureaux (desquels le script n'a pas été lancé).

Donc je sais pas si j'ai bien compris :?

Ceci dit, notify-send est nickel pour faire des notifs c'est un outil classique mais qui rempli parfaitement sa fonction. ;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par tioker »

arghlub a écrit :Salut tioker ;)
Je suis pas sûr d'avoir bien compris...
Si si tu as bien compris. Mais je m'en vais faire des tests complémentaires.
Ce que j'avais remarqué: une fenêtre terminal dans laquelle je lançais mon script avec Zenity. Si c'était la fenêtre active, ça fonctionnait; sinon pas d'alerte. Bien sûr la commande notify-send fonctionnait.

Je suis sous Cinnamon.

En fait, j'ai quelques minutes; j'ai fait mon test. Si la fenêtre active ne remplit pas tout l'écran, l'information Zenity apparaît. Pour moi c'est en plein milieu (paramétrable?). Mais si la fenêtre active prend tout l'écran, ça masque la notification Zenity. De plus, Zenity est synchrone, c'est à dire que la procédure reprend une fois que le timeout est atteint ou qu'on a valider la notification. C'est pas bien grave mais si tu as un timeout de 5 secondes et un sleep de 10 secondes, ton test passera toutes les 15 secondes. C'est pas le cas avec notify-send (asynchrone).

Voici mon code de test (j'ai accéléré les affichages parque que dehors il fait trop beau ... je retourne dans mon jardin. :mrgreen:

Code : Tout sélectionner

#!/bin/bash
#
while [ 1 ]
do
	seconde=$(date +%S)
	if  [[ $seconde -gt 0 ]]
	then 
		notify-send -t 3000 "Plus que $((60-$seconde)) secondes"
		zenity --info --title="Il ne reste " --width=100 --timeout=3 --text="Plus que $((60-$seconde)) secondes"
	fi
	sleep 10
done
Mon résultat

Image

Voilà. Toutes les solutions paraissent bonnes à prendre. A Alain de tester et de dire ...

Bonne journée !
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
tioker
Messages : 980
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par tioker »

Ah oui, j'oubliais. Il y a aussi les vrais logiciels de supervision, genre Nagios. Mais c'est peut-être un peu lourd....
Image
HP Victus 16: Mint 21.3 Cinnamon 6,0,4 + Windows 11 - Ryzen 5 5600H - NVIDIA GeForce GTX 1650 - Mem 16Go - SSD 512Go
pCloud Synchronisation en temps réel des 4 dossiers personnels

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par arghlub »

Bon pour les notifs, je répondais surtout à toi, car cela ne semble pas intéresser Alain (je l'ai su en conversation privée).

Cependant, KDE4 + notify-send marche très bien à mon goût (je viens de tester en VM).

On va attendre le retour d'Alain (je sais qu'il ne bosse pas cette nuit donc il va enfin pouvoir tester nos "délires") ;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Avatar du membre
alain
Administrateur du site
Messages : 14701
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par alain »

Bonjour Tioker et Arghlub, Cyrille.

Je n'ai pas encore essayé les scripts proposés, promis je fais ça dans la nuit. ;)

@Tioker les logiciels de supervision sont parfait pour surveiller un pc ou un parc, mais comme pour les applets ou gkrellm il faut que le capteur soit
reconnu par lmsensors (sensors-detect) ou carrément d'origine suite a l'installation d'un pilote (ex Nvidia) mon soucis au départ c'est justement que ce capteur n'est pas reconnu, alors le logiciel de supervision ne le verra pas plus... Merci pour "notify-send" je ne connaissais pas, sur que ça pourra me servir pour une autre application.

@Tous. Je ne suis pas chaud pour avoir une notification ou une fenêtre qui s'ouvre et se ferme toutes les 10 s. Mon souhait c'est d'avoir une fenêtre fixe avec la valeur
qui change à l'intérieur toutes les x secondes...

merci pour vos propositions ;)
PC are like air conditioning, they becomes useless when you open Windows (L.T)
PC1 : CM : ASRock 990FX | CPU: AMD FX 8350-8 cores, 4 GHz | RAM: 16 Go DDR3 1600 MHz | CG: ATI RX 580-8 Go | OS : LM 20.3 Uma Xfce 4.16 | K: 5.4
PC2
:Core2 Quad Q9650 @ 3 GHz | CG: Nvidia GTX 650TI | OS: LM 21.3 Xfce 4.18| K: 6.5
PC3 :Core i7-2600 @ 3,5 GHz | CG: ATI HD 4650 | OS: Emmade5 Xfce 4.18.0 | K: 6.1
PC4 : AMD Ryzen 5 3500X 4GHz | CG: GTX 970 | Ram : 8GB |OS : Debian 10.5 | K: 5.10
In a world without walls and fences, who needs windows and gates?

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par cyrille »

@Tous. Je ne suis pas chaud pour avoir une notification ou une fenêtre qui s'ouvre et se ferme toutes les 10 s. Mon souhait c'est d'avoir une fenêtre fixe avec la valeur
qui change à l'intérieur toutes les x secondes...
Analyse comment conky fait cela, tu auras la réponse ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par arghlub »

@cyrille : d'après ce que j'ai compris il faut que le process' qui affiche cette température soit le plus léger possible pour laisser la part belle à d'autre process' (Boinc)
... donc un conky juste pour ça .... mouais un chouia lourdingue .... ;)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par cyrille »

Non juste regarder dans conky comment ils font pour actualiser les variables... Et s'en inspirer au cas où ...
ENsuite sûr que niveaux ressources....
Le fait d'ouvrir plein de fenetre via zenithy ne sera pas forcement moins lourd ;)
Je dis juste qu'il faut tester et garder le plus light...
Conky affiche plein de variable ce qui le rend gourmand, si on n'en prend qu'une... peut être que ce sera mieux ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par cyrille »

sinon il y a lm-sensors pour controler le fan :)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: comment automatiser un retour de commande dans une fenêtre zenity?

Message par arghlub »

;) Cyrille

Mais y'a qu'Alain qui pourra tester tout ça sur sa bécane et selon ses goûts en KDE4 ...
.........
Au travail l'ami Alain ! :ugeek: :)
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Verrouillé