Page 1 sur 1

[conky] Problème au lancement [Résolu]

Publié : dim. 23 oct. 2022, 14:55
par Just Modeste
Bonjour,

j'utilise conky sur un environement kde-plasma. J'ai créer un script (start.sh) car j'ai découper ma config conky en plusieurs morceaux :

Code : Tout sélectionner

#! /bin/bash

conky -c ~/conky/info &
conky -c ~/conky/cpu &
conky -c ~/conky/tasks &
conky -c ~/conky/ram &
conky -c ~/conky/disks &
conky -c ~/conky/network &
conky -c ~/conky/music || exit 1 
à chaque redémarrage, je me retrouve avec une ou plusieurs instances de conky manquant. Ma parade actuelle est :

Code : Tout sélectionner

killall conky && ~/conky/start.sh
Auriez-vous des conseils pour que mes scripts conky se lancent correctement au démarrage de mon interface graphique ?

Merci d'avance.

Re: [conky] Problème au lancement

Publié : dim. 23 oct. 2022, 17:42
par benjarobin
Bonjour,
Est-ce que ceci fonctionne mieux ?

Code : Tout sélectionner

#! /bin/bash

sleep 1
conky -c ~/conky/info
conky -c ~/conky/cpu
conky -c ~/conky/tasks
conky -c ~/conky/ram
conky -c ~/conky/disks
conky -c ~/conky/network
conky -c ~/conky/music

Re: [conky] Problème au lancement

Publié : dim. 23 oct. 2022, 19:36
par Just Modeste
Je vais essayer ça merci.

Mais pour moi, les

Code : Tout sélectionner

& et le || exit 1
permettent de garantir l'exécution de toutes les instructions.

Re: [conky] Problème au lancement

Publié : dim. 23 oct. 2022, 19:46
par benjarobin
Euh, non cela ne fait pas cela !
Le & permet de lancer en tache de fond. A ne pas confondre avec &&.
Le || exit 1 ne sert à rien car bash propage le dernier exit code (et donc si l'application échoue, alors le code d'erreur de l'application en échec sera propagée)

Si tu veux garantir que tout est bien lancé, le plus simple est de rajouter au début du script : set -e
Si une application échoue, alors l’exécution du script est arrêté, et le code d'erreur est retourné

Re: [conky] Problème au lancement [résolu]

Publié : ven. 04 nov. 2022, 22:22
par Just Modeste
Bonjour,

après plusieurs jours d'essais, finalement voici mon script qui fonctionne au démarrage :

Code : Tout sélectionner

#! /bin/bash

set -e

SERVICE="conky"
sleep 5  
if pgrep -x "$SERVICE" >/dev/null
then
        killall $SERVICE
fi
$SERVICE -q -c ~/conky/info &
$SERVICE -q -c ~/conky/cpu &
$SERVICE -q -c ~/conky/tasks &
$SERVICE -q -c ~/conky/ram &
$SERVICE -q -c ~/conky/disks & 
$SERVICE -q -c ~/conky/network & 
$SERVICE -q -c ~/conky/music & exit
Merci pour votre aide.

Cordialement.