Planet

I have been a highly screen + irssi user for some years running on my server and then, just sshing to it. Apart from the high latency on typing you can get when your connection begins to lag, everything fulfil my need.

However, last week, pitti told me that he was using a wonderful feature which is called "smart filtering". If you are a long time IRC user and particularly if you go to crowded channels, you know how seeing all this join/part messages can be annoying. Of course, most of IRC clients can hide all join/part/quit/away messages on selected channels.

But smart filtering brings the concept a little bit further: you can tell "show me /quit /join only if the user was speaking on the channel in the last xxx minutes". Great to not speak into the wild when you're not always looking at your channel user list every minute! Unfortunately, it seems there is no such extension for irssi. As writing a plugin in perl is not my taste, I moved to weechat where this feature has been implemented. It was the right time to try as well bip (an IRC proxy).

bip gaves me some hard time because intrepid[1] version is buggy: it preprends backlogs with - (and xchat doesn't highlight the channel if a message begins with "-") and adds "+" to other messages. Well, updating it just fix it, but it took some time to figure out (xchat was hiding those - et +).

Once done, I tried weechat, which seems to be a very great IRC client in a modular architecture. No more latency in typing things as the client is now local and connecting to my bip proxy. The only annoying part is that I'm connected to 4 different IRC networks (and consequently, 4 bip networks) and buffers[2] aren't properly ordered after restarting it. I have to run /layout apply 3 times to get the correct ordering at each start :( This is a known bug.

Then, I installed the notification script. The annoying bit for me was that I got spammed with too many notifications:

  • you are notified everytime someone highlight you in a channel (seems logical for a notification script)
  • you are notified at each private message someone sent you!

And there is where the nightmare begin: if you begin with a long private conversation to someone, you'll get spammed for endless time (especially when notification are shown for 10 secondes at each message!). To fix that, I've just hack quickly on notify.py script (yes, it's in python) to add a smart_notification option (off by default).

If you run: /set plugins.var.python.notify.smart_notification on then smart notification is activated. That means that you won't get notified if someone is either highlighting you in the current channel you have a buffer opened to, or in your current private conversation. That means, logically, you won't get notification if you're looking at the channel you are currently looking at. You'll only see the red/yellow/whatever color line weechat highlight your text. Of course, if your are highlighted not in your current buffer (someone is beginning a private conversation you didn't switch to), you'll still be notified. The idea is only to warn you if you have something that needs to get your attention you're not currently looking at right now, sweet isn't? :)

The new version (0.0.4) is sent upstream, if it won't get it before lucid, I'll upload it to Ubuntu to get it there.

You can find this new version there: notify.py

Notes

[1] yes, my server runs intrepid, I'll reinstall a clean architecture when lucid will be released

[2] name of channel or private window screen

J'ai décidé à changer de matériel et faire évoluer mon pc. Pour avoir une trace écrite de toute la configuration que j'effectue et si possible mettre le moins de temps possible à réinstaller mon PC, je me suis décidé à faire une doc ( si si, ca m'arrive ). Il existe quelques actions que j'ai noté dans un précédent post, que je ne reprendrais pas ou ne ferais que référence.

[1]

warning.pngAttention, certaines manipulations ne sont pas standard et peuvent altérer la stabilité de votre système

Matériel

Rien de bien exceptionnel

  • Carte mère : ASUS P5Q DELUXE
  • CPU : Intel Core 2 Quad Q9400
  • Carte son m-audio audiophile 24/96
  • Carte graphique geforce 210

Tout est assez bien reconnu. Seule la carte son m'a posé problème .

carte son

m-audio-audiophile-2496.1227993.jpg

Alors la, ce fut un grand mystère et moment de solitude... j'ai désactivé la carte son de la carte mère via le bios après l'installation. Après ca, pulseaudio ne me trouvait aucun périphérique :-( Quelques reboots plus tard, ma carte audiophile était reconnue. Je ne sais pas du tout pourquoi mais ca ma donné envie de découvrir le fonctionnement de pulseaudio (question de survie...)

Pour ce qui est du séquenceur midi, je n'ai pas encore testé. A vori si je peux utiliser le séquenceur natif ou timidity ( je préférerai le premier choix). Si la configuration s'avère un peu compliquée, elle finira sans doute dans un prochain post.

Installation des logiciels

Volontairement, je ne décrirais pas en détail la liste des paquets installés car je l'ai décrit dans un précédent article qui est assez récent.

Voici en substance, la commande que j'ai lancé :

sudo apt-get install mplayer mozilla-mplayer w32codecs ubuntu-restricted-extras sun-java6-jdk sun-java6-jre sun-java6-plugin gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse openssh-server easytag tuxguitar tuxguitar-jsa gnome-do gnome-do-plugins htop screen nautilus-open-terminal nautilus-script-audio-convert nautilus-gksu nautilus-script-manager nautilus-wallpaper nautilus-filename-repairer lottanzb lilypond geany frescobaldi lm-sensors sensors-applet homebank filezilla gparted homebank grsync

Installation de la libdvdcss

$ sudo /usr/share/doc/libdvdread4/install-css.sh

La souris

souris de type MX100. je n'arrive toujours pas à faire fonctionner le clic via la molette alors que ca fonctionnait sur mon ancien pc J'ai suivi la documentation et un très bon post de motard14 sur le forum ubuntu-fr. Voila la configuration présente dans mon fichier $HOME/.xbindkeysrc

"/usr/bin/xvkbd -xsendevent -text "\[Escape]"" b:2 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]"" b:8 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]"" b:9 "/usr/bin/xvkbd -xsendevent -text "\[Control_L]\[w]"" b:10 "/usr/bin/xvkbd -xsendevent -text "\[Prior]"" b:11 "/usr/bin/xvkbd -xsendevent -text "\[Next]"" b:12 "echo ButtonPress 6 ButtonRelease 6 | xmacroplay -d 0 :0.0" b:13 "echo ButtonPress 7 ButtonRelease 7 | xmacroplay -d 0 :0.0" b:14

Pensez à rajouter xbindkeys dans les logiciels à lancer en début de session !

Configuration de SSH

J'ai désactivé le login SSH pour l'utilisateur root :

Dans le fichier /etc/ssh/sshd_config

PermitRootLogin No

Logiciels tiers

Installation de virtualbox

j'ai installé la version PUEL ( elle n'est pas libre mais j'ai besoin du support USB) dont la procédure est décrite ici

Vim

Voici ce que j'ai effectué pour installer et personnaliser VIM.

$ sudo apt-get install vim $wget http://formation-debian.via.ecp.fr/fichiers-config/vimrc $sudo mv /etc/vim/vimrc $ mv vimrc /etc/vim/

Thunderbird & Songbird

J'ai installé thunderbird 3 ainsi que songbird dans le répertoire /usr/local. Comme indiqué dans un de mes précédents posts, j'ai ajouté thunderbird dans le menu de l'indicator-applet et inséré les éléments correspondants dans le menu principal

Pour thunderbird, j'ai suivi le chapitre correspondant à ma version d'OS présent dans la doc

Notes

[1] Lien original sur flickr. Cette image est sous licence CC By NC ND

14 Janvier 2010 à 21:42

Lettre à ma communauté via Reponses.net

En cette période de voeux et de bonnes résolutions, je voudrais adresser une lettre à ma communauté. Ceux qui me connaissent auront de suite compris que je parle de la communauté Ubuntu, en particulier de la communauté Ubuntu-fr.

Oui je parle de MA communauté, cela n'est pas une marque de possession de la part d'un président un peu possessif :), mais plutôt d'une appartenance... On parle de SA famille, j'ai donc volontairement décidé de parler de MA communauté.

Cette lettre (ou plutôt ce billet sur mon blog) a pour unique vocation de remercier ceux qui ont fait qu'en 2009 nous avons eu une année si pleine, avec autant de bons moments. La fin d'année a été exceptionnelle : environ 30 Ubuntu Party ont eu lieu partout en France pour fêter la sortie de la nouvelle édition (Karmic Koala) et tout cela n'a été possible que grâce à un travail et un investissement de tous. Le plus remarquable étant les succès rencontrés. Pour ne citer que 2 chiffres : 5000 personnes (dont Mark Shuttleworth) lors de notre WE parisien et 700 lors de l'après midi dédiée à Toulouse... Si je vous ai parlé de MA communauté au début c'est que tout cela est le résultat du travail d'une communauté fabuleuse dont je ne suis qu'une des figures visibles. Tous ses membres méritent leur part de mérite dans ces évènements, et je me sers de cette lettre pour les remercier...

La nouvelle année qui commence est déjà pleine de nouvelles actions et de nouveaux défis et je suis sur que nous allons tous ensemble les relever. Je vous adresse donc mes meilleurs voeux, et plus généralement à tous ceux qui nous soutiennent au jour le jour en s'intéressant aux logiciels libres.

Si vous comptez acheter un nouvel ordinateur et que vous utilisez Ubuntu, choisissez le bien ! Vous voulez sûrement que le matériel fonctionne nativement sous Ubuntu et peut-être que vous ne voulez pas acheter Windows.

  • Vous utilisez Linux mais vous voulez acheter Windows car êtes encore sous l'emprise de certains logiciels propriétaires :
    Achetez le où vous voulez mais faites des recherches sur internet en utilisant pour mots clés la marque, le modèle et votre distribution. Vous tomberez peut-être sur des messages d'un forum expliquant des problèmes éventuels. Consulter également le site UbuntuHCL.org (merci à brazz pour le lien), c'est une base de données contenant les matériaux compatibles avec Ubuntu. Si vous possédez déjà une version de Windows qui n'est pas sous licence OEM, vous pouvez la réutiliser et ne pas en acheter une autre (voir plus bas).
  • Vous voulez un ordinateur sans Windows :

Les produits sans Windows des petits constructeurs sont souvent plus cher que ceux avec Windows des gros constructeurs grâce à leur économie d'échelle. Certain d'entre vous préféreront acheter mois cher et "jeter" le système d'exploitation. Je pense qu'il vaut quand même mieux choisir ces petits constructeurs pour tenter d'inverser la tendance et pour ne pas augmenter le chiffre d'affaires de Microsoft inutilement.

Mise à jour du 14/01/2010 : Réécriture du billet.

Mise à jour du 17/01/2010 : Ajout du lien pcubuntoo.

J’expliquais, lors de mes premières impressions d’Android 2 sur le Motorola Milestone, qu’il était impossible d’installer un fichier .apk sans accepter les conditions d’utilisation du market ni configurer un compte gmail.

C’est en fait possible, grâce à l’outil adb du SDK Android, à partir la connexion USB de l’ordinateur.

Configurer le téléphone

Pour que l’outil d’installation puisse fonctionner, il faut activer l’option Paramètres > Applications > Développement > Débogage USB sur le téléphone.

Configurer l’ordinateur

Il faut télécharger Android SDK, malheureusement non libre.

Sous GNU/Linux (plus précisément Ubuntu 9.10, adaptez selon votre distribution), voici comment l’installer et permettre la reconnaissance du Motorola Milestone (plus d’infos ici) :

sudo tar xzf android-sdk_r07-linux_x86.tgz -C /opt sudo ln -s /opt/android-sdk-linux_x86/tools/adb /usr/local/bin echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules sudo service udev reload

Si vous utilisez un système 64 bits, vous aurez besoin également besoin de ia32-libs :

sudo apt-get install ia32-libs

Vous pouvez maintenant brancher votre téléphone sur le PC en USB. Pour vérifier que tout fonctionne :

$ adb devices List of devices attached 040140621600C00D device

Installer une application

En ligne de commande

Pour installer une application à partir de l’ordinateur, rien de plus simple :

$ adb install -r ConnectBot-svn-r466-all.apk 2343 KB/s (642578 bytes in 0.267s) pkg: /data/local/tmp/ConnectBot-svn-r466-all.apk Success

(-r permet d’écraser si l’application est déjà installée)

À partir d’un gestionnaire de fichiers

Vous pouvez ensuite ajouter la possibilité d’installer les .apk graphiquement à partir de votre gestionnaire de fichiers. Si vous utilisez nautilus, vous pouvez jouer avec nautilus-actions :

Voici la commande de mon action nautilus (j’ouvre un xterm pour avoir le résultat de l’installation, si vous avez mieux, n’hésitez pas) :

xterm -T adb -e 'cd "%d" && /usr/local/bin/adb install -r "%f"; sleep 5'

Conclusion

J’ai réinitialisé mon téléphone, il n’a plus de compte gmail associé et je n’ai pas accepté les conditions du market, ce qui ne m’empêche donc plus d’installer les applications dont j’ai besoin.

Même pour ceux qui veulent garder leur compte ou utiliser le market, c’est quand même plus rapide d’installer un .apk grâce à un clic-droit, « installer » à partir du gestionnaire de fichiers plutôt que de copier le .apk sur la carte SD, débrancher le câble USB, aller dans une appli qui va chercher le fichier et cliquer sur « installer ».

09 Janvier 2010 à 13:39

Nouvelle année, nouveau travail. via DidRocks'blog

La nouvelle année arrive et il était temps de changer de vie professionnellement parlant.

Je quitte donc une société éditrice de logiciel propriétaire pour un travail plus en relation avec le logiciel Libre.

Mais pourquoi publier tout cela sur le planet ubuntu francophone et quel est le lien avec ce dernier ? Tout simplement parce que mon nouvel employeur est Canonical Ltd, sponsor officiel d'Ubuntu!

Je vais donc continuer une part de mes actions que je faisais précédemment en tant que contributeur bénévole (packager et mettre à jour GNOME dans Ubuntu) en joignant la desktop team de Canonical. Je serais également responsable du packaging de la version Ubuntu Netbook Edition (précédemment nommée Ubuntu Netbook Remix). Bref, que du bonheur de pouvoir enfin travailler à plein temps sur des projets libres, et encore plus sur Ubuntu même !

Je continuerai bien entendu à vous donner des informations sur la distribution (par exemple, le suivi des Ubuntu Developer Summit) et la vie de la communauté ubuntu-fr (restant pour l'instant secrétaire de l'association). J'essayerai de m'accorder plus de temps afin de partager ici un peu plus ce qu'il se fait sur la version de développement de la distribution.

L'année s'annonce bien en résumé, vivement lundi. :)

Dans la continuité des articles consacrés à l’auto-hébergement des mails, je vais présenter quelque chose que je voulais mettre en place depuis un moment : le tri du courrier directement sur le serveur.

Introduction

Lorsqu’on est abonné à des mailing-lists ou qu’on reçoit des notifications de forums ou de blogs, il est inconcevable de garder tous ses mails dans un seul et même dossier, et impensable de les déplacer manuellement (à moins de passer 30 minutes par jour à les trier). Un tri doit être mis en place automatiquement, en se basant sur les en-têtes des mails reçus.

J’utilisais jusqu’à maintenant les filtres de messages de mon client mail, Evolution, mais ça n’était pas forcément approprié :

  • d’une part c’est très long avec un compte IMAP (les dossiers étant gérés côté serveur), car le client doit récupérer localement les nouveaux messages du serveur et les analyser ; s’il faut en déplacer un, il doit demander au serveur de le copier de la boîte de réception vers le dossier destination adéquat, puis demander de le supprimer de la boîte de réception, et enfin récupérer le messages déplacé… Rien que ça !
  • d’autre part, lorsqu’on accède à ses mails à partir de plusieurs endroits (par exemple le client mail, le webmail et le téléphone portable), il devient évident que ce ne peut pas être le rôle des clients de trier les messages…

C’est donc au serveur de placer les mails dans le bon dossier dès la réception. C’est ce que procmail permet de faire.

Les dossiers IMAP

Les dossiers IMAP sont des dossiers physiques contenus dans ~/Maildir (le répertoire des mails) qui respectent une structure particulière :

  • leur nom commence par « . » (ce sont des dossiers cachés) et les sous-dossiers « logiques » sont séparés par des « . » (par exemple, si je veux un dossier a contenant un sous-dossier b, le répertoire physique sera ~/Maildir/.a.b) ;
  • ils contiennent 3 sous-dossiers physiques : cur, new et tmp.

Pour les créer, il suffit d’utiliser maildirmake ou maildirmake.dovecot, à partir du répertoire ~/Maildir :

maildirmake.dovecot .forums.ubuntu-fr maildirmake.dovecot .forums.developpez

pour obtenir l’arborescence suivante :

|-- .forums.developpez | |-- cur | |-- new | `-- tmp `-- .forums.ubuntu-fr |-- cur |-- new `-- tmp

Il est également possible de les créer graphiquement grâce à un client mail.

Configuration de postfix

Il faut indiquer à postfix que procmail va s’occuper de trier les mails, en lui précisant dans /etc/postfix/main.cf :

mailbox_command = /usr/bin/procmail

Il faudra ensuite recharger la configuration :

sudo /etc/init.d/postfix reload

Définir les règles de tri

Tout se passe dans le fichier (à créer) ~/.procmailrc, qui contient deux parties : la définition des variables et la définition des « recettes » (les règles de tri).

Les variables

Pour les variables, copiez simplement ceci (en décommentant les 2 premières lignes si vous voulez des logs).

#VERBOSE=yes #LOGFILE=.procmail.log SHELL=/bin/sh PATH=/bin:/usr/bin:/usr/local/bin MAILDIR=Maildir/ DEFAULT=./

Les recettes

Les recettes sont écrites sous la forme suivante :

:0 [drapeaux] [ : [verrou_local] ] <zéro ou plusieurs conditions (une par ligne)> <exactement une ligne d'action>

Les conditions commencent toutes par « * », suivie d’une expression régulière. Pour qu’une recette exécute l’action définie, il faut que le mail en question valide toutes les conditions.

Pour faire simple, nous allons simplement créer des règles qui déplacent des mails dans des dossiers. Pour définir une telle action, il suffit d’écrire le nom du dossier, en terminant la ligne par / (très important, cette convention indique à procmail que le dossier est au format maildir).

Un exemple étant plus parlant, voici une règle qui déplace toutes mes notifications de blog dans un dossier blog :

:0 * ^From: .*<wordpress@blog\.rom1v\.com>$ .blog/

EDIT 01/12/2010 : cet autre exemple permet d’envoyer une copie des mails validant les conditions à des adresses e-mails spécifiées (je m’en sers pour transférer les messages vocaux de mon répondeur téléphonique sur plusieurs adresses) :

:0c * ^From: telephonie\.freebox@freetelecom\.com$ ! autre@email.com

Résultat

Au final, voici un extrait de mon fichier ~/.procmailrc (je n’ai pas mis toutes les règles, c’est juste pour donner quelques exemples) :

#VERBOSE=yes #LOGFILE=.procmail.log SHELL=/bin/sh PATH=/bin:/usr/bin:/usr/local/bin MAILDIR=Maildir/ DEFAULT=./ :0 * ^From: .*<wordpress@blog\.rom1v\.com>$ .blog/ :0 * ^Reply-To: .*<[0-9]+@bugs\.launchpad\.net>$ .bugs.launchpad/ :0 * ^From: .*<dev\.null@ubuntu-fr\.org>$ .forums.ubuntu-fr/ :0 * ^List-Id: <april\.april\.org>$ .ml.april/

Comme beaucoup d'entre vous le savent déjà, le site www.ubuntu-fr.org a été migré il y a maintenant plusieurs mois sous Drupal...

Enfin migré il faut vite le dire : il vaut mieux dire que nous avons, avec nos connaissances très limitées, mis tant bien que mal les différents éléments indispensables au site. Et encore certains ne sont pas sous sous la forme souhaitée...

Alors voilà : nous avons lancé sur le site un appel plus ou moins timide depuis septembre, mais peu de réaction de notre très chère communauté. Et je ne peux pas croire que parmi toutes les personnes intéressées par Ubuntu et Ubuntu-fr, il est impossible à trouver des développeurs (ou du moins des gens à l'aise) sur Drupal pour nous aider dans nos tâches. Car il faut le dire actuellement le drupal n'est pas du tout utilisé tel qu'il devrait l'être.

Pire même des choses qui sont terminées sur le site de développement ne sont pas migrées sur le site principal par manque de temps des principaux acteurs de la migration...

Alors je lance un appel : si des personnes connaissant drupal sont intéressées pour rentrer un peu plus à l'intérieur de la communauté ubuntu-fr, qu'il se manifestent sur ce billet ou qu'ils me contactent... Et ce sera avec un vrai plaisir que nous les accueillerons...

Je n'avais pas signalé la sortie de la version 0.2, et bien je vais me rattraper avec celle de la version 0.3. GNOME Split, le logiciel de découpage et assemblage de fichiers, évolue petit à petit. La version 0.1 était une première version plutôt avancée, par conséquent la version 0.2 n'a vu arriver que des corrections de bugs (dont un critique pour les utilisateurs de la version 2.22.3 de glib). Alors qu'est-ce qu'il y a dans cette version ?

  • Découpage et assemblage au format GNOME Split,
  • Découpage et assemblage au format Xtremsplit,
  • Découpage et assemblage sans format spécifique (semblable à la commande "split", assemblage par "cat" possible),
  • Réorganisation de la boîte de dialogue de préférences,
  • Optimisation du code de l'interface graphique,
  • Ajout d'info bulle sur les boutons de la barre d'outils,
  • Correction de bugs divers.

Le code source peut être récupéré soit via cette archive, soit via le dépôt Bazaar. Pour les utilisateurs de Ubuntu 9.10 Karmic Koala, un dépôt PPA (dépôt non officiel donc attention hein) est à disposition. Une fois ce dernier ajouté, il ne suffira alors qu'à utiliser la commande :
~$ sudo aptitude install gnome-split


Ce billet vient compléter mon premier billet concernant l’installation d’un serveur mail sur Ubuntu Server.

Objectif

La configuration de postfix présentée dans mon premier billet limitait (dans un but de sécurité) l’envoi d’un mail à une personne distante qu’à partir du réseau local (ou une liste de réseaux prédéfinis). Cela est parfait lorsqu’on envoie toujours les mails de chez soi, avec au besoin la possibilité d’envoyer un mail de n’importe où grâce au webmail.

Mais l’utilisation du SMTP à distance devient utile lorsqu’on veut envoyer un mail à partir de chez un ami avec son client mail (plus pratique pour les pièces jointes par exemple), et cela devient carrément indispensable lorsqu’on veut écrire des mails à partir de son téléphone de n’importe où (sans IP fixe).

Ne plus restreindre l’utilisation du SMTP au réseau local implique évidemment de rajouter une couche d’authentification…

Je vais donc décrire comment mettre en place une authentification SMTP-AUTH « en clair » (bien sûr encapsulée dans une connexion chiffrée TLS, déjà configurée si vous avez suivi le premier tuto) qui correspond au login et mot de passe de l’utilisateur système. Il a été écrit pour une installation sur Ubuntu Server 9.10, il faudra donc peut-être l’adapter légèrement si vous utilisez autre chose.

Configuration de SASL

Il faut installer le paquet sasl2-bin :

sudo apt-get install sasl2-bin

et ajouter l’utilisateur postfix au groupe sasl :

sudo adduser postfix sasl

Ouvrez ensuite /etc/default/saslauthd, remplacez :

START=no

par :

START=yes

et remplacez la dernière ligne par :

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Démarrez le service :

sudo /etc/init.d/saslauthd start

Configuration de postfix

À la fin de /etc/postfix/main.cf, rajoutez :

# SASL smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

Dans ce même fichier, vous pouvez également supprimer le réseau 192.168.0.0/24 de la variable mynetworks (si vous l’aviez rajouté).

Créez le fichier /etc/postfix/sasl/smtpd.conf contenant :

pwcheck_method: saslauthd mech_list: plain login

Rechargez la configuration de postfix :

sudo /etc/init.d/postfix reload

Voilà, tout est prêt.

Configuration du client mail

Dans votre client mail, indiquez que le serveur SMTP requiert une authentification, de type CLAIR (ou PLAIN), et précisez votre compte utilisateur à utiliser.

Pages