Katapult est un lanceur d'applications intégré à Kubuntu[1]. Il tourne en tache de fond et est appelé à la demande par l'appui sur Alt+Espace. Une fenêtre apparaît alors et vous commencez à taper un nom d'application. Katapult va alors chercher dans votre menu[2] ce qui correspond aux premières lettres entrées. Une fois la bonne trouvée, vous tapez Entrée et Katapult se charge de démarrer le programme nécessaire.
Quand vous avez les mains sur le clavier, vous pouvez alors lancer n'importe quelle application (et plus, voir ci-dessous) présente dans votre menu sans toucher à la souris.
Par exemple, si vous faîtes Alt+Espace puis A M A, il va vous proposer de lancer amaroK.
Mais Katapult ne se contente pas de chercher dans le menu K, il peux aussi via plusieurs plugins :
se comporter comme une calculatrice
chercher dans les bookmarks (et lancer le navigateur)
ouvrir un dossier dans le répertoire de l'utilisateur
chercher dans la base de musique d'amaroK (quand celui-ci est démarré)[3]
Pour le configurer (des/activer des plugins, changer de skin...) tapez Ctrl+C une fois Katapult affiché et choisissez Configurer dans le menu contextuel.
Pour conclure, voici quelques petits liens utiles :
Bref, Katapult enlarge your productivity et permet de réduire d'au moins 42.4% l'usure de votre souris. Pourcentage qui peux monter à 67.9% selon les raccourcis claviers que vous utilisez en plus (Alt+F4, Ctrl+Alt+F1, Ctrl+Alt+Backspace ...) Mais attention, c'est une drogue, une fois essayé, vous ne pourrez plus vous en passer !
Et pour ceux qui, comme moi, en sont devenus dépendants, mais sont scotchés sous windows au boulot, je leur propose de regarder Launchy[4].
Par JJL,
dimanche 24 septembre 2006 à 23:31 ::kubuntu
Généralités
Il existe de nombreuses solutions pour faire de la synthèse vocale sous Linux (aussi appelée TTS). La plupart est du à des universitaires. Nous allons en étudier une puis voir comment l'intégrer dans KDE.
NB: que les puristes de la synthèse vocale pardonnent mes approximations, les cours que j'ai suivis commencent à dater
Le principe général est à partir d'un texte brut :
le traiter de manière à le transformer en entités élémentaires appelées phonèmes
ajouter des informations de prononciation (durée, accent tonique ...) : c'est la prosodie
créer un fichier vocal en concaténant les sons pré-enregistrés correspondants aux phonèmes ou diphones[1]
mbrola : un nombre incoyable de voix/langues, mais non libre
C'est tout de même ce dernier que nous allons utiliser.
le moteur de synthèse : mbrola
mbrola est un synthétiseur de parole multi-langage malheureusement non libre mais tout de même gratuit[2]. Il a l'avantage de fonctionner facilement et surtout de disposer de nombreuses base de diphones.
Pour l'installer, il vous faut télécharger les binaires ainsi que au moins une base de diphones. Vous vous retrouvez alors avec des fichiers zip :
mbr301h.zip : qui contient les binaires
fr1-990204.zip, fr2-980806.zip ... : avec les voix
Nous allons installer ceci dans /opt pour ne pas polluer notre système :
sudo mkdir /opt/mbrola
cd /opt/mbrola
sudo chown jjl:jjl . # changez cela si vous êtes en multi-utilisateurs
unzip /home/jjl/sources/install/mbrola/mbr301h.zip
unzip /home/jjl/sources/install/mbrola/fr1-990204.zip
unzip /home/jjl/sources/install/mbrola/fr2-980806.zip
ln -s mbrola-linux-i386 mbrola # selon votre architecture
Hum, il semble que le neolao player ai du mal sur ce morceau alors qu'il passe très bien dans XMMS
Si vous voulez éviter de créer un .wav à chaque fois, essayez ceci :
./mbrola fr2/fr2 fr2/TEST/hier.pho -.au | aplay
C'est assez impressionnant. Mais, autant vous prévenir tout de suite, nous n'obtiendrons pas cette qualité. La qualité de la diction proviens pour une grosse part de la prosodie, qui est très difficile à obtenir automatiquement. Nous allons quand même continuer
La découpe en phonèmes : lliaphone
mbrola attends un fichier de phonème. Il nous faut donc un autre programme qui transforme du texte brut en phonèmes avec informations de prosodie. Nous allons utiliser lliaphon qui est distribué sous licence GPL. Il est dérivé de Lia_Phon initialement développé par Frederic Bechet et spécifique au français.
Commencez par télécharger et décompresser la version 0.4. Nous allons l'installer avec mbrola dans /opt :
cd /home/jjl/sources/install/mbrola/lliaphon-0.4
./configure --prefix /opt/mbrola/lliaphon
make
make install
Pour tester, nous allons utiliser un script fourni avec lliaphon :
cd /opt/mbrola/lliaphon
echo "Bonjour, je suis un ordinateur.">/tmp/test.txt
export MBROLA_VOICE=/opt/mbrola/fr2/fr2
export PATH=$PATH:/opt/mbrola/
./bin/lliaphon /tmp/test.txt
./bin/play_ola /tmp/test.ola
à partir de KSayIt : Settings/Configure KSayIt/Launch Control Center
en lançant kttsmgr à partir de la ligne de commande
Puis nous allons configurer kttsmgr pour qu'il utilise le couple lliaphon/mbrola :
Talkers / Ajouter / Langue: autre / Synthesizer: Show all - commande
Choisir la langue dans la fenêtre qui apparaît
Entrez la commande : /opt/mbrola/tts %t %f %w
Et voila, relancez Konqueror et vous avez maintenant une option pour lire le texte séléctionné :
Et vous entendez :
Quelques mots sur festival
festival est un moteur de synthèse vocale complet et open-source. Mais il ne fonctionne pas directement en français même s'il semble possible d'arranger cela (voir ci-dessous)
Pour l'installer :
sudo apt-get install festival
Pour le tester :
echo "hello, I'm a computer" | festival --tts
Vous pouvez aussi l'utiliser très facilement avec KTTS.
Bonus : lire les titres d'un flux RSS
Je me suis amusé à faire un petit script python qui récupère un flux rss et en fait un mp3. Il nécessite :
la bibliothèque feedparser qu'il vous suffit de décompresser dans le même répertoire que mon script,
$ ./rss2mp3.py
usage: ./rss2mp3.py <RssFeedUrl> [NbTitles]
exple: ./rss2mp3.py http://kubuntu.free.fr/blog/rss.php 5
création d'un mp3 des titres des 5 derniers articles de mon blog
Vous pouvez le télécharger la : rss2mp3.py Si vous avez installé dans d'autres répertoires que moi, changez les variables en début de script
Pour aller plus loin
Essayer franfest qui permet d'intégrer le français dans le moteur open-source festival 1.4.3. voir ici
Essayer kttsd-contrib-plugins qui permet d'intégrer mbrola/txt2pho directement dans KTTS
Par JJL,
jeudi 14 septembre 2006 à 22:22 ::kubuntu
Il semblerai que la dernière mise à jour de sécurité du noyau (2.6.15-26.47) pose problème avec les drivers propriétaire nvidia et dans une moindre mesure ati.
Après redémarrage, le serveur Xorg ne redémarre pas et une erreur est affichée en rapport avec les pilotes nvidia.
Le bug est référencé dans Launchpad et une solution semble déjà trouvée et devrait être dispo sous 24h (voir à la fin du bug sus-cité)
En attendant, des solutions alternatives sont dispo dans les forums :
En ce qui concerne les cartes ATI, seule la 3D semble ne plus fonctionner. Voir ce post par exemple.
Edit: La correction est disponible, un simple upgrade devrait résoudre le problème.
Voila pour les faits.
Maintenant mes reflexions personnelles :
Voici une autre preuve que les drivers propriétaires c'est MAL ! Les drivers libres n'ont pas de problème.
La réactivité des développeurs est très bonne : 12h pour avoir la correction dans le 1er cas, 1h pour avoir une proposition de solution dans le second[1].
C'est la deuxième fois en moins d'un mois que le serveur graphique ne démarre plus suite à une mise-à-jour. Pour la première, je ne jette pas la pierre, tout le monde fait des erreurs et il semble que c'était un cas particulier. Mais la répétition dans un si court intervalle de temps me pose un cas de conscience !
Comment un gros problème comme cela peut passer au travers des tests de validation ? Je n'imagine pas que Canonical ne dispose de plusieurs machines, de configuration materielles diverses, pour tester les patchs avant de les deployer ! En plus une carte graphique nvidia, ce n'est pas une configuration exotique !
Oui, je suis conscient que valider des patchs c'est fastidieux et qu'il est beaucoup plus amusant de coder. J'ai fait assez de ces deux activités pour être d'accord. Mais quand on propose une distribution qui se veux à la fois LTS et grand public, la validation est un passage OBLIGATOIRE.
On peux alors objecter : faille dans le noyau, urgence à corriger ! La encore, je réponds NON : une distribution grand public ne peux pas se permetre de laisser les utilisateurs sur le carreau. D'autant que les failles n'ont pas l'air d'être des plus grosses[2].
Que pensera le débutant[3] qui en 1 mois va voir son Linux en rade 2 fois ? Car soyons clairs, se retrouver en ligne de commande dans ces cas, c'est être en rade complète ! Quels débutants savent éditer le fichier xorg.conf, utiliser lynks pour aller sur les forums, downgrader son noyau[4] ? J'ai très peur que ce genre de cas ne dégoute à jamais de Linux. Et ce n'est pas ca qui va résoudre le Bug #1.
Cela dit, les risques sont limités, uniquement pour les gens qui utilisent les drivers propriétaires et qui ont fait les mises-à-jours dans le mauvais intervalle de temps.
Bref, je suis toujours content de ma distribution et je ne vais pas la quitter de sitôt, mais ces deux graves problèmes si rapprochés me laissent un sale goût dans la bouche.
PS: merci de laisser les trolls dormir en paix
Notes
[1] on verra dans combien de temps c'est réellement corrigé
Par JJL,
mardi 12 septembre 2006 à 22:29 ::kubuntu
Voici rapidement, une petite astuce à deux balles.
J'utilise gmplayer pour lire mes videos[1]. Mais celui-ci a un petit problème : à chaque click sur une vidéo dans konqueror[2], il m'ouvre une nouvelle instance et rale parcequ'il y en a déjà une[3]
Malgrés mes recherches, je n'ai pas trouvé de moyen de configurer gmplayer pour qu'il ouvre la nouvelle vidéo dans l'instance existance[4].
Le contournement ? Tuer l'instance déjà présente avant de lancer la nouvelle. Pour cela il suffit de changer la ligne de commande de gmplayer dans Konqueror :
Configuration / Configurer Konqueror / Associations de fichiers.
Choisir un type de vidéo (video/avi par exemple) cliquer sur Mplayer movie player puis sur Modifier.
Il ne vous reste plus qu'a changer la ligne de commande par
killall -s SIGUSR1 gmplayer ; gmplayer
et voila !
Notes
[1] On peux aussi utiliser Kmplayer qui est très bien, question d'habitude
[2] On doit pouvoir adapter cela à Nautilus, Rox-Filer...
[3] certains drivers video ne supportent pas plusieurs instances
[4] ce que font pourtant très bien kaffeine et vlc
Par JJL,
dimanche 3 septembre 2006 à 00:27 ::kubuntu
Introduction
Cherokee est un petit serveur web écrit en C et ne dépendant que de la libC. Même si ses fonctions sont limités par rapport au mastodonte Apache, il est largement suffisant pour un serveur web personnel. Il supporte quand même la plupart des fonctions de base que l'on peux attendre d'un serveur web dans un environnement non professionnel[1]. Nous pouvons citer :
Enfin, sa légèreté lui permet de fonctionner facilement sur des machines un peu anciennes.
Installation
La manière la plus facile est d'installer la version située dans les dépots dapper. Pour cela, un simple sudo apt-get install cherokee suffit sans problème.
Mais la version disponible est la 0.4.29, version assez ancienne, qui souffre d'un certain nombre de bugs et semble aussi avoir une faille de sécurité[2]
Pour contrer cela, j'ai réalisé un petit backport de la version disponible dans Edgy, à savoir la 0.5.4 qui est la dernière stable disponible. Pour ceux qui sont intéressés, vous trouverez les détails en fin d'article.
Pour l'installer, téléchargez les paquets disponibles ici et installez les avec dpkg : sudo dpkg -i cherokee_0.5.4-1_i386.deb libcherokee-base0_0.5.4-1_i386.deb libcherokee-server0_0.5.4-1_i386.deb
Pointez alors votre navigateur vers http://localhost/ et vous avez accès au répertoire racine.
Les fichiers du site web sont situés dans /var/www et les fichiers de configuration dans /etc/cherokee
Configuration
Générale
Cela se passe dans le fichier /etc/cherokee/cherokee.conf. Les paramètres les plus intérressants sont
Port 80 : si vous voulez changer le port d'écoute par défaut
Listen 127.0.0.1 : à commenter pour que le serveur soit accessible de l'extèrieur
User et Group : qui définissent l'utilisateur qui execute le serveur
La configuration des différents sites se fait dans des fichiers sous /etc/cherokee/sites-available. Il ne seront accessibles que si un lien pointe vers eux dans /etc/cherokee/sites-enabled. Vous disposez au départ de deux fichiers default et example.com. Ce deuxième n'étant pas activé.
hôte virtuel
Si vous hébergez plusieurs adresses sur le même serveur, vous pouvez les configurer pour avoir des fonctionnement différents, par exemple photos.chezmoi.com ou websvn.chezmoi.com ...
Sinon, utilisez le fichier default et passez au paragraphe suivant.
Commencez par créer un fichier dans /etc/cherokee/sites-availables/ à partir du fichier example.com puis liez le dans sites-enabled : sudo cp /etc/cherokee/sites-availables/example.com /etc/cherokee/sites-availables/photos sudo ln -s /etc/cherokee/sites-availables/photos /etc/cherokee/sites-enabled/photos
Il devrait ressembler à cela :
Server photos.chezmoi.com {
DocumentRoot /var/wwwphotos/ # la racine de votre galerie photo
DirectoryIndex index.php, index.htm
Directory / {
Handler common
}
# recopiez ici la configuration de php si necessaire
}
php fcgi
Le fcgi est une évolution de cgi qui permet d'accélérer l'éxecution des scripts[3].
Commencez par installer php compilé de cette manière : sudo apt-get install php4-cgi $ php-cgi -v PHP 4.4.2-1build1 (cgi-fcgi) (built: Apr 6 2006 09:40:55)
puis éditez le fichier du site par défaut (ou de votre hôte virtuel) : sudo vi /etc/cherokee/sites-available/default
et remplacer les dernières lignes par celles-ci :
Il vous faut alors redémarrer le serveur web : sudo invoke-rc.d cherokee restart
Vous pouvez tester que cela fonctionne en ajoutant un fichier info.php à la racine de votre site[4] :
<?php
phpinfo();
?>
Vous pouvez aussi utiliser un fichier common.conf que vous inclurez dans les différents hôtes virtuels :
Include /etc/cherokee/sites-enabled/common.conf
Authentification
Pour une authentification simple, il suffit d'ajouter ces lignes dans votre directive Directory :
Pour plus de sécurité, vous pouvez utiliser d'autres manières de conserver les mot de passe voir une Auth Digest qui évite d'envoyer les passwords en clair[6]
Note: Vous pouvez vous contenter de télécharger directement les paquets binaires du backport cherokee. Cette procédure n'est la qu'a titre informatif.
J'ai simplement récupéré les paquets sources de edgy et je les ai recompilés avec ma dapper. Voici rapidement la procédure que j'ai suivie :
Remplacer le dépot source universe de dapper par celui d'edgy dans /etc/apt/sources.list
par exemple par la ligne : deb-src ftp://ftp.free.fr/mirrors/ftp.ubuntu.com/ubuntu edgy universe
$ sudo apt-get update
Télécharger les sources de cherokee et compiler le paquet :
$ cd /tmp/cherokee
$ apt-get source cherokee
$ cd cherokee-0.5.4
# tant que ca ne compile pas :
$ fakeroot dpkg-buildpackage
$ sudo apt-get install <PaquetManquant>
Les paquets sont alors créés dans le répertoire parent et il ne reste plus qu'a les installer
Attention : Pensez bien à rétablir votre sources.list avec le dépot pour dapper
Notes
[1] voir même dans un professionnel si les besoins sont simples