8/13/07

Administration de Tomcat 5.5 (Debian Etch)


Petit pense-bête qui pourrait être utile à d'autres.

Le paquet tomcat5.5-admin ne semble pas fonctionner en offrant au mieux une belle page blanche lors d'un accès à la page d'admin de Tomcat. C'est en fait le paquet libstruts1.2-java dépendant de tomcat5.5-admin qui pose problème.

Solution personnelle :
- Installer le paquet tomcat5.5-admin et ses dépendances.

# apt-get install tomcat5.5-admin

- Récupérer le tarball pour administrer Tomcat sur le site d'Apache et le décompresser par exemple dans /tmp :
# cd /tmp
# wget http://apache.miroir-francais.fr/tomcat/tomcat-5/v5.5.23/bin/apache-tomcat-5.5.23-admin.tar.gz
# tar xvzf apache-tomcat-5.5.23-admin.tar.gz

- Copier le struts.jar de l'archive dans l'arborescence de Tomcat. Cela écrasera le lien vers le struts.jar livré avec libstruts1.2-java
# cp apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/struts.jar /usr/share/tomcat5.5/server/webapps/admin/WEB-INF/lib/

- Redémarrer Tomcat
# /etc/init.d/tomcat5 restart

7/26/07

Linus Torvalds : I've never used Debian


A curiosity: which is your favourite distribution, and which on e do you consider more secure?

I don’t really tend to care much, I’ve changed distributions over the years, and to me the most important thing tends to be that they are easy to install and upgrade, and allow me to do the only part I really care about - the kernel.

So the only major distribution I’ve never used has actually been Debian, exactly because that has traditionally been harder to install. Which sounds kind of strange, since Debian is also considered to be the “hard-core technical” distribution, but that’s literally exactly what I personally do not want in a distro. I’ll take the nice ones with simple installers etc, because to me, that’s the whole and only point of using a distribution in the first place.

So I’ve used SuSE, Red Hat, Ubuntu, YDL (I ran my main setup on PowerPC-based machines for a while, and YDL - Yellow Dog Linux - ended up the easiest choice). Right now, most of my machines seem to have Fedora 7 on then, but that’s only a statement of fact, not meant to be that I think it’s necessarily “better” than the other distros.

(emphasis is mine)

« Debian, plus difficile à installer », rien que les mots me font rire.

Maintenant, tout dépend de quoi on parle. S'agit-il d'installer un serveur ou un desktop ? Mais même pour un desktop, bien que cette image de distribution « difficile à installer » colle à la peau de la Debian, à mon sens, ce n'est plus vrai depuis l'arrivée de la Etch.

Quant aux serveurs, ce que je leur demande, ce n'est pas d'être facile à installer mais de fonctionner sans « me prendre la tête » une fois en production et parmi toutes les distributions utilisées depuis plus de deux lustres maintenant, la Debian est la seule à avoir répondu à mes attentes.

the most important thing tends to be that they are easy to install and upgrade
(emphasis is mine)

La Debian est certainement la plus facile à upgrader.

Allez... apt-get remove linus-comment ;)

source : oneopensource.it

7/25/07

Tips Google Images


On peut ajouter &imgtype=face dans la barre d'adresses lors d'une recherche sur Google Images pour n'afficher que des portraits :

On peut aussi remplacer « face » par « news » pour obtenir les images d'actualité.

Logo de Ruby on Rails interdit


Mon nouveau logo Rails :)
Comme il est précisé dans cet article, cela me rappelle étrangement la guéguerre entre Mozilla et l'équipe Debian concernant les logos de Firefox et de Thunderbird.

En résumé, David Heinemeier Hansson, le papa de « Ruby on RailsTM » interdit l'utilisation du logo de RailsTM. Ce n'est pas encore tout à fait clair puisqu'on ne sait pas vraiment si cette interdiction concerne également les sites Web. Ce qui est sûr, c'est que DHH interdit l'utilisation du logo de RailsTM sur les livres (à part les siens bien évidemment) précisant qu'il faudrait qu'il s'assure de la qualité du livre avant de donner son aval mais qu'il n'en a pas le temps (ce qui peut se comprendre).

DHH a tellement apporté à la communauté qu'on peut bien lui laisser son logo, non ? On ne va quand même pas le « logotomiser » pour qu'il change d'avis.

7/24/07

Gagnez 2 millions de dollars en jouant à Eternity II


Eternity II
Le puzzle Eternity est de retour à partir du 28 Juillet 2007.

Lors de sa première édition en 1999, 2 étudiants de Cambridge avait remporté le jackpot après 7 mois d'efforts (source).

A compter de samedi, il sera possible d'acheter la boite du jeu Eternity II et tenter ainsi d'être le premier à placer correctement les 256 pièces avant le 31/12/08 pour empocher les 2 millions de dollars (soit environ 1,45 millions d'euros).

Pour comprendre le principe très simple de ce jeu créé par Christopher Monckton, le mieux est encore d'essayer la démo disponible sur le site d'Eternity (uniquement 16 pièces) et d'extrapoler le problème afin d'imaginer la lourde tâche qui consistera à disposer correctement les 480 paires nécessaires pour empocher le pactole.

7/15/07

Devinettor


Pensez à un personnage imaginaire ou réel et Devinettor le trouvera après vous avoir posé quelques questions.

Ça ne paye pas de mine mais je trouve le résultat réellement étonnant : http://devinettor.com

7/14/07

Repère internet (2)


Il est parfois inquiétant de voir à quel point nous sommes conditionnés.


Si vous n'attendez pas que quelque chose se charge dans le paragraphe au-dessus, c'est que vous n'êtes pas encore perdus. Dans le cas contraire, je suis au regret de vous annoncer que rien ne se chargera, c'est juste un gif animé. Frustré, le mordu de Web 2.00 ?

Repère internet (1)


Voici une vidéo pour une très bonne cause qui crée habilement la surprise en utilisant « nos repères internet » (ceux de Youtube pour cette vidéo).

Vidéo indisponible

7/6/07

Dépôt des programmes Google pour Debian Etch


C'est par ici que ça se passe.

Voir une session shell en temps réel


Un post rapide en pensant à quelqu'un qui va dispenser fin Août une formation « Administration Debian ».

Pour suivre un cours et voir ce que le formateur écrit, il y a évidemment le rétro-projo mais c'est tout de même moins fun que gems :

# apt-get install gems

gems est composé d'un serveur et d'un client qui permet de suivre en temps réel ce qui est tapé dans la console du serveur.

Une petite démo sera sans doute plus parlante :


[ECHAP] pour arrêter le gif animé

3/19/07

$ head -n1 news


3/1/07

Chapeau !


Après 2 jours sous Windows pour tester un logiciel, je tiens à faire part de mon admiration sincère pour tous ceux qui travaillent tous les jours par force ou par plaisir avec ce système.

Personnellement, je tente de rester zen en cherchant comment on peut réellement travailler efficacement avec un seul bureau et aussi peu de possibilités pour organiser son environnement de travail.

2/21/07

Dépôt Beryl pour Debian Etch


/etc/apt/sources.list :

deb http://debian.beryl-project.org etch main
deb-src http://debian.beryl-project.org etch main
# wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
# apt-get update

2/6/07

Beryl : paquets Debian Etch (0.2 svn 3671)


Prévu initialement pour un usage personnel, il n'y a pas de paquet aquamarine (KDE), pas plus que de paquet beryl-settings-simple (paramétrage basique).

beryl_0.1.9999.1~0beryl1_i386.deb
beryl-core_0.1.9999.1~0beryl1_i386.deb
beryl-manager_0.1.9999.1~0beryl1_i386.deb
beryl-plugins_0.1.9999.1~0beryl1_i386.deb
beryl-plugins-data_0.1.9999.1~0beryl1_all.deb
beryl-plugins-unsupported_0.1.9999.1~0beryl1_i386.deb
beryl-settings_0.1.9999.1~0beryl1_i386.deb
beryl-settings-bindings_0.1.9999.1~0beryl1_i386.deb
emerald_0.1.9999.1~0beryl1_i386.deb
emerald-themes_0.1.9999.1~0beryl1_all.deb
libberyldecoration0_0.1.9999.1~0beryl1_i386.deb
libberylsettings0_0.1.9999.1~0beryl1_i386.deb
libemeraldengine0_0.1.9999.1~0beryl1_i386.deb
bdock_0.1.0_i386.deb

beryl-dev_0.1.9999.1~0beryl1_i386.deb
beryl-core-dbg_0.1.9999.1~0beryl1_i386.deb
beryl-plugins-dbg_0.1.9999.1~0beryl1_i386.deb
beryl-plugins-unsupported-dbg_0.1.9999.1~0beryl1_i386.deb
emerald-dbg_0.1.9999.1~0beryl1_i386.deb
libberyldecoration-dev_0.1.9999.1~0beryl1_i386.deb
libberylsettings-dev_0.1.9999.1~0beryl1_i386.deb
libberylsettings0-dbg_0.1.9999.1~0beryl1_i386.deb
libemeraldengine-dev_0.1.9999.1~0beryl1_i386.deb
libemeraldengine0-dbg_0.1.9999.1~0beryl1_i386.deb

2/3/07

Beryl : svn rev 3618


Surpris de voir les plugins « Group and Tab Windows » passer en « beryl-plugins-unsupported ». Je n'aime pas le nom de l'endroit alors que je trouvais un intérêt au plugin lui-même comme, par exemple, pouvoir regrouper les applications par domaine d'activité (un classement supplémentaire au bureau virtuel). Pour la vidéo, j'ai pris l'exemple du développement mais on pourrait aussi imaginer avoir un gedit ou un gvim derrière le navigateur pour prendre des notes pendant qu'on surfe. Il me semble que cette idée avait été exploitée par Looking Glass.

Par défaut :
Touche Win+s sélectionne une fenêtre à grouper
Touche Win+g groupe les fenêtres
Touche Win+t met les applications sur un système d'onglets
Touche Win+flèche (droite/gauche) permet de passer à l'application suivante
Touche Win+u dégroupe les fenêtres

A la souris, il suffit de s'approcher de la barre de titre de l'application pour obtenir les applications disponibles.

2/2/07

Beryl : nouveau switcher


Un plugin développé par un certain Stefan (switcher_v2.3.c) est tout d'abord rentré dans le projet en tant que ring.c (dans les pluglins-extra) pour être finalement intégré directement au switcher.c.

Ce nouveau switcher (ALT-TAB) permet de parcourir les applications ouvertes sous la forme d'une ellipse à la « Looking Glass ». Le switcher utilisé dans la vidéo est le switcher avant intégration au projet (le switcher_v2.3.c).

1/31/07

GoodBye Microsoft


A l'heure où tout le monde ne parle que de ça, je ne vais pas juger Vista que je n'ai pas encore eu l'occasion de voir mais si vous voulez réellement disposer d'un système révolutionnaire, vous avez certainement plus de chance de l'obtenir en vous rendant sur goodbye-microsoft.com

1/29/07

Beryl 0.2.0 svn sur Debian Etch



Ayant eu quelques soucis avec l'affichage de mon xterm avec la version 0.1.5 de Beryl, je suis passé à la version 0.2.0 svn de Beryl (compilation des paquets Debian à partir des sources « svn »).

Lorsqu'on prend le temps de fouiller, on découvre quelques plugins sympathiques. Certains existaient déjà mais ne sont pas produits en paquet Debian comme la possibilité de faire une vidéo directement depuis Beryl (Touche Windows+F8 commence/termine l'enregistrement). La vidéo ci-dessus a été réalisée grâce à ce plugin. La qualité est normalement plutôt bonne mais a été malheureusement dégradée par l'upload chez Dailymotion. Pour preuve, la vidéo originale est disponible ici (< 10Mo). Ce plugin n'est pas le plus facile à compiler (seom, gpac, x264 : pas mal de dépendances non packagées par défaut) mais il vaut sincèrement le détour.

La 0.2.0 propose également des artworks pour changer par exemple les flocons (cf les feuilles mortes de la vidéo) ou le splashcreen de Beryl (non modifié dans la vidéo). Les images des applications icônisées lorsqu'on passe la souris dans la barre des tâches devaient, il me semble, déjà faire partie de la version 0.1.5 tout comme CTRL+ALT+ENTER pour le full-screen d'une application (indispensable).

La nouveauté qui devrait mettre du temps à être finalisée concerne le papier-peint des bureaux. Avoir un papier-peint différent pour chaque bureau est une excellente idée. On peut par exemple utiliser les images d'un panorama pour obtenir le résultat de la vidéo. Cette feature demandera sans doute à ce que des composants de Gnome soient modifiés pour permettre l'affichage des icônes sur le bureau (je ne vois pas vraiment d'autres solutions). Car pour l'instant, vous l'aurez compris, pas d'icône sur le bureau avec ce plugin. C'est plutôt une bonne nouvelle pour moi mais ne le sera peut-être pas pour tout le monde. Le temps que ce plugin arrive à maturité, cela a le temps de changer (j'espère néanmoins que dans la version finale l'option « 0 icône sur le bureau » sera conservée).

Enfin, je n'ai pas regardé les paquets de la Ubuntu mais, pour Etch et la suite de Beryl, je sens qu'on va s'amuser à jongler avec python2.4/2.5 (sous Etch python2.5-gtk n'existe pas et la nécessité d'installer python-all-dev n'arrange pas nos affaires - cf les problèmes éventuels pour lancer beryl-settings). Il faut malheureusement déjà ruser pour y arriver. Ça promet pour la suite ;)

1/22/07

Apprendre OpenOffice.org en vidéo


OpenOffice.orgVoici un site remarquablement complet permettant d'apprendre OpenOffice.org sans douleur grâce à des vidéos très pédagogiques.

La version d'OpenOffice.org utilisée pour les vidéos est un peu ancienne (1.1.3) mais cela devrait tout de même grandement aider ceux qui souhaitent mieux utiliser ou plus simplement passer à la suite bureautique OpenOffice.org.

Remerciements à Jean-Philippe pour ce lien.

1/21/07

Utiliser des applications Windows sous Linux (Debian Etch)


Lorsqu'on n'a pas le choix et qu'on souhaite utiliser une application appartenant au monde Windows, plusieurs solutions existent.

La première est d'essayer d'installer l'application en question sur son poste Linux en utilisant Wine. Si ça marche, on est sauvé. En cas d'échec, si on dispose d'une machine adaptée, la deuxième solution est d'installer Windows sur son poste Linux avec QEMU ou VMWare (voire faire l'image avec QEMU et installer Windows via le VMWare Player qui n'est pas libre mais néanmoins gratuit et très efficace). Enfin, une autre solution peut être d'accéder à un poste Windows distant avec rdesktop (« avec ou sans » son frontend tsclient).

QEMU, WMWare et rdesktop ont par contre l'inconvénient majeur de présenter à l'utilisateur l'environnement complet de Windows avec bureau et « tout le toutim Microsoft ». Tout ça pour utiliser une application particulière pendant quelques minutes, on a souvent l'impression d'utiliser un « canon de 75 » pour tuer un moustique. J'ai parfois besoin d'utiliser un applicatif de comptabilité et gestion commerciale sous Windows et cela me rebute réellement d'avoir devant les yeux l'environnement complet d'XP juste pour accéder à une facture. Je pense qu'il peut en être de même pour ceux qui développent des sites Web et qui ont juste besoin de contrôler le visuel avec Internet Explorer 7.

Heureusement, une nouvelle voie est proposée gratuitement par la société 2x. Comme l'explique très bien cet article, il suffit d'installer 2X Application Server for Windows Terminal Services sur le poste Windows XP (ou le serveur 2003) et décider des applications à publier. L'installation de l'application et les choix des applications à publier sont d'une simplicité enfantine (que ce soit pour la partie Windows ou l'installation et l'utilisation de la partie Linux), je ne m'attarderai donc pas sur ce sujet, l'article de SearchOpenSource.com étant très clair.

Bien que non précisé dans l'article, cela fonctionne aussi avec un simple VMWare Player ou pour l'accès à des applications d'un poste XP distant (cf vidéo).

Ce que j'apporterai en complément, c'est qu'il faut que la session de l'utilisateur du XP distant ou de la VMWare soit fermée pour que cela fonctionne correctement (sinon, on se retrouve dans un cadre de type RDP classique avec le bureau). D'autre part, par défaut, le clavier est de type QWERTY. Ainsi que le montre l'aide d'appserverclient, la possibilité de paramétrer cette option sera pour plus tard :

$ ./appserverclient 
2X Application Server Client.
Version 1.0.1775. Copyright (C) 2005-2006 2X Software.
Usage: ./appserverclient options
../..
-k: path to keymap file (not implemented yet)
En attendant, pauvre français, nous devrons nous contenter de faire une MAJ+ALT (gauche) pour passer le clavier en français pour chaque application ou commencer par appeler les « Options régionales » du « Panneau de configuration » et positionner le clavier français ce qui règle le problème pour la session en cours. En ce qui me concerne, comme ce n'est que pour utiliser une application bien précise de temps en temps, le MAJ+ALT me convient parfaitement.

Comme le montre la vidéo d'une piètre qualité (désolé mais la détérioration est terrible par rapport à la vidéo de base), l'appel du premier programme (ie7 dans la vidéo) ouvre la session ce qui rend la premier appel depuis Linux bloquant (il faut donc passer sur un autre screen/term pour lancer les programmes suivants). Pour libérer la session, un CTRL+C sur l'écran de la première commande est donc nécessaire.



Reste à noter que cette solution ne fonctionnera pas sur un Windows 2000 Pro ou un autre OS MS car la console 2x utilise bien sûr le bureau à distance d'XP ou TSE pour un serveur 2003. Si, d'autre part, vous possédez un serveur Web sur votre poste Windows, il faudra délocaliser le port d'écoute de la console 2x qui, par défaut, est sur le port 80. Enfin, les windoziens pourront découvrir les autres possibilités de la solution 2x comme la publication web des applications.

1/18/07

Freebox : HomePlayer sur Debian Etch


HomePlayerCela fonctionne « out of the box » (ou presque)

Bien que le site officiel annonce :

Pré-requis : Java 1.5 ou + et VLC 0.8.5
Le HomePlayer fonctionne parfaitement avec la version VLC 0.8.6 de la Etch :
$ apt-cache policy vlc|grep Candidat
Candidat : 0.8.6-svn20061012.debian-1
On installe donc les paquets VLC :
# apt-get install vlc
Pour Java, la version du JRE actuellement proposé par Etch est la 1.5.0_10 ce qui convient au pré-requis fixé :
$ java -version
java version "1.5.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
Se reporter à ce post pour l'installation de Java (utilisez le « Nouveau Debian Way »).

On récupère enfin la dernière version du HomePlayer (1.4.0.2) en passant par le site officiel ou plus directement en cliquant ici. Une fois l'archive récupérée (par exemple dans son Home Directory), on la dézippe dans un répertoire dédié :
$ mkdir HomePlayer && cd HomePlayer
$ unzip ../HomePlayer-1.4.0.2.zip
Pour lancer le HomePlayer, on utilise le script homeplayer.sh mais auparavant, il faut le convertir car il est au format DOS :
$ dos2unix homeplayer.sh
Si vous ne disposez pas de la commande dos2unix, installez le paquet sysutils :
# apt-get install sysutils
Dernière étape, rendre le script exécutable avant de l'utiliser :
$ chmod u+x homeplayer.sh
$ ~/HomePlayer/homeplayer.sh &
Vous devriez voir apparaître l'icône du HomePlayer dans la zone de notification de votre window/desktop manager (éditez vos préférences via un clic du bouton droit sur l'icône).

Have Fun ;)

1/17/07

Sortie officielle de Flash 9 pour Linux (Debian Etch)


La version finale du player Flash 9 vient de sortir.

Récupérer l'archive en tar.gz et fermer le navigateur.

$ tar xvzf install_flash_player_9_linux.tar.gz
Passer en root pour installer le plugin
# cd install_flash_player_9_linux
# ./flashplayer-installer
Si vous utilisez Firefox :
Please enter the installation path of the Mozilla, SeaMonkey,
or Firefox bdir= /usr/lib/firefox

Adobe Flash Player 9 will be installed in the following directory:
Browser installation directory = /usr/lib/firefox
Proceed with the installation? (y/n/q): y
Installation complete.

Perform another installation? (y/n): n

Please log out of this session and log in for the changes to take effect.

The Adobe Flash Player installation is complete.rowser (i.e., /usr/lib/mozilla): /usr/lib/firefox
Redémarrer Firefox et se rendre ici pour contrôler si Flash est correctement installé.

Installation pour le fun « à la geek » :
Une fois l'archive récupérée dans son Home Directory :
$ tar xvzf install_flash_player_9_linux.tar.gz
$ su
# cp {install_flash_player_9_linux/,/usr/lib/firefox/}libflashplayer.so

1/16/07

A quoi ressemble votre jardin virtuel ?


Pourquoi ne pas profiter de vos moments de surf sur le net pour cultiver votre jardin virtuel et le découvrir en fin de journée ?

Packet Garden collecte les informations concernant votre activité réseau et les met en forme d'une façon plutôt poétique comme le montre l'activité de cette journée.


La taille des montagnes et la profondeur des vallées représentent le volume de données échangées (upload/download), leur situation est en rapport avec l'origine de l'adresse IP (geolocalisation) alors que les protocoles utilisés sont représentés par des plantes différentes. A titre d'exemple, voici celle qui illustre les protocoles sécurisés de type SSH ou HTTPS :

Au passage, je vous présente également la marijuana de votre jardin virtuel :

Une fois les données représentées, on peut ensuite se déplacer dans son jardin virtuel (par discrétion pour mes clients, je n'ai pas demandé l'affichage des adresses IP) :


Bien que Debian Etch ne soit pas indiqué sur le site de Packet Garden, ça fonctionne parfaitement avec les paquets Debian Sid proposés (en fait, c'est un tarball qui est proposé mais les paquets Debian et Ubuntu sont ici).

Si, comme moi, vous avez droit au « Known Bug : sysfont error on init on some systems (the fix will be in the next version) », pour une Debian Etch, éditez le fichier sysfont.py à la ligne 181 :

vi /var/lib/python-support/python2.4/soya/pudding/sysfont.py +181
Puis, ajouter le path vers defoma pour que Soya Pudding trouve les polices à utiliser :
paths = ['/usr/X11R6/lib/X11/fonts', '/usr/share/fonts', '/var/lib/defoma']
Des versions existent également pour Windows et Mac.

J'aimerais bien savoir à quoi ressemblera votre jardin ;)

Lien vers Packet Garden

1/15/07

Satanés contacts Gmail !


Gmail, c'est bien. Accéder à un contact Gmail même avec la souris, c'est déjà moins bien. Ne parlons pas de l'accès au clavier qui est carrément déprimant.

La solution la plus rapide pour accéder à une fiche contact semble être ceci. Si quelqu'un a mieux, qu'il n'hésite pas à se manifester par mail.

Mais pourquoi « Monsieur Google » ne donne-t-il pas simplement un accès rapide à la fiche contact directement depuis un mail reçu ?

Crève


Associer

xset dpms force off
and « go to bed for a while »

Peu utilisé mais tellement élégant


Lorsqu'on sait que :

echo a{b,c,d}e
retourne
abe ace ade

Il est bien plus élégant et bien plus rapide d'écrire :
cp .vimrc{,.bak}
que
cp .vimrc .vimrc.bak

ou
mkdir -p foo1/foo2/{src,examples,app}
que
mkdir -p foo1/foo2/src
mkdir foo1/foo2/examples
mkdir foo1/foo2/app

1/14/07

pipe, fifo & ssh


L'espace de stockage d'un serveur ne permet plus de faire une archive car le cumul de la taille du tarball et des données existantes sur le serveur représente plus que l'espace disponible.

Dans ces conditions, comment effectuer un transfert ou une copie des données sur un autre serveur ?

Un pipe utilisé via ssh va venir à notre secours (FULL est le serveur plein, /srv le répertoire à sauvegarder et EMPTY le serveur qui récupère l'archive).

Depuis FULL :

# mkfifo /tmp/fifo
# tar czf /tmp/fifo /srv

La dernière commande entrée est bloquante. FULL attend qu'on lise la fifo.

Depuis EMPTY, on va aller lire la fifo pour récupérer le contenu du tarball :
# ssh -e none FULL cat /tmp/fifo > mon_tarball.tgz

1/13/07

remind & backtick screen


UPDATE 15/01 :
modif :
- section 1°) (>> au lieu de >)
- section 2°) (script modifié)
- section 4°) (alias r et vr)
motif :
une alerte non-consultée pouvait être écrasée par l'alerte suivante


Comme vu précédemment, l'affichage des alertes de remind peut se faire via des fenêtres pop-up (gxmessage ou autre). Néanmoins, cela représente des défauts majeurs dont celui de perdre le focus au moment le plus inopportun (lois de Murphy en action). Enfin, ce n'est pas le plus adapté pour des connexions ssh et ça n'a aucun intérêt lorsqu'on passe 95% de son temps dans des screen.

Reste à mettre en place une solution qui permette d'être alerté sans pour autant perturber l'activité en cours sur les différents écrans. Utiliser le « backtick » de screen est ce qui m'a paru le moins « obstrusif ».

1°) On commence par demander à remind d'écrire ses alertes dans un fichier qu'on appellera .rappels. Pour cela, on lance la commande suivante au démarrage de X et/ou lors du login de l'utilisateur.

remind -zk"echo %s >> /home/mon_user/.rappels" &

2°) On crée un script permettant de lire le nombre d'alertes envoyées par remind dans le fichier .rappels (script remind-me.sh à mettre dans ~/bin) :
#!/bin/sh
# remind-me.sh (bc 2007)
# modifier RAPPEL_FILE pour votre usage
RAPPEL_FILE='/home/mon_user/.rappels'

if [ -e $RAPPEL_FILE ] && [ -s $RAPPEL_FILE ]; then
sort -u $RAPPEL_FILE -o $RAPPEL_FILE
nbl=`wc -l $RAPPEL_FILE | cut -f1 -d' '`
case "$nbl" in
"1")
nbw=`wc -w $RAPPEL_FILE | cut -f1 -d' '`
if [ $nbw -gt 0 ]; then
echo "1 rappel"
else
exit 0
fi
;;
*)
echo "$nbl rappels"
;;
esac
else
exit 0
fi

3°) On modifie le .screenrc de l'utilisateur pour afficher le backtick qui utilise le script remind-me.sh. Voici une proposition pour la partie qui nous intéresse :
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{R}%{+B} %1` %{g}%{-B}][%{B} %D %d/%m %{W}%c %{g}]'
backtick 1 0 60 remind-me.sh

On demande que le rafraîchissement se fasse toutes les minutes.

4°) On crée 2 alias (dans son .bash_aliases ou son .bashrc). Le premier alias 'r' (comme 'rappels') affichera le contenu de .rappels alors que le second alias 'vr' (comme 'vider les rappels') videra le contenu du fichier ~/.rappels.
alias r='sort -u ~/.rappels'
alias vr='> ~/.rappels'

En résumé, ça donne ce résultat :

Pour la démo, le rafraîchissement du backtick est de 5 secondes.

1/12/07

remind en français (Debian Etch)


wyrd, le compagnon de remindPour mon organisation personnelle, en complément de Google Calendar, j'utilise l'excellent remind. Il est sans doute d'un abord plus rude que celebrat mais permet des paramétrages et des rappels que même les ténors du marché ne savent pas gérer.

Avec remind, il devient par exemple très simple de mettre en place un rappel pour « le dernier Lundi de chaque mois » ce que permettent difficilement voire pas du tout la plupart des agendas actuels. Sachant que remind est aussi capable de lancer des commandes ou des scripts, on imagine assez facilement tout le potentiel :
REM Lundi 1 --7 RUN /home/mon_user/bin/mon_backup.sh
=> lancera par exemple un backup personnel tous les derniers Lundi de chaque mois

Pour les alertes, il suffit de lancer la commande suivante au démarrage du window manager :
remind -zk"gxmessage -center -default "okay" -title "Rappel" -borderless %s" &
(apt-get install gmessage s'il n'est pas installé)

Malheureusement, par défaut, remind est en anglais car le choix du langage se fait au moment de la compilation. Voici donc le paquet remind pour Debian Etch avec la localisation française.

Si on souhaite gérer ses événements visuellement, il est même possible d'utiliser des frontends comme le célèbre wyrd.

1/5/07

API Ruby on Rails : Moteur de recherche


1/3/07

.inputrc


Pour faire une recherche dans le .bash_history, CTRL+R est disponible par défaut.

En complément, il est possible d'effectuer une recherche sur le début de la commande avec les flèches haut et bas après avoir rajouté 2 lignes à son .inputrc (ou dans le /etc/inputrc pour la mise à disposition de tous les utilisateurs) :

# Déplacement dans l'historique en utilisant les flèches bas et haut
"\e[A": history-search-backward
"\e[B": history-search-forward

et quitte à modifier son inputrc :
# Les beeps me saoulent
set bell-style visible
# Par pitié, 1 seul TAB pour le complètement !
set show-all-if-ambiguous on

1/2/07

Voeux de G33k