Résolu le 1-03-22 [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Postez ici vos scripts Bash, Python, etc.
Répondre
Avatar du membre
Mad Mint
Messages : 165
Enregistré le : mar. 6 juil. 2021 04:01
Localisation : Colmar , Haut-Rhin , Alsace

[Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par Mad Mint »

Bonjour,

Récemment, je cherchais un script qui affiche un compte à rebours et je suis tombé sur ce script qui fonctionne parfaitement en Terminal .

Code : Tout sélectionner

#!/bin/bash
# codé par sputnick

main() {
    maDateButoirEnSecondes=$(date -d "2022-12-31" +%s)
    maDateNowEnSecondes=$(date +%s)
    Secondes=$((maDateButoirEnSecondes - maDateNowEnSecondes))

    printf "\r$((Secondes/(3600*24))) jours, $(( (Secondes/3600)%24 )) hours, $(( (Secondes/60)%60 )) minutes, $((Secondes%60 )) secondes."
}

while true; do main; sleep 1; done
Question : Comment afficher le résultat de ce script sur Conky ?

J'ai beau essayé, je n'arrive pas à afficher le résultat sur Conky sachant que le script est bien exécuter en Terminal et que j'ai bien données les permission d’exécutions.

Voilà si une personne aimable et connaisseur veut bien m'aider, cela pourrais m'avancer dans la compréhension de Conky .
UC-02 | LM : 21.3 Virginia | DESKTOP : Cinnamon 6.0.4 | KERNEL : 5.15.0-91-generic x86_64 | CPU : Intel Core i5-10400 @ 2.90 Ghz | RAM : 16 Go DDR4 | UGI : Mesa UHD Graphics 630 | CM : Gigabyte H410M S2H V2 | SSD : Crucial CT500P3SSD8 NVMe 500Go (OS) | Crucial CT500MX500SSD1 500Go(Données) | Verbatim Vi550 S3 128Go (Administration) | Samsung 870 QVO 2To (Multimédia)


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

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par cyrille »

Yep tu parles de quelle version de conky ? Les 2 dispos différents considérablement au niveau configuration
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Mad Mint
Messages : 165
Enregistré le : mar. 6 juil. 2021 04:01
Localisation : Colmar , Haut-Rhin , Alsace

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par Mad Mint »

Voici la version de conky :
conky 1.10.8

j'utilise Conky Manager via dépôt de tomtomtom : https://launchpad.net/~tomtomtom/+archi ... ky-manager
UC-02 | LM : 21.3 Virginia | DESKTOP : Cinnamon 6.0.4 | KERNEL : 5.15.0-91-generic x86_64 | CPU : Intel Core i5-10400 @ 2.90 Ghz | RAM : 16 Go DDR4 | UGI : Mesa UHD Graphics 630 | CM : Gigabyte H410M S2H V2 | SSD : Crucial CT500P3SSD8 NVMe 500Go (OS) | Crucial CT500MX500SSD1 500Go(Données) | Verbatim Vi550 S3 128Go (Administration) | Samsung 870 QVO 2To (Multimédia)


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

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par cyrille »

Bon faut modifier ton script pour rediriger la sortie standard dans un buffer

Donc voici la nouvelle version , fais à l'arrache (faudrait ajouter la gestion de l'erreur). Donc pour ton compteur

Code : Tout sélectionner

#!/bin/bash
# codé par sputnick

main() {
    maDateButoirEnSecondes=$(date -d "2022-12-31" +%s)
    maDateNowEnSecondes=$(date +%s)
    Secondes=$((maDateButoirEnSecondes - maDateNowEnSecondes))

    echo "\r$((Secondes/(3600*24))) jours, $(( (Secondes/3600)%24 )) hours, $(( (Secondes/60)%60 )) minutes, $((Secondes%60 )) secondes." > /tmp/buffer
}

while true; do main; sleep 1; done
ça va te créer un fichier /tmp/buffer que tu va lire régulièrement via cette commande conky à insérer dans ton conkyrc

Code : Tout sélectionner

${execpi 6 cat /tmp/buffer}

Exemple d'un conky

Code : Tout sélectionner

conky.config = {
  alignment = 'top_right',
  default_graph_height = 30,
  default_color = 'white',
  double_buffer = true,
  use_xft = true,
  font = 'DejaVu Sans Condensed:style=Bold:size=9',
  mpd_host = '/run/user/1000/mpd/socket',
  maximum_height = 1024,
  maximum_width = 300,
  minimum_height = 1024,
  minimum_width = 300,
  own_window = true,
  own_window_type = 'desktop',
  short_units = true,
  update_interval = 1.0,
}

conky.text = [[
${time %A %d %B}${alignr}${time %R}

Uptime ${alignr} $uptime
Mises-à-jour disponibles ${alignr} ${execi 1800 echo $(($(apt list --upgradable 2>/dev/null | wc -l) - 1))}
En attente de redémarrage ${alignr} ${execi 1800 test -e /var/run/reboot-required && echo oui || echo non}

${font DejaVu Sans Condensed:style=Bold:size=12}Réseau ${hr}${font}

${if_up enp3s0}${alignc}enp3s0
${downspeedgraph enp3s0 30,145 FFC5B1 982700 30000 -t}$alignr${upspeedgraph enp3s0 30,145 B1C5FF 002798 30000 -t}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -34}$alignc${offset -75}${downspeedf enp3s0}K/s ⬇${font}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -19}$alignc${offset 85}${upspeedf enp3s0}K/s ⬆${font}
${endif}

${font DejaVu Sans Condensed:style=Bold:size=12}CPU ${hr}${font}

${execpi 6 cat /tmp/buffer}


${cpugraph cpu0 40,298 C5FFC5 279827 -t}
${top name 1} $alignr ${top cpu 1}%
${top name 2} $alignr ${top cpu 2}%
${top name 3} $alignr ${top cpu 3}%
${top name 4} $alignr ${top cpu 4}%
${top name 5} $alignr ${top cpu 5}%

${font DejaVu Sans Condensed:style=Bold:size=12}RAM ${hr}${font}

${alignr}$mem / $memmax
${memgraph 40,298 FFFFB1 989800 -t}
${top_mem name 1} $alignr ${top_mem mem_res 1}
${top_mem name 2} $alignr ${top_mem mem_res 2}
${top_mem name 3} $alignr ${top_mem mem_res 3}
${top_mem name 4} $alignr ${top_mem mem_res 4}
${top_mem name 5} $alignr ${top_mem mem_res 5}

${font DejaVu Sans Condensed:style=Bold:size=12}Disques ${hr}${font}

/dev/sdb — / + /home
${diskiograph /dev/sdb B1FFB1 009800 270000 -t}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -34}${alignc}${diskio /dev/sdb}/s${font}

/dev/sdc — /home/vrac
${diskiograph /dev/sdc FFB1B1 980000 170000 -t}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -34}${alignc}${diskio /dev/sdc}/s${font}

/dev/sda — /home/musique
${diskiograph /dev/sda B1B1FF 000098 130000 -t}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -34}${alignc}${diskio /dev/sda}/s${font}

/dev/sdd — /home/jeux
${diskiograph /dev/sdd FFB1FF 980098 170000 -t}
${font DejaVu Sans Condensed:style=Bold:size=12}${voffset -34}${alignc}${diskio /dev/sdd}/s${font}
${if_running mpd}$if_mpd_playing

${font DejaVu Sans Condensed:style=Bold:size=12}Musique ${hr}${font}

${alignc}$mpd_title
${alignc}$mpd_album
${alignc}$mpd_artist

$mpd_status ${alignr}$mpd_elapsed / $mpd_length

$mpd_bar${endif}${endif}
]]

Ce qui te donnera

Image

Ensuite à toi d'adapter ;)
?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: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par cyrille »

Oups ai oublié, il faut que ton script de compte à rebours tourne en toile de fond; (via le bashrc ou un fichier .config/autostart/ )

Le lancer avant ton conky ...
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Mad Mint
Messages : 165
Enregistré le : mar. 6 juil. 2021 04:01
Localisation : Colmar , Haut-Rhin , Alsace

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par Mad Mint »

Merci, désolé je suis une brêle , comment faire pour que mon script de compte à rebours tourne en toile de fond; (via le bashrc ou un fichier .config/autostart/ ) ?

Je préfère que tu me le dise la bonne méthode , merci pour tout .
UC-02 | LM : 21.3 Virginia | DESKTOP : Cinnamon 6.0.4 | KERNEL : 5.15.0-91-generic x86_64 | CPU : Intel Core i5-10400 @ 2.90 Ghz | RAM : 16 Go DDR4 | UGI : Mesa UHD Graphics 630 | CM : Gigabyte H410M S2H V2 | SSD : Crucial CT500P3SSD8 NVMe 500Go (OS) | Crucial CT500MX500SSD1 500Go(Données) | Verbatim Vi550 S3 128Go (Administration) | Samsung 870 QVO 2To (Multimédia)


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

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par cyrille »

Via bashrc, editer .bashrc et ajouter la ligne suivante à la fin du fichier, en supposant qu'il se nomme monScript.sh dans un dossier scripts

Code : Tout sélectionner

bash /home/$USER/scripts/monScript.sh  &
Crée un fichier autostart :
cf https://framagit.org/CyrilleBiot/create ... t_launcher

Ou l'un ou l'autre.
L'un l'appelle à la connexion d'un tty ou à l'appel d'un bash, l'autre uniquement à la connexion suite au gestionnaire de connexion X


++
C
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Mad Mint
Messages : 165
Enregistré le : mar. 6 juil. 2021 04:01
Localisation : Colmar , Haut-Rhin , Alsace

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par Mad Mint »

Je te remercie beaucoup , du coup il ne se lance pas automatiquement , faut passer par le terminal pour qu'il se lance .

Mais il fonctionne , c'est déjà ça , maintenant faut voir comment faire en sorte qu'il s’exécute automatiquement sans passer par le terminal .

Merci pour tout :-)
UC-02 | LM : 21.3 Virginia | DESKTOP : Cinnamon 6.0.4 | KERNEL : 5.15.0-91-generic x86_64 | CPU : Intel Core i5-10400 @ 2.90 Ghz | RAM : 16 Go DDR4 | UGI : Mesa UHD Graphics 630 | CM : Gigabyte H410M S2H V2 | SSD : Crucial CT500P3SSD8 NVMe 500Go (OS) | Crucial CT500MX500SSD1 500Go(Données) | Verbatim Vi550 S3 128Go (Administration) | Samsung 870 QVO 2To (Multimédia)


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

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par cyrille »

Entre la ligne suscitée dans ton bashrc

Code : Tout sélectionner

sudo apt update
suod apt install micro
micro ~/.bashrc
Tu entres à la fin

Code : Tout sélectionner

bash /home/$USER/scripts/monScript.sh  &
(A adpater à l'endroit où se situe ton script


Tu sauvegardes, te déconnectes et te reconnectes. Normalement il devrait tourner en toile de fond.


OU
Tu installes le programme du git suscité qui une fois configuré te créera automatiquement un fichier autostart en cas de connexion X
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
Mad Mint
Messages : 165
Enregistré le : mar. 6 juil. 2021 04:01
Localisation : Colmar , Haut-Rhin , Alsace

Re: [Bash] [Conky] Afficher Compte à rebours avec conky via un script bash

Message par Mad Mint »

Je te remercie , cela fonctionne :-)

sujet résolue , merci beaucoup .
UC-02 | LM : 21.3 Virginia | DESKTOP : Cinnamon 6.0.4 | KERNEL : 5.15.0-91-generic x86_64 | CPU : Intel Core i5-10400 @ 2.90 Ghz | RAM : 16 Go DDR4 | UGI : Mesa UHD Graphics 630 | CM : Gigabyte H410M S2H V2 | SSD : Crucial CT500P3SSD8 NVMe 500Go (OS) | Crucial CT500MX500SSD1 500Go(Données) | Verbatim Vi550 S3 128Go (Administration) | Samsung 870 QVO 2To (Multimédia)


Répondre