→ Lisez cet article" />
// ${Guilou} //

Erreur dans un terminal concernant VTE et termcap

Suite a une mise à jour, j’ai vu l’erreur suivante s’afficher dans chacun des nouveaux terminaux que j’ouvrais :

*** VTE ***: Failed to load terminal capabilities from ‘/etc/termcap’

Pour corriger ceci, il suffit de :

ln -s /usr/share/vte/termcap-0.0/xterm /usr/share/vte/termcap/xterm

Si le bug vous empêche d’utiliser la touche Entrée, vous pouvez au choix utiliser la combinaison ctrl+m ou ctrl+j

Bug de Munin-node avec le module Perl Carp sur Debian testing

Quelle surprise ce matin de constater que Munin a cessé de grapher ! Un petit tour dans les logs m’indique :

Can’t locate Carp/Heavy.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at /usr/share/perl/5.10/Carp.pm line 39, <STDIN> line 66.\n    …propagated at /usr/share/perl5/Munin/Common/Timeout.pm line 66, <STDIN> line 66.

L’erreur semble indiquer qu’il n’arrive pas à trouver le module Perl nommé « Carp ». Malgré l’installation des paquets portant ce nom, le problème ne se résout pas.

En fait c’est tout simple. Il semblerait que la mise à jour de Perl 5.10 vers Perl 5.12 soit la cause de ce souci. Munin-node continuerais d’être lancé avec l’ancienne version de Perl alors que la nouvelle est installée. Du coup, cela ne marche plus. Il suffit simplement de redémarrer munin-node pour que tout remarche comme avant :

/etc/init.d/munin-node restart

Et voilà !

Jouer à Minecraft avec un proxy / tunnel SSH

Minecraft est un jeu très addictif de construction, minage et combats féroces avec des zombies et autres saloperies explosives. Il est tentant de chercher à y jouer au travail, à l’école ou sur un réseau wifi publique, mais malheureusement c’est bloqué ? Voici une solution assez simple permettant de jouer malgré tout, que l’on soit sous Windows ou sous Linux. La seule condition est de disposer d’un serveur SSH sur lequel on peut se connecter depuis l’endroit où c’est bloqué (par exemple écoutant sur le port 443 qui n’est pas filtré)

MinecraftMa petite maison virtuelle (serveur: neocraft.fr)

Sous Linux

Il suffit d’avoir deux terminaux sous la main. Dans le premier, on créé le tunnel SSH avec la commande suivante :

ssh moi@mon.serveur.ssh.fr -p 443 -D 1080

Ensuite, il faut saisir le mot de passe associé. La ligne de commande ci-dessus créé un tunnel dont l’entrée est le port 1080 sur votre machine, et dont la sortie est « mon.serveur.ssh.fr ».

Dans le deuxième terminal, il suffit alors de se rendre où est l’exécutable Minecraft de lancer le lancer comme suit :

java -DsocksProxyHost=localhost -jar minecraft.jar

Et voilà ! Le tour est joué !

Sachez que vous pouvez également utiliser l’option « –DsocksProxyPort » si vous avez décidé de faire le tunnel SSH sur un autre port que le 1080 (qui est celui par défaut).

Sous Windows

La méthode est tout à fait similaire. Nous allons dans un premier temps créer le tunnel SSH avec Putty. Je vous renvoie à ce billet qui en parle. L’astuce concernant Windows consiste ensuite à télécharger sur le site officiel l’exécutable sous le format jar et non exe ! En effet nous allons profiter du fait que le jeu soit codé en Java pour utiliser notre tunnel. Lancez une console (Démarrer > Exécuter > cmd puis [Entrée]) et rendez-vous dans le répertoire où est le jeu. S’il est sur votre bureau par exemple, saisissez :

cd C:\Utilisateurs\Moi\Bureau

Maintenant, il faut lancer le jeu :

java.exe -DsocksProxyHost=localhost -jar minecraft.jar

Et voilà !

GMail Labs : icône avec le nombre d’emails non-lus

Un nouveau Labs vient d’arriver : il permet de changer dynamiquement l’icône de GMail affichée dans l’onglet en y insérant le nombre d’email non lus. Ceci va être très pratique pour ceux qui ont énormément d’onglets sur leur navigateur, mais aussi pour ceux qui utilisent déjà la version 4 de Firefox ou Chrome. Dans ces navigateurs, il est en effet possible de réduire les onglets à leurs icônes uniquement.

Une petite capture d’écran de ce que ça peut rendre :

GMail favicon unread mail

Pour activer cette option, rendez-vous dans la catégorie Labs de votre compte GMail (dans les préférences) et activez-le. N’oubliez pas de valider en sauvegardant !

Lire sous Linux (Ubuntu) un disque blu-ray

Cet article permet de savoir comment lire un fichier blu-ray, au format ISO, sous Ubuntu. L’explication est largement extensible à d’autres distributions Linux.

Installer le lecteur de blu-ray

Il existe un logiciel nommé lxBDPlayer qui permet la lecture des blu-ray. Il faut se rendre sur son site puis télécharger le .deb. Dans un terminal, on installe le paquet avec la commande (en root) :

dpkg -i lxbdplayer_0.2.1_all.deb

A noter que ce logiciel est basé sur Mplayer. Si vous ne l’avez pas, installez-le via le gestionnaire de paquet. La ligne de commande suivante peut faire l’affaire :

aptitude install mplayer

Monter l’image et lire le fichier

Avec un terminal en root, tapez :

mkdir -p /media/iso
mount -o loop /home/monUser/monBluRayDisc.iso /media/iso

Maintenant, il suffit de lancer le logiciel lxBDPLayer. Si vous avez Gnome comme environnement du bureau, vous le trouverez dans la section Application > Son et vidéo. Vous obtenez alors le fenêtre suivante :

Logiciel de blu-ray lxBDPlayer

En cliquant sur Parcourir, il suffira d’aller chercher notre blu-ray disc que l’on a monté précédemment dans /media/iso. Nous obtenons alors la fenêtre suivante :

Logiciel de blu-ray lxBDPlayer

Il n’y a plus qu’a cliquer sur Lecture et vous souhaiter un bon film 😉 !

Contrôler Rhythmbox depuis le tableau de bord

Rhythmbox est un logiciel qui permet de lire de la musique et de la gérer de manière intuitive.

L'interface générale de Rhythmbox

Cependant, il est pratique de laisser tourner la musique sans avoir le logiciel affiché sur l’écran. On peut alors dédier un bureau virtuel pour cette application. Seulement, dès que l’on doit changer de morceau, il faut alors se rendre sur ce bureau et cliquer sur « suivant ». En feignant que nous sommes, c’est trop long.

Solution 1

Alors on peut utiliser un greffon de Rhythmbox qui affiche une petite icône dans le panneau de contrôle. Ce greffon s’appelle « Icône d’état » et est disponible dans la liste par défaut sous Ubuntu. Cette fois, alors que la fenêtre du logiciel est masquée, on peut accéder sans problème au boutons « suivant », « précédents », comme le montre la capture d’écran suivante :

Le greffon

Solution 2

Le package music-applet permet de contrôler, via le tableau de bord, les lecteurs multimédias suivants :

  • Amarok 1 et 2
  • Audacious
  • Banshee
  • Exaile
  • MPD
  • Muine
  • Quod Libet
  • Rhythmbox
  • VLC
  • XMMS 1 et 2

Il affiche alors directement les boutons « précédent », « suivant » dans le tableau de bord.

Music applet pour Rhythmbox

On ne peut pas être plus efficace 🙂

Forcer la mise en veille d’un disque dur sous Linux

La méthode proposée dans cet article est violente. Il convient donc de l’utiliser en connaissance de cause. Un disque dur s’use par ailleurs plus vite s’il est allumé / éteint régulièrement que s’il reste en fonctionnement en continu.

L’utilitaire est hdparm, que l’on peut utiliser comme suit :

hdparm -y /dev/sdb

(Où /dev/sdb est le disque dur à éteindre)

Changer le fond d’écran de GDM sous Ubuntu

Auparavant, changer de thème GDM était très simple. L’outil de configuration gdm-setup s’en chargeait et disposait d’une bonne quantité d’options. Depuis quelques temps, les dernières modifications de GDM ne permettent plus de changer (pour l’instant) autant de paramètres qu’auparavant. En conséquence, l’outil de configuration se retrouve bien vide. On passe en effet de ça :

L'ancien gdm-setup

à ça :

Le dernier gdm-setup

Il n’est donc plus possible pour l’instant de changer le thème de GDM. Cela m’a posé des soucis, car le fond d’écran par défaut a subitement disparu pour laisser place à un vert « effets spéciaux » d’Hollywood.

Il suffit cependant d’installer le paquet ubuntu-tweak et de se rendre dans « Paramètres de la connexion« , de déverrouiller le panneau de droite et enfin de choisir un nouveau fond d’écran. Dans mon cas, j’ai remis l’ancien qui était parti mystérieusement…

Ubuntu tweak à la rescousse !

Il suffit de redémarrer pour constater que les changements ont bien été pris en compte !

Bug : Google est dans une langue bizarre

Il semblerait que sous la dernière version d’Ubuntu (soit la 10.04 à l’heure où j’écris ce billet), Firefox souffre d’un petit bug. En effet, il n’envoie pas correctement la langue de l’utilisateur, ce qui se traduit par un affichage de Google assez particulier, comme le montre la capture d’écran ci-dessous :

Google en langue "Cherokee"

En passant par le menu des préférences, « Settings » sur la capture d’écran, il est difficile de choisir le français, il faut parfois passer par une langue tierce. Bref, cela ne solutionne pas le problème.

L’une des solutions consiste alors à configurer correctement Firefox pour que la langue choisie soit le Français. Il suffit alors de se rendre dans Édition > Préférences > Contenu > Langues, et d’y ajouter le français.

Firefox : choix de la langue

Il semblerait que Firefox envoie les premières lettres de « [chrome://global/locale/intl.properties]« , à savoir « chr« . En effet, on tombe bien sur la page de Google en Cherokee !

Charger des images séquentiellement avec jQuery

 

J’ai refait la page d’accueil du nom de domaine Guilou.fr pour y placer quelques liens vers différents réseaux. J’ai eu pas mal de difficulté à  faire apparaitre les icônes successivement. Maintenant que j’ai trouvé, je vais vous livrer ma solution (qui n’est peut-être pas la meilleure, mais qui marche)

L’effet

Vous aurez surement reconnu l’usage de l’effet « fade in » de jQuery. Celui-ci est très simple à utiliser :

$('#monElement').fadeIn('slow');

Si on regarde mon code source, on se rend compte que j’ai listé les différents liens, auxquels j’ai associés en CSS une icône. Pour que je n’ai pas à changer le code JavaScript dès que je rajoute un nouveau lien, nous pouvons utiliser la fonction each(). Prenons la liste suivante :

<ul>
  <li>Un</li> 
  <li>Deux</li> 
  <li>Trois</li> 
</ul>

En supposant bien sûr qu’il y a une règle CSS du type li { display: none; } qui masque les éléments de la liste par défaut (ou pas : cf edit), alors on peut les faire apparaitre avec le code JavaScript suivant :

$(document).ready(
  function() {
    var liste = $('li');
    liste.each(
      function() {
        $(this).fadeIn('slow');
      }
    );
  }
);

Pour expliquer ce code : on attend que le document soit entièrement chargé, on récupère la liste des items de liste, puis on les affiche en appliquant un effet de fondu. Si on essaye ce bout de code, on se rend compte que cela marche, mais tout s’affiche d’un seul coup !

Edit du 7 août : Comme le fait remarquer pertinemment Guenhwyvar en commentaire de l’article, la méthode utilisant le CSS pour masquer les items de la liste est mauvaise. En effet, dans le cas où le visiteur n’a pas activé JavaScript, il ne verra jamais les icônes ! La solution consiste alors à cacher les items… en JavaScript !

Par exemple :

$(document).ready(function() {
  $('li').css("display", "none");
});

La temporisation

La difficulté est d’afficher les éléments de la liste uns par uns. En effet, il n’existe pas de fonction sleep() en JavaScript, ni en jQuery (bien qu’il semblerait que des plugins le permettent). On ne peut pas utiliser la fonction each() et imposer un temps de latence entre chaque élément lors du parcours. Il faut alors ruser, et utiliser la fonction setTimeout() pour afficher les images les unes après les autres.

Le bout de code JavaScript devient donc :

$(document).ready(function() {   
   $('li').css("display", "none");
});   

window.setTimeout("afficherItem()", 200); });  

function afficherItem() {
  var item = $('li:hidden:first');
  
  if($(item).text()) {
    $(item).fadeIn('slow');
    window.setTimeout("afficherItem()", 200);
  }
}

Petite explication : on appelle la fonction afficherItem() 200 millisecondes après la lecture de la première ligne du code JavaScript. Cette fonction retrouve le premier élément de liste qui est caché (c’est ce que signifie le « li:hidden:first »). Si cet élément existe (on regarde s’il a une valeur quelconque avec la fonction text()), alors on l’affiche avec un effet de fondu.

Enfin, on rappellera la fonction afficherItem() dans 200ms dans le but d’afficher tous les items de la liste.

C’est ainsi que petit a petit, chaque lien sera affiché avec 200ms d’écart et un petit effet de fondu. Il ne faut pas beaucoup de lignes de code, mais c’est efficace !