Ceci est une ancienne révision du document !



Conky ne s’affiche pas au démarrage de votre session

Au démarrage de votre session, il se peut que Conky soit masqué par d’autres éléments, comme le fond d’écran, qui sont affichés après et donc par dessus. Pour y remédier, il suffit donc de retarder le lancement automatique de Conky.1)

Sans script (plus simple)

Créez une ligne dans votre gestionnaire de session (sur Xfce, on le trouve dans le panneau paramétrage, icone Session et démarrage, par exemple).

conky -p 20

ou

sh -c "sleep 20; conky;"

(réduisez le nombre de secondes en fonction des besoins de votre machine : plus elle démarre vite, plus le nombre de secondes exigé est faible. Une seconde suffit sur des systèmes récents (en 2013)).

Puis redémarrez votre système.

Avec un script

Ce système est plus lourd est n'offre d’intérêt que pour des options de démarrage complexes (comme démarrer plusieurs Conky, par exemple).

On effectue le démarrage retardé à l’aide d’un script qu’on nomme .conkyboot par exemple, et qu’on place dans le répertoire contenant .conkyrc c’est-à-dire /home/$USER/. Voici son contenu :

#!/bin/bash
sleep 20;
conky;

Le retard, en secondes (20 secondes dans ce script), est à adapter selon ses préférences et le temps de démarrage de la machine.

Penser à rendre le fichier exécutable :

chmod +x ~/.conkyboot

Il faut ensuite spécifier que ce script sera lancé au démarrage. Dans Système → Préférences → Applications au démarrage, cliquer sur Ajouter :

  • Nom : Conky
  • Commande : /home/$USER/.conkyboot

Redémarrer le système. Cela devrait fonctionner.

Problème de clignotement

Pour éviter le clignotement éditez le fichier .conkyrc

Et vous mettez "yes" pour :

  • double_buffer

On peut aussi rajouter "yes" pour :

  • own_window_transparent

Pour que l'option double_buffer fonctionne, le module "dbe" (Double Buffer Extension) doit être activé dans /etc/X11/xorg.conf. On ajoute donc Load "dbe" dans la section Module du xorg.conf après l'avoir sauvegardé :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.backup
sudo xdg-open /etc/X11/xorg.conf

chercher :

Section "Module"
...
EndSection

et insérer :

Load "dbe"

dans la liste des modules chargés. Relancer le serveur X (ctrl+alt+backspace) pour que les changements prennent effet.

En cas de problème :

sudo cp /etc/X11/xorg.backup /etc/X11/xorg.conf

Voilà ;)

PS_1 : au cas où ça continue toujours de clignoter, introduire ceci dans .conkyrc /etc/X11/xorg.conf :

  Load           "glx"
  Load           "dbe"
  Load           "i2c"
  Load           "bitmap"
  Load           "ddc"
  Load           "extmod"
  Load           "freetype"
  Load           "int10"
  Load           "vbe"

Puis, pour vérifier si Conky utilise le double buffer, lancez Conky dans le terminal. Si ces lignes apparaissent :

Conky: failed to set up double buffer
Conky: drawing to single buffer

Alors Conky n'utilise pas le double buffer.

PS_2: (ou plus simple, cas perso, ne fonctionne pas si le problème vient de la gestion du double buffer.) Pour supprimer tout clignotement, il faut créer une ligne de "texte pur" légèrement plus large que la plus large des lignes affichées avec des variables ou graph. exemple de ligne texte ajoutée dans .conkyrc (ajuster le nombre de tiret "-" en fontion) : ${color #666666}———————————————————–

Le double buffer ne fonctionne pas chez tout le monde, on recherche encore la solution miracle. Si vous l'avez, merci de la partager !
PARTAGE : cela ne supprime pas complètement le problème, mais il faut utiliser une police à chasse fixe. (type monospace)

Éviter une fenêtre dans la barre des tâches

Deux méthodes :

1. (conky 1.4.2) Il faut rajouter dans le .conkyrc, avant la section TEXT (cette méthode permet de ne pas avoir à lancer un deuxième processus au démarrage) :

own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

Les propriétés sont :

  • undecorated qui enlève le tour de la fenêtre
  • below qui permet de mettre la fenêtre de Conky sous les autres fenêtres
  • sticky qui laisse la fenêtre de Conky sur tous les bureaux
  • skip_taskbar qui enlève Conky de la barre des tâches
  • skip_pager qui enlève Conky du pager (alt-tab)

Ce type ne permet pas de conserver Conky visible lorsque l'on clique sur faire apparaître le bureau. En mettant la ligne :

own_window_type override

On conserve les options évoquées précédemment et en plus on conserve Conky même lorsque l'on clique sur faire apparaître le bureau (il peut y avoir un problème d'affichage des icônes du bureau).

(plus d'info dans le man conky qui est reproduit sur http://conky.sourceforge.net/docs.html).

2. Il faut utiliser le packet devilspie (ce qui nécessite le lancement de conky et devilspie au démarrage ; l'intérêt est que l'on peut gérer plusieurs processus avec devilspie) : installez le paquet devilspie.

Deux méthodes de configuration de devilspie : Pour devilspie ⇐ 0.12

Méthode 1 : créer un fichier:

gedit $HOME/.devilspie.xml

Et vous mettez dedans :

<?xml version="1.0"?>
<!DOCTYPE devilspie SYSTEM "devilspie.dtd">
<devilspie>
<!-- This flurb configures devilspie to watch for a window called "conky" -->
<flurb name="conky">
<matchers>
<matcher name="DevilsPieMatcherWindowName">
<property name="application_name" value="conky"/>
</matcher>
</matchers>
<!-- The following controls what actions are preformed -->
<actions>
<!-- Hide conky from the taskbar and the pager -->
<action name="DevilsPieActionHide">
<property name="skip-tasklist" value="TRUE"/>
<property name="skip-pager" value="TRUE"/>
</action>
<!-- Show conky on all workspaces -->
<action name="DevilsPieActionSetWorkspace">
<property name="pinned" value="TRUE"/>
</action>
</actions>
</flurb>
</devilspie>
CETTE METHODE NE MARCHE PAS

Méthode 2 :

Créez un dossier caché dans le home :

mkdir ~/.devilspie

Aller dans ce dossier :

cd ~/.devilspie/

Editer le fichier de configuration (on peut lui donner n'importe quel nom) :

 gedit conky.ds

Coller les s-expressions utilisées par devilspie (infos supplémentaires sur http://wiki.foosel.net/linux/devilspie). Un fichier classique pour conky serait :

(if
    (is (application_name) "ubuntu - conky")
    (begin
       (pin)
       (skip_pager)
       (skip_tasklist)
       (below)
      (wintype "dock")
    )
)

Quelques explications :

  • application_name : nom de l'application
  • pin : permet de mettre Conky sur tous les bureaux
  • skip_pager : Conky n'apparaît pas quand on fait alt-tab
  • skip_tasklist : Conky n'apparaît pas dans la barre des tâches
  • below : Conky est toujours dessous les autres fenêtres
  • wintype "dock" : permet d'avoir Conky encore visible même lorsque l'on clique sur l'icône pour faire apparaître le bureau ;-) la classe ultime…

Il est possible qu'il faille adapter le champ application_name. Il y a sûrement une méthode plus simple mais j'ai pas encore trouvé… On fait un fichier test.ds dans le dossier caché devilspie avec dedans :

(debug)

Ensuite on lance l'application dont on cherche le nom (conky dans notre cas). Puis on lance devilspie dans la console. Il apparaît dans la console des informations sur les fenêtres ouvertes en ce moment, donc notre application, il suffit de repérer le nom de conky. Une fois cela fait on efface le fichier test.ds

Puis il faut le charger au démarrage : Système → Préférence → Sessions → Programme au démarrage Cliquez sur Ajouter et vous tapez devilspie

Voilà !

Le conky réapparaît parfois brièvement au premier plan, devant mes applications

J'ai rencontré ce problème avec les Conky de largeur variable (quand on affiche les ports ouverts et l'adresse distante par exemple).

Pour y remédier il faut fixer la largeur du Conky, en spécifiant une largeur minimale et une largeur maximale identiques :

minimum_size 260
maximum_width 260

Mon conky est tronqué

Par défaut la taille du buffer de conky est de 128. Si votre conky comporte une grande quantité de textes et d'images, il est possible que tout ne s'affiche pas correctement.

Pour y remédier il faut rajouter au .conkyrc avant la section TEXT :

text_buffer_size 1024

Conky et Gnome-shell

Sous Gnome-shell pensez à modifier votre conkyrc comme suit :

own_window yes
own_window_transparent no
own_window_type normal
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#semi-transparent #
own_window_argb_visual yes
#couleur du font de conky ex:000000 = noire #
own_window_colour 000000
#niveau de transparence #
own_window_argb_value 0

Système

Multimédia

La météo


1)
Cette solution est inspirée de ce sujet de forum (proposée par nlcf le 04/09/2009).
  • conky.1540682018.txt.gz
  • Dernière modification: Le 28/10/2018, 01:13
  • par 88.182.40.86