Mes linuxeries

Aller au contenu | Aller au menu | Aller à la recherche

lundi 16 février 2009

Shutter, ou Gscrot : pour faire des belles captures d’écran sous Gnome

Bon, je viens de réussir à installer Shutter : il m’a fallu, en passant par l’outil http://easyurpmi.zarb.org, déclarer les dépôts de Cooker Main et Cooker Contrib. En passant par là, l’installation n’a nécessité que 2,7 Mo de bibliothèques (contre plus de 100 Mo pour ma tentative en essayant de l’installer moi-même en essayant de comprendre les messages d’erreur de la compilation — tentative qui s’est soldée par un échec, et qui me laisse avec plus d’une centaine de Mo de bibliothèques installées inutilement sur mon disque dur…).

Quand on utilise Cooker sur une distribution stable, il faut penser à plusieurs choses :

  • Le faire le moins possible — Cooker est une version de travail de la Mandriva, qui peut être instable, voire tout casser si on en abuse ;
  • Utiliser plutôt la ligne de commande de l’outil easyurpmi, afin de pouvoir renommer les nouveaux dépôts de Main et Contrib en MainCoooker et ContribCooker — ceci afin de bien pouvoir les différencier des dépôts usuels ;
  • Ne pas oublier de les désactiver une fois le programme voulu installé. Pour activer/désactiver des dépôts, utiliser, en root, la commande edit-urpm-sources.pl.
  • Éviter de passer à l’action si on s’aperçoit que le programme voulu va amener avec lui trop de bibliothèques, et notamment des très sensibles comme les glib, glibc, tout ça — la distribution deviendrait une sorte de monstre, à mi-chemin entre la stable et la Cooker, pas bon du tout. En l’espèce, et comme on peut le voir ici, Gscrot n’a nécessité que peu de dépendances, et qui m’ont semblé d’importance mineure : je suis donc passé à l’acte.
    [root@Shuttle Téléchargement]# urpmi gscrot
    Pour satisfaire les dépendances, les paquetages suivants vont être installés
       Paquetage                      Version      Révision      Arch  
    (média « Main32 »)
      libgoocanvas3                  0.12         1mdv2009.0    i586   
    (média « ContribCooker »)
      gscrot                         0.64         0.ppa10.2mdv> noarch 
      perl-Goo-Canvas                0.05         2mdv2009.1    x86_64 
      perl-HTTP-Response-Encoding    0.05         1mdv2009.1    noarch 
      perl-WWW-Mechanize             1.54         1mdv2009.1    noarch 
      perl-X11-Protocol              0.56         6mdv2009.0    noarch 
    un espace additionnel de 2.9Mo sera utilisé.
    760Ko de paquets seront récupérés.
    Procéder à l'installation des 6 paquetages ? (O/n) o

Tout ça pour dire que cet outil est extraordinaire : il prend bien sûr les bordures des fenêtre, mais il peut aussi appliquer une tonne d’effets spéciaux sur les captures, à la volée, comme par exemple des ombres sous les fenêtres, ou un floutage tout autour pour donner une impression de fondu, ou encore le tour en papier déchiré. Il gère plusieurs images en même temps à l’aide d’onglets, et peut même, quand il plante, restaurer la session ! Il peut capturer des fenêtres, des sélections, ou des élements précis de chaque fenêtre. Lors des captures de fenêtres, il donne tout seul une liste des fenêtres ouvertes, on n’a qu’à choisir celle qu’on veut, et ça marche tout seul. Il intègre aussi un outil d’édition rapide, et peut poster l’image vers des services web de publication et partage de photos.

Conclusion : Shutter, ou Gscrot, est un bijou, à posséder absolument pour qui travaille souvent avec les captures !

vendredi 13 février 2009

Compiler des logiciels récents sous Mandriva

Quand on veut avoir les logiciels dans leur version la plus récente possible, c’est pas toujours très simple, sous Linux. Hormis pour les failles de sécurité, les passages à la version suivante sont rares, dans les distributions style Mandriva : il faut en général attendre la sortie de la prochaine version de la distribution. Et encore ce qu’elle offrira sera-t-il déjà obsolète quelques jours après sa sortie.

Pourquoi vouloir installer absolument les nouvelles versions ? Tout simplement pour le plaisir de le faire, mais aussi pour avoir les dernières corrections, voire les nouveautés quand il y en a.

Deux solutions, donc : soit éviter les distributions sortant à date fixe (comme Mandriva), et choisir une distro mise à jour en permanence dès qu’un nouveau logiciel sort (comme Arch Linux ou les versions de travail des distro-à-date-fixe, comme la Mandriva Cooker). Soit compiler soi-même ses programmes.

Comme je me sens pas encore de lâcher Mandriva, c’est l’option de la compilation que j’ai choisie. Elle demande quand même une certaine discipline, et un peu d’organisation car les logiciels installés peuvent parfois rendre incohérente la base RPM. Mais je le fais depuis plusieurs années maintenant, ça marche bien, au final. Je pourrais aussi apprendre à créer des RPM avec ces compilations, mais ça me semble un peu ardu, sauf pour les sources qui fournissent des fichiers .spec, mais j’ai la flemme.

Depuis la sortie de la Mandriva 2009, j’ai donc compilé et installé moi-même abiword-2.6.6, beagle-0.3.9, eog-2.24.3.1, epiphany-2.24.3 avec ses extensions, evince-2.24.2, evolution-2.24.4 et son evolution-data-server correspondant, file-roller-2.24.3, liferea-1.4.22d, seahorse-2.24.1 et ses plug-ins, tomboy-0.12.2, totem-2.24.3 et transmission-1.50b6.

La plupart d’entre eux s’installent par les classiques commandes ./configure, make -j 2, make install && ldconfig (cette dernière étape en root). Pour avoir plus d’instructions, on peut consulter les fichiers README ou INSTALL, ou encore utiliser la commande ./configure --help | less.

Il faut aussi conserver l’arbre des sources compilées, et ne pas l’effacer une fois le programme installé. En effet, il sera indispensable pour désinstaller proprement le programme. Il suffira de se rendre dans le répertoire source du logiciel qu’on veut désinstaller et de taper (en root) make uninstall && ldconfig. L’idéal est bien sûr de ranger toutes les sources dans un même dossier, comme Téléchargement/Mes_sources.

Sans intervention particulière de la part de l’utilisateur, ils s’installeront presque tous dans l’arborescence /usr/local. Il faut donc enrichir le path pour que le système y aille chercher les exécutables. Pour que le système puisse savoir qu’il y a aussi des nouvelles bibliothèques à y charger, il faut modifier le fichier /etc/ld.so.conf. Pour que les futures compilations puissent prendre en compte les nouvelles bibliothèques, il faut aussi définir la variable PKG_CONFIG_PATH.

Modifier le path et rajouter la variable PKG_CONFIG_PATH :

En root, à la fin fichier /etc/profile, rajouter les lignes :

PATH=$PATH:/usr/local/bin
export PATH
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/
export PKG_CONFIG_PATH

Taper source /etc/profile pour que les modifications soient prises en compte tout de suite.

Et à la fin du fichier /etc/ld.so.conf, rajouter :

/usr/local/lib/

Il faut enfin indiquer à Gnome l’emplacement des serveurs Bonobo supplémentaires (ne me demandez pas ce que c’est, il faut le faire, c’est comme ça !). Éditer le fichier /etc/bonobo-activation/bonobo-activation-config.xml et décommenter la ligne

 <!-- <item>/usr/local/lib/bonobo/servers</item> -->

qui devient donc

<item>/usr/local/lib/bonobo/servers</item>

Taper bonobo-slay pour relancer les serveurs et redémarrer Gnome.

Attention, pour Epiphany 2.24.3, il y a un bug ennuyeux : le fichier /usr/local/lib/pkgconfig/epiphany-2.24.pc a une erreur, qui empêche ensuite la bonne compilation des extensions. La ligne engine= est fausse, il faut la remplacer par engine=mozilla.

Pour evolution-data-server, pour qu’il n’y en ait qu’un seul à la fois sur le système, j’ai fait un truc assez dégueulasse : j’ai désinstallé celui installé par Mandriva, en forçant la non vérification des dépendances, sinon urpme m’aurait désinstallé la moitié du bureau Gnome. Ça donne donc :

rpm -e lib64camel13 lib64camel14 lib64ebackend0 lib64ebook9 lib64ecal7 lib64edata-book2 lib64edata-cal6 lib64edataserver-devel lib64edataserver11 lib64edataserverui8 lib64egroupwise13 lib64exchange-storage3 lib64gdata1 --nodeps

On installe le nouveau e-d-s, on redémarre Gnome et ça marche.

Une alternative consiste aussi à déclarer les dépôts Backports : on y trouve par exemple le dernier Pidgin, mais une version toujours trop vieille de Transmission. Et peu de programmes sont rétro-portés, au final.

jeudi 8 janvier 2009

Aide immédiate pour Mandriva

Saviez-vous qu'il existe un salon de discussion francophone spécialement créé pour obtenir une aide immédiate pour Mandriva ?

On peut le rejoindre soit par une interface web, mais aussi, et c'est le plus pratique, avec tout bon logiciel de messagerie instantanée compatible avec le protocole Jabber - moi, c'est Pidgin.

Vous pouvez rejoindre ce salon ici : http://chat.jabberfr.org/muckl_int/?room=mandriva. Les instructions pour ouvrir ce salon dans un logiciel de messagerie instantanée sont aussi disponibles sur cette page.

Il existe aussi des salons IRC #mandrivafr sur les serveurs Freenode, mais j'ai toujours trouvé que l'ambiance y était un peu plus difficile d'accès, et orientée salle de travail pour développeurs mandriviens.

Pense-bête pour urpmi, urpmq, urpmf

Voilà un petit pense-bête pour manipuler les logiciels sous Mandriva - l'interface graphique rpmdrake étant d'une ergonomie à pleurer, typiquement l'outil créé par un programmeur sans réfléchir à l'utilisation que peut en faire le grand public, je préfère m'habituer à utiliser la ligne de commande, ça va bien plus vite.

  • rpm -qa | grep truc

Trouver, parmi les paquets installés, tout ceux contenant le mot truc.

  • rpm -qpli truc

Montre les informations et le contenu d'un paquet qui n'est pas dans la base des dépôts utilisés par urpmi - par exemple un .rpm qu'on vient de télécharger depuis un site et qui est sur le disque dur.

  • urpmf --name -mf truc

Trouver, dans la liste des paquets, installés ou non, tout ceux contenant le mot truc dans leur nom ; -mf indique pour chaque paquet le nom du média le contenant et son numéro de version complet.

  • urpmq -r truc

Montre les différentes versions disponibles, installées ou pas, du paquet truc. Montre toutes les versions (on peut voir s'il y a des mises à jour dispo).

  • urpmq -ry truc

Donne une liste des paquets, installées ou pas, contenant le mot truc. Ne montre que les versions les plus récentes.

  • urpmq -il truc

Donne les informations et le contenu du paquet truc, installé ou pas. Attention, si plusieurs versions de truc existent, ça va les lister les unes derrières les autres. Pour n'avoir les infos que sur une version bien précise du paquet, il faut utiliser son nom complet (avec les numéros de version).

  • urpmq --list --media Non-free

Donne la liste des paquets contenus dans le média Non-free, installés ou non.

  • urpmi --auto-update

Met à jour la liste des paquets disponibles depuis les serveurs, pour chaque média, puis met à jour les paquets, en utilisant tous les médias, et pas seulement ceux marqués comme étant ceux des Mises à jour. J'ai remarqué que le résultat pouvait être différent, et plus complet, que via l'interface graphique MandrivaUpdate. Donc à préférer.

Ce pense-bête évoluera bien sûr en fonction des nouvelles commandes que j'arriverai à mémoriser ou pas.

Installation de Mandriva 2009, deuxième

Installé la Mandriva 2009 sur mon PC du boulot, depuis un CD One Gnome cette fois-ci. Moins de problèmes. Mais un truc assez hallucinant quand même : aucun outil n'est installé par défaut pour utiliser les imprimantes... Comment le service Assurance-qualité peut-il laisser passer une bourde aussi énorme ?!?

Première installation de Mandriva Linux 2009

Et voilà : une fois de plus, comme deux fois par an depuis la Mandriva 8, je me suis fendu de l'achat d'un PowerPack Mandriva Linux. Cette fois-ci, c'est au tour de la 2009.

J'ai installé le Powerpack 64bits sur mon Shuttle : que des problèmes ! Jamais eu autant de petites pétouilles à corriger et améliorer depuis que j'installe des Mandriva, quasiment toutes depuis la 5.1, voici 10 ans (déjà ? Pfff... j'ai l'impression que c'était hier que je découvrais ce CD dans Freelog, devenu depuis Planète Linux...). Bordures des fenêtres qui disparaissent dans Gnome quand Compiz est activé, pilotes réseaux Ralink qui partent aux fraises (ça vaut bien le coup d'ouvrir les spéc et d'écrire des pilotes libres, tiens ! Ça va faire 2 ou 3 versions de Mandriva que ces pilotes font n'importe quoi, et qu'il me faut à chaque fois recompiler un module moi-même depuis le code source du module rt2500), lecteur multimedia Totem avec moteur Gstreamer pas performant du tout, qui plante avec les DVD et qui force à installer le Totem avec moteur xine, et j'en passe et des meilleures, inacceptables pour un système censé être grand public.