Problèmes et questions sur les environnements graphiques et les applications.
Répondre

CONKY ne prend pas les changements en compte

#1Messageil y a 6 ans

Bonjour à tous :salut:

J'ai besoin de vos lumières.
Je vais essayer d'expliquer le (petit) problème que je rencontre avec mon conky.
Tout abord le conky qui sert uniquement à afficher l'IP, le Pays et la ville de connexion (VPN ou pas) :

background yes
double_buffer yes

alignment bottom

border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no

gap_x 665
gap_y 20
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
extra_newline no

own_window yes
own_window_type normal
own_window_transparent yes
own_window_colour 000000
own_window_argb_visual no
own_window_argb_value 0
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

minimum_size 270 0
stippled_borders 0
update_interval 10
uppercase no
use_spacer none

show_graph_scale no
show_graph_range no

use_xft yes
xftalpha 0.1
xftfont Droid Sans:size=10

color0 ED7B21
color1 16A086

TEXT
${color0}Country ${alignr}${color1}${exec cat ipinfo | grep country | cut -d \" -f 4}
${color0}City ${alignr}${color1}${exec cat ipinfo | grep city | cut -d \" -f 4}
${color0}IP ${alignr}${color1}${exec cat ipinfo | grep ip | cut -d \" -f 4}
Le fichier ipinfo ci-dessus est le résultat du script :

#!/bin/bash

curl ipinfo.io > ipinfo
Le problème est que, si le contenu d'ipinfo change, alors les commandes cat du conky affiche toujours l'ancien contenu.
Mieux : en supprimant ipinfo, le conky affiche tjs les mêmes valeurs -- qui n'existent plus.

Et je n'ai absolument aucunes idées d'où ça peut venir ni où chercher.
Qu'en pensez-vous ?



edit : À noter que les mêmes commandes cat prennent en compte les changements dans un terminal
Dernière modification par Blueil y a 6 ans, modifié au total 1 fois.

CONKY ne prend pas les changements en compte

#2Messageil y a 6 ans

salut !

as tu essayé de rajouter apres update_interval ceci :

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

CONKY ne prend pas les changements en compte

#3Messageil y a 6 ans

'LLo,

Si j'ai bien compris, tu as 10 sec de fréquence d'update de ton conky -> update_interval 10
J'essaierai update_interval 1.0

CONKY ne prend pas les changements en compte

#4Messageil y a 6 ans

Salut tower41000 :sourire:

J'ai :
  • ajouté ton bout de code,
  • activé le VPN et lancer le script (le contenu d'ipinfo a bien changé),
  • et relancé le conky.
Pas mieux :roll:

Il y aurait pas un cache à effacer par hasard ?

CONKY ne prend pas les changements en compte

#5Messageil y a 6 ans

mmm sinon essaye d utiliser "execi" ou "texeci"au lieu d "exec"

CONKY ne prend pas les changements en compte

#6Messageil y a 6 ans

J'avais déjà essayé et je viens d'essayer à nouveaux avec l'ajout de code.
Toujours pas de changement. C'est ouf !

CONKY ne prend pas les changements en compte

#7Messageil y a 6 ans

question bete, tu rebootes entre chaque modif ?

CONKY ne prend pas les changements en compte

#8Messageil y a 6 ans

C'est pas con du tout parce-que je l'avais pas fait jusqu'à maintenant.
Je viens de rebooter et ça ne change rien...

CONKY ne prend pas les changements en compte

#9Messageil y a 6 ans

Salut,
Le fonctionnement est normal, le script lance la commande curl ipinfo.io et met le retour de commande dans le fichier ipinfo. Conky récupère les données du fichier pour les afficher, mais tant que le script n'est pas relancé régulièrement, le fichier ipinfo garde les mêmes données.

Je ne sais pas comment est lancé le script, mais je pense qu'il faudrait passer par cron ou un timer systemd pour voir les infos rafraîchies régulièrement.
Dernière modification par Smurfil y a 6 ans, modifié au total 1 fois.

CONKY ne prend pas les changements en compte

#10Messageil y a 6 ans

Salut Smurf,

C'est presque ça sauf que je lance le script manuellement (pour l'instant).

Pour mes essais :
  • Je lance le script avec une connexion sans VPN,
  • le contenu du fichier ipinfo correspond bien à ma loc (fr),
  • => le conky m'affiche une localité française. Normal.
  • J'active mon VPN (Suisse par exemple),
  • Je relance le script,
  • le contenu d'ipinfo a bien changé : localisation en Suisse,
  • Le conky -- même rafraîchi -- affiche toujours la loc fr :saispas:

CONKY ne prend pas les changements en compte

#11Messageil y a 6 ans

Donc, si dans un terminal tu fais :

cat ipinfo | grep country | cut -d \" -f 4
ça te renvoie bien le bon pays ?

Attention, ton script crée le fichier ipinfo à l'endroit où tu l'as lancé, il ne faudrait pas que le fichier ipinfo soit bon à un endroit, et que conky grep un ancien fichier ailleurs.

CONKY ne prend pas les changements en compte

#12Messageil y a 6 ans

Dans le mille ! Ce foutu conky ne lisait pas le script au bon endroit ! :D

Pour être sûr que le conky lise bien le fichier ipinfo, j'ai précisé son chemin dans mon /home tel que :

${execi 10 cat ~/ipinfo | grep city | cut -d \" -f 4}
Et les changements sont pris en compte !
Je ne sais pas où le conky aller chercher ipinfo... mais bon. :roll:

Merci Smurf d'être intervenue ainsi que tower41000 et fassil :bien
Merci à vous 3.
À bientôt.

CONKY ne prend pas les changements en compte

#13Messageil y a 6 ans

et oui linux recherche les programmes UNIQUEMENT dans le $PATH et même pas dans le répertoire courant :wink:

cette restriction (existe pas sous win) est pour notre sécurité : être sur d'appeler le bon programme système et non un virus qui traine dans notre home.
restriction levée dès que l'on donne un chemin avec notre programme

CONKY ne prend pas les changements en compte

#14Messageil y a 6 ans

« UNIQUEMENT dans le $PATH »

Aujourd'hui, j'apprends une chose importante.
Je vais me le faire tatouer :-)

CONKY ne prend pas les changements en compte

#15Messageil y a 6 ans

Je pense qu'il faudrait aussi modifier le script pour qu'il envoie ses données au bon endroit et le copier dans /usr/local/bin, tu n'aurais plus à le lancer obligatoirement de ton $home.

#!/bin/bash

curl ipinfo.io > /home/blue/ipinfo

CONKY ne prend pas les changements en compte

#16Messageil y a 6 ans

Pour le « /home/blue/ipinfo » c'est déjà fait ;-)
Et il y a quelques mois, j'avais ajouté à PATH le dossier de mes scripts.
Répondre