willoblog

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

jeudi 12 novembre 2009

Ubuntu Karmic et Packard Bell EasyNote BG46-P-018

J’ai acheté un Packard Bell EasyNote BG46-P-018 à Noël 2007, et présenté ici.

Après un an d’utilisation, on peut le dire : cet ordinateur avait le seul intérêt à l’époque d’être vraiment pas cher pour un 12 pouces. C’est un Packard Bell, et comme tous les Packard Bell il est assez mal conçu. En particulier, il chauffe beaucoup et son ventilateur, bruyant, est en marche en permanence.

Un certain nombre de problèmes se posaient, et il fallait un peu lutter avec Ubuntu Gutsy (7.10).

Deux ans plus tard, de grands progrès ont été faits :

  • l’affichage en 16/10 fonctionne de suite
  • l’affichage sur un écran externe (j’ai un HP 19 pouces en format 5/4) fonctionne de suite, après un passage dans Préférences/Affichage pour l’activer
  • le son fonctionne de suite
  • la webcam fonctionne de suite et apparaît dans le bon sens (elle apparaissait à l’envers avant)
  • compiz ne pose plus de problème, et le processeur ne tourne pas pour rien même avec l’écran supplémentaire.

Seule ombre au tableau, les boutons « wifi » et « éco » qui des fois s’éteignent. Mais la connexion wifi est pourtant toujours active. Il me semble même qu’elle est plus stable qu’avant.

À noter, pour la webcam, que cela est dû à une modification des drivers. Nombreuses sont les webcams « montées à l’envers » sur les ordinateurs portables. Les fabricants le savent et fabriquent des drivers pour windows qui retournent automatiquement l’image. Sous Linux, il faut que quelqu’un tombe sur le modèle posant problème, le dise aux personnes compétentes pour modifier la liste des webcams concernées dans la librairie correspondante (v4l).
Si un logiciel comme cheese affiche l’image de la webcam à l’endroit, alors c’est gagné. Mais si en essayant avec VLC (souvent avec la commande vlc v4l2:///dev/video0) ou skype l’image est encore à l’envers, vous devez simplement faire précéder systématiquement la commande de LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so, sur la même ligne. Pour skype par exemple, c’est facile à automatiser. Il suffit de créer un fichier /usr/local/bin/skype contenant

#!/bin/bash
 
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype

(tapez gksudo gedit /usr/local/bin/skype dans un terminal, collez-y ce qui précède, enregistrez, et rendez le fichier exécutable en tapant sudo chmod +x /usr/local/bin/skype dans le terminal)
Il sera utilisé à chaque fois que la commande skype sera lancée.

jeudi 29 octobre 2009

SNI, TLS : multiples virtual hosts avec Ubuntu Karmic

Ah, enfin. Ça y est, hourra, depuis le temps que l’on attendait cela, c’est enfin possible : il est enfin possible avec Apache et OpenSSL d’héberger sur un même serveur plusieurs sites sécurisés avec chacun son certificat propre.

J’héberge sur mon serveur plusieurs sites. Deux en particulier ont besoin d’être sécurisés, non pas pour garantir qu’il s’agit de moi (je ne suis pas une banque, personne n’essaiera jamais de se faire passer pour moi), mais parce que ce qui y est écrit est personnel et que je suis un grand parano qui ne veux pas laisser d’accès à des personnes que je ne connais pas.
Comme je veux cependant garantir l’accès de mes sites au plus grand nombre, je cherche à éviter les affichages d’erreurs moches et incompréhensibles des problèmes de sécurité, qui deviennent particulièrement pénibles avec Firefox 3.5. Du coup, deux choses à faire :

  • acheter des vrais certificats, du moins ne pas utiliser des certificats auto-signés. C’est tout à fait contre ma pratique et mes habitudes en informatique, mais il faut se rendre à l’évidence : tous les navigateurs font croire que l’on tombe chez des pirates quand le certificat est auto-signé. C’est très triste d’en arriver là. Néanmoins, ayant trouvé des certificats à pas cher, je me fournis maintenant chez RapidSSL pour des certificats que ne m’ont causé aucun problème.
  • pouvoir séparer les noms de domaine sur mon serveur web.

Le deuxième point paraît simple. Il s’agit pourtant d’une grande impossibilité du chiffrement SSL tel qu’il été conçu à l’origine : le chiffrement est effectué sur l’adresse dès l’envoi de la requête par le navigateur, et le déchiffrement n’a lieu sur le serveur qu’après sélection du certificat pour déchiffrer… La sélection du certificat ne peut donc pas dépendre de l’adresse demandée.
Sous Ubuntu, une solution existait jusqu’à maintenant. Utiliser GnuTLS, qui comme son nom l’indique permet l’utilisation du protocole TLS, dernière évolution de SSL. Pourquoi ? Parce qu’avec TLS, il est possible de balancer en clair l’adresse grâce à l’extension appelée SNI. Problème de GnuTLS, c’est un peu instable et il arrive notamment en cas de requêtes multiples de se voir servi par un mauvais certificat : on retombe sur les messages d’erreur, encore plus dérangeant parce qu’incompréhensibles vu que ça fonctionnait une seconde avant…
Apache, le logiciel serveur, supportait le TLS, mais pas le SNI avec OpenSSL. C’était un bug connu, qui a été réparé début août, mais pour Ubuntu Karmic uniquement. Cette version est installée depuis quelques jours (tout juste avant sa sortie finale, soyons fous…) sur mon serveur, et cela marche comme un charme. Il suffit de mettre dans la configuration générale, par exemple /etc/apache2/ports.conf :

Listen 443
NameVirtualHost *:443

puis dans la configuration de chaque site :

<VirtualHost _default_:443>
  ServerName votredomaine.fr
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/votrecertificat.crt
  SSLCertificateKeyFile /etc/apache2/ssl/laclécorrespondante.key
  ...
</VirtualHost>

À noter aussi l’existence d’un autre logiciel serveur, Lighttpd. Il a notamment l’avantage d’être plus léger qu’Apache. Je ne l’utilise pas sur mon serveur plus par inertie, parce qu’Apache est parfaitement configuré, mais je l’utilise sur mon portable pour avoir un serveur web de test avec moi, et je le trouve très bien et très réactif. Je pensais qu’il supportait SNI depuis quelques temps, mais visiblement ce n’est le cas que depuis 5 jours. Bref, le choix est ouvert, comme toujours dans le monde libre.

dimanche 25 octobre 2009

Ubuntu karmic freeze on Asus M2n

Ubuntu Karmic is to be released on thursday, and the release candidate is available since a few days. So I tried to install it on a laptop that I don’t really use daily. I installed from scratch, with the live CD, desktop version.

This is a laptop I bought in May 2004, an Asus M2400n. It almost worked…
First, you have to specify on the live CD boot : acpi=off and nolapic by hiting F6. Then, you have no sound but it will work at the end. Installation works fine, as usual. To first boot after installation, you have to hit shift and escape when Loading GRUB is displayed (it’s very quick), then «e» to edit the first menu item and add the same boot options on the kernel line.

There are three things to do to make the release candidate work (hope this will be fix this week). One on Grub to boot properly, and two big issues with the display.

Modify Grub boot options

New in Karmic : Grub2 is finally used, and the famous /etc/boot/grub/menu.lst doesn’t exist anymore. Some explanations are available within the Internet. All you need to know is that you have to modify /etc/default/grub, and particularly the GRUB_CMDLINE_LINUX_DEFAULT variable to add nolapic. Do not add acpi=off, or you will never ear any sound.
After any modification of /etc/default/grub, you have to do sudo update-grub in order to modifiy the Grub intern files.

Kernel issue

The new kernel display handling (Kernel mode-setting, KMS) may be a little buggy… Anyway, with this method and with Intel graphic chipset like the i855GM in this laptop, it makes Xvideo not available (which results in a very buggy display, CPU high load, and unespected reboot with some softwares or websites). To deactivate KMS, you have to add nomodeset] to the boot options in /etc/default/grub.

This two issues can be simply solved by

sudo sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/s/^\(.*\)"$/\1 nolapic nomodeset"/' /etc/default/grub
sudo update-grub

Intel driver issue

The current Intel driver has also some bugs. With this driver, the display freezes sometimes, very quickly after login, even before. It’s only a display freeze, not a system crash at all (computer is still pingable and ssh-ing still works).
I hope most of these bugs will be quickly solved, but till then we can use the vesa generic driver. It’s not as simple as before, because Xorg has also changed, and the famous /etc/X11/xorg.conf no longer exists… But you can write a new minimalist one, only containing what you want to modify. You can this way write in /etc/X11/xorg.conf:

Section "Device"
  Identifier      "Configured Video Device"
  Driver 	  "vesa"
EndSection

Section "Monitor"
  Identifier      "Configured Monitor"
EndSection

Section "Screen"
  Identifier      "Default Screen"
  Monitor         "Configured Monitor"
  Device          "Configured Video Device"
EndSection

Nothing else to do, the configuration file is automatically read as soon as the system reboots or Xorg restarts.

This way, presently my Asus M2400n works fine. Hope this helps.

lundi 10 août 2009

Utiliser Firefox 3.5 sous Ubuntu

Firefox 3.5 est sorti il y a maintenant plus d'un mois. Il ne sera pas intégré dans Jaunty, la version actuelle d'Ubuntu, ni dans les précédentes. C'est normal, c'est une question de stabilité : aucun logiciel ne peut être intégré dans sa nouvelle version après le gel de la version de la distribution. Même Firefox, aussi important soit-il.

Mais il est pourtant possible d'obtenir Firefox 3.5. Rien de très compliqué, mais on pourra faire les choses de façon expéditive ou méticuleuse... Je vous propose la deuxième.

Avant de commencer, installons

On commence par installer Firefox, qui est disponible en dépôt pour Ubuntu Jaunty, si, si :

sudo aptitude install firefox-3.5 firefox-3.5-gnome-support

Firefox 3.5 est disponible par la commande firefox-3.5, alors que la commande firefox est liée à Firefox 3.0.

ls -l /usr/bin/firefox*
lrwxrwxrwx 1 root root 11 2009-08-04 09:07 /usr/bin/firefox -> firefox-3.0
lrwxrwxrwx 1 root root 32 2009-08-04 09:07 /usr/bin/firefox-3.0 -> ../lib/firefox-3.0.12/firefox.sh
lrwxrwxrwx 1 root root 31 2009-07-21 15:08 /usr/bin/firefox-3.5 -> ../lib/firefox-3.5.1/firefox.sh

Pour les plus vieilles versions d'Ubuntu, Firefox 3.5 n'est pas disponible en dépôt et il faut aller le chercher sur le site officiel, puis le décompresser par exemple dans /usr/local/src :

sudo mv firefox*tar.bz2 /usr/local/src
tar -xjvf /usr/local/src/firefox*tar.bz2

et l'utilitaire se trouve alors à /usr/local/src/firefox-3.5

La mauvaise méthode

Je vous vois venir : c'est facile, il suffit de lier la commande firefox au bon endroit

sudo rm /usr/bin/firefox && sudo ln -s firefox-3.5 /usr/bin/firefox

C'est la mauvaise méthode. Pourquoi ? Au moins deux raisons :

  • Rien ne vous assure que le lien ne sera pas remis à la prochaine mise à jour de Firefox. Il a bien été mis là ce lien, il vient pas de nulle part.
  • Vous allez peut-être regretter d'avoir bousillé votre profil Firefox (voir aussi les explications sur Geckozone). C'est ce qui arrive quand on ne fait pas attention.

Une bonne méthode

Il faut savoir que quand une commande est ordonnée (par vous très souvent), l'interpréteur (souvent bash) va chercher dans certains répertoires les uns après les autres. Ceci est réglé par la variable $PATH, que l'on peut voir dans une console :

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

D'abord on cherche dans /usr/local/sbin, puis dans /usr/local/bin, puis... Donc si un firefox se trouve dans /usr/local/bin, celui de /usr/bin ne sera jamais lancé ! Et /usr/local/bin a comme grand avantage de ne pas être écrit par le système (d'où le « local », pour l'écriture locale de l'administrateur). Il suffit donc de faire :

sudo ln -s /usr/bin/firefox-3.5 /usr/local/bin/firefox

Et on pourra avoir Firefox 3.5 avec firefox ou Firefox 3.0 avec /usr/bin/firefox.

Mais la deuxième objection reste toujours valable...

La gestion des profils

Le mieux est de créer deux profils, parce que Firefox 3.5 peut ne pas fonctionner exactement comme la version précédente, et parce que les extensions elles aussi connaissent des versions différentes, compatibles ou non avec les différentes version de Firefox. Pour chaque utilisateur, vous pouvez avoir accès au Gestionnaire de profils par firefox -P. Alors vous pouvez créer ou supprimer un répertoire. Je suppose que celui utilisé jusqu'à maintenant (par Firefox 3.0) est default. Créez-en un nouveau, en le nommant par exemple F3-5 (le point serait gênant). Puis fermez.

Les profils Firefox peuvent être choisis au démarrage du logiciel de deux façons. Avec firefox -P, le Gestionnaire de profils permet ce choix en mode graphique. Avec firefox -P default ou firefox -P F3-5 dans notre cas, on peut choisir directement sans fenêtre supplémentaire le profil voulu.

Nous pouvons donc créer deux lanceurs, que l'on mettra par exemple dans /usr/local/bin/firefox-3.0 :

#!/bin/sh
 
/usr/bin/firefox3.0 -P default $* &

et dans /usr/local/bin/firefox-3.5 :

#!/bin/sh
 
/usr/bin/firefox-3.5 -P F3-5 $* &

Après un

sudo chmod +x /usr/local/bin/firefox*

les commandes firefox-3.0 et firefox-3.5 sont maintenant transformées : ainsi, elles ne peuvent plus lancer le mauvais profil... Il ne reste plus qu'à lier firefox à celle que l'on souhaite :

sudo ln -s firefox-3.5 /usr/local/bin/firefox

(supprimez /usr/local/bin/firefox si vous l'aviez créé précédemment).

On y est presque : derniers détails

Vous venez d'ouvrir Firefox 3.5, et vous vous rendez compte d'une chose abominable : l'interface est en anglais !
No problemo. Après avoir regardé le numéro exact de votre version dans le menu « Aide -> À propos de Mozilla Firefox » (du genre 3.5.x), il suffit d'installer par simple téléchargement l'extension qui va bien, que vous pourrez trouver sur le site de mozilla.org en choisissant là votre 3.5.x puis linux-i686 -> xpi -> fr.xpi. Elle ne s'installe que dans votre profil actuel, le F3-5 (on retrouve l'intérêt de ne pas avoir le même profil pour les deux versions).

Mais où sont passés tous vos mots de passe, vos historiques, vos entrées de formulaires, vos habitudes ?
Facile : fermez le Firefox ouvert, et copiez d'un profil à l'autre les fichiers qui vont bien :

cd ./mozilla/firefox/*.default
cp -a bookmarks.html cert8.db content-prefs.sqlite cookies.sqlite downloads.sqlite formhistory.sqlite key3.db signons3.txt urlclassifier3.sqlite urlclassifierkey3.txt ../*.F3-5

À noter que signons3.txt, contenant vos mots de passe, sera transformé en signons.sqlite désormais. Il restera les extensions à réinstaller, ce que vous pouvez éventuellement vous éviter en recopiant le répertoire extensions. Peut-être qu'il est intéressant de temps en temps de se demander de quelles extensions on a vraiment besoin (je vous conseille fortement Adblock Plus, Flashblock ; Firebug pour les développeurs et TabMixPlus pour ceux qui aiment bien avoir pas mal d'onglets ouverts).

lundi 15 juin 2009

Java, hardy et amd64

Ceux qui ont essayé le savent : il est a priori impossible d'utiliser une applet java dans la machine virtuelle java de Sun sur un ordi d'architecture AMD64 sous Ubuntu. Certes, d'autres implémentations de machines java, en particulier la prometteuse (si j'ai bien compris) et 100% libre OpenJDK, mais je préfère encore pour quelques temps utiliser la machine de chez Sun, en attendant que les derniers petits problèmes soient résolus. Il semble, par exemple, que la déclaration d'impôts (mon seul usage annuel d'usine à gaz java...) ne soit pas optimal par OpenJDK.

Non, au temps pour moi : il était impossible. C'est depuis quelques mois possible, sous Jaunty uniquement (sortie en avril dernier). La raison à ce problème : Sun n'avait pas cru bon de fabriquer un plugin de navigateur pour les architectures 64 bits.

Le problème, c'est que le paquet essentiel, sun-java6-plugin, n'est disponible dans les dépôts que pour Jaunty. Heureusement, des téméraires ont testé, et pas de problème, ça fonctionne. J'ai testé sous Hardy et sous Intrepid, ça a l'air de fonctionner.

Deux possibilités donc pour installer tout ça (sous Hardy ou Intrepid):

adresse="http://fr.archive.ubuntu.com/ubuntu/pool/multiverse/s/sun-java6/";  for paquet in jre plugin bin; do fichier=`wget -q -O - $adresse | sed -n "/amd64\|all/s/.*\">\(sun-java6-$paquet.*.deb\)<.*/\1/p" | tail -n 1`; sudo wget -P /usr/local/src/ $adresse$fichier; done

Désinstaller les paquets éventuellement déjà installés

sudo aptitude purge icedtea-gcjwebplugin

Puis installer les paquets téléchargés

sudo dpkg -i /usr/local/bin/sun-java6-*
  • utiliser un dépôt fait plus ou moins pour ça (trouvé à force de chercher, et je remercie la personne en question de m'avoir donné cette idée), le dépôt hardy de ce site. Il suffit alors, après modification de /etc/apt/sources.list, de mettre à jour
sudo aptitude update && sudo aptitude safe-upgrade

et d'installer le bon paquet

sudo aptitude install sun-java6-plugin

Et un redémarrage de firefox plus tard...

Edit : bon en fait pour la déclaration d'impôts, visiblement la signature par certificat ne fonctionne pas simplement. Par contre, la signature simplifiée fonctionne très bien, et du coup je ne suis pas allé voir plus loin...

vendredi 27 mars 2009

Ubuntu 9.04 : compte à rebours commencé

La version beta (version de test, pour les utilisateurs expérimentés uniquement) de la prochaine Ubuntu (attendue pour le 23 avril), à savoir Jaunty Jackalope vient de sortir aujourd'hui. Pour fêter ça, des banières de comptes à rebours sont dispo ici.

C'était la minute inintéressante de la journée. :)

dimanche 1 mars 2009

latex et césures

Suite de mes découvertes latex du weekend : je me suis rendu compte que beaucoup de césures effectuées automatiquement par Latex étaient incorrectes. Après recherche, mon fichier de log contenait désespérément :
Package babel Warning: No hyphenation patterns were loaded for
(babel) the language `French'
(babel) I will use the patterns loaded for \language=0 instead.

Et cela, malgré toutes les options possibles et imaginables à babel, le package latex de traduction. L'erreur était en fait un peu plus haut dans le fichier de log :
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, nohyphenation, loaded.
Il n'y a pas « french » ! La faute à un paquet Ubuntu qui n'est bizarrement pas installé automatiquement, texlive-lang-french.

Il suffisait donc de faire : sudo aptitude install texlive-lang-french. Et après, c'est gagné :
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, nohyphenation, basque, french, loaded.

latex et virgule

Petite astuce latex que j'ai découverte hier : l'espace qui est systématiquement insérée derrière une virgule, y compris en mode mathématique, est supprimable. Cette espace me gênait beaucoup, juste parce que c'est moche. C'est un format anglais, et c'est typographiquement incorrect en français.

Après quelques recherche, on trouve plusieurs solutions :

  • rajouter des accolades autour de chaque virgule dans les formules mathématiques. Problème, il faut le faire pour chaque virgule concernée. Moi, mes 135 pages sont déjà écrites, c'est impensable.
  • rajouter une macro des packages de traduction, \nombre{}, autour de chaque formule mathématique. Même problème (même si c'est un peu plus simple à gérer en ligne de commande via sed par exemple).
  • simplement utiliser le package icomma. Intérêt : une seule ligne à changer, et après recompilation toutes les espaces indésirables auront disparu !

Pour ceux qui ont du mal à suivre, plus en détail :

  • Disposer du fichier icomma.sty. Sous Ubuntu par exemple, il suffit d'installer le bon paquet, si ce n'est déjà fait : sudo aptitude install texlive-latex-extra
  • dans le préambule de vos sources latex, insérer \usepackage{icomma}

dimanche 4 janvier 2009

Samsung YP-P2 et Ubuntu

Pour Noël, j'ai eu un lecteur mp3 Samsung YP-P2. Il s'agit, comme présenté dans un très bon site dédié, d'un lecteur sorti fin 2007, dont l'interface est entièrement tactile, à l'instar de l'Ipod Touch. L'écran semble un peu moins « précis » que celui de l'Ipod, mais le comportement général est quand-même très agréable à utiliser.

Trois problèmes majeurs :

  • l'utilisation obligatoire du logiciel Samsung
  • le format propriétaire de la vidéo
  • l'affichage des pochettes (ou cover) des albums

Tout écrire ici serait trop long et illisible. J'ai préféré détailler cela dans une page spéciale. Ce n'était en fait pas très compliqué de résoudre ces trois problèmes.

mardi 18 novembre 2008

ufw, gufw

Ceux qui suivent me diront que ce n'est pas une nouveauté. Depuis plusieurs mois maintenant, un nouveau firewall a été introduit par défaut dans ubuntu. Il s'agit de ufw, uncomplicated firewall, interface (en ligne de commandes) à l'éternel iptables, qui en simplifie beaucoup la mise en œuvre (mais c'est plutôt facile, tant les commandes iptables sont incompréhensibles).

Et puis y a des types qui se sont dit (c'était il y a moins de 10 mois !) que ce n'était pas assez simple, et qu'il fallait une interface graphique. Maintenant, Gufw est facilement installable (dans les dépôts), visiblement assez stable et très fonctionnel. En plus d'être "joli", il est super pratique.

J'utilisais depuis plusieurs années Firestarter, qui est à la fois un script de commandes iptables et l'interface qui permet de les modifier. Gros problème de Firestarter, en plus d'avoir un développement arrêté : pas moyen de se protéger sur toutes les interfaces, ce que l'on souhaite typiquement pour un portable connecté une fois sur deux en wifi, une fois sur deux en filaire. La solution, c'était un petit script qui interceptait dans les fichiers lancés par NetworkManager à la connexion, l'interface connectée. Pas très pratique. Maintenant, ufw est lancé au démarrage du PC comme un service, et protège toutes les interfaces de la même façon (c'est réglable d'ailleurs, en fonction de l'IP de destination). Bref, le pied.

Allez. sudo aptitude purge firestarter...

vendredi 31 octobre 2008

New Ubuntu version

Nouvelle version d'Ubuntu sortie hier, nommée « 8.10 » (lire octobre 2008) ou « The Intrepid Ibex » (le bouquetin intrépide), alias intrepid.
Pas un très grand nombre de nouveautés, mais des trucs qu'on attendait depuis très longtemps :

  • les onglets dans Nautilus, ah, enfin, ça va vraiment être génial ça !
  • une session « invité » existante de base, et ça aussi ça change tout : plus besoin de se dire qu'il faut le faire sans en prendre le temps, puisque c'est dispo de suite.
  • le chiffrement des données sur les disques plus facile
  • un Network-manager qui gère plus de possibilités et permet d'avoir un ordinateur connecté avant d'être loggué (ce qui était le cas quand on utilisait l'ancienne méthode avec /etc/network/interfaces).
  • la possibilité de démarrer simplement sur une clé usb, sur n'importe quel ordinateur... C'était déjà le cas avant ? J'avoue ne pas avoir suivi ce point...

Et pour l'essayer, toujours pareil : on peut http://www.ubuntu-fr.org/telechargement, ou http://doc.ubuntu-fr.org/migration_hardy_intrepid.

jeudi 11 septembre 2008

latex (texlive), pdf et fontes horribles

Je viens de trouver la solution d'un problème qui me turlupinait depuis environ 1 an (au moins...).

Mes pdf produits par latex étaient jolis, vus de loin. En se rapprochant de l'écran, pas génial, mais ce n'est pas très grave, les pdf c'est fait pour être imprimé. Plus gênant, beaucoup plus gênant, la sélection de texte étant une vraie plaie, pour ne pas dire que ça faisait n'importe quoi. Dans Evince et dans l'Acrobat Reader d'Adobe, rien à faire. Et je ne parle pas de la recherche de texte... Et le meilleur venait de l'impression : si Acroread n'avait pas grand problème, Evince ramait tellement qu'il en attaquait la plage : saturation du processeur pendant plus de 10 secondes par page, et rendu vraiment abominable sur toutes les imprimantes laser à ma disposition, à peine lisible pour le texte, mais parfait pour les formules et les images. Bref, la fête.

J'ai essayé plein de méthodes pour générer différemment mes pdf. J'utilise couramment ce formidable logiciel qu'est Lyx, avec la compilation via latex+latex+dvips+ps2pdf. La première idée était de changer l'option PDFSETTINGS de ps2pdf, comme indiqué dans la documentation. J'ai réussi à améliorer la qualité des images en réglant cette option à printer, mais rien sur les fontes et l'impression par Evince... Je me suis dit à un moment que c'était Lyx. Depuis, j'ai l'occasion maintenant d'utiliser beaucoup plus du « vrai » latex, avec plein de petits bouts de macros dedans (je m'amuse comme un fou en ce moment :) ), vraiment compilé à la main, et pareil... Au cas où le fautif serait ps2pdf, j'ai essayé pdflatex (que je n'ai pas encore adopté parce que j'ai toutes mes images en ps, fabriquées par le très « original » logiciel de dessin Xfig et l'excellent script fig2ps, qui permet d'avoir simplement des figures avec du texte et des formules latex dedans...). Même résultat.

J'ai donc trouvé la cause de tous ces problèmes. J'imagine que je suis pas le seul à qui ça arrive, mes fichiers tex n'ont rien de particulier, et mes documents lyx sont d'un commun tout juste compensé par la haute valeur ajoutée du contenu scientifique qu'ils contiennent. L'installation d'Ubuntu est récente sur cette machine et sans grande modification. J'ai pourtant mis du temps à trouver. J'espère que des personnes faisant la recherche sur « latex pdf evince impression » ou « latex pdf ubuntu affichage » ou « latex pdf sélection texte » pourront tomber ici...

Le problème venait visiblement de texlive, devenue la distribution latex « officielle » sous Ubuntu depuis Gutsy (tout pile un an), remplaçant petit à petit l'ancienne distribution tetex. Les polices ne sont visiblement pas gérées de la même façon et maintenant (je ne peux pas vérifier comment c'était avant), les lettres sont transformées en images bitmap, à la fois pixellisées (donc moche) et lourdes (donc qui prennent du temps à être envoyées à l'imprimante et de la place sur le disque dur). Deux possibilités pour arranger cela :

  • installer le paquet cm-super, via par exemple sudo aptitude install cm-super. Besoin de rien modifier dans le fichier tex|lyx, les polices moches bitmap utilisées avant (« cm ») seront remplacées automatiquement à la prochaine compilation. Un problème : si dans trois ans vous changez de machine et que vous oubliez que vous aviez installé cm-super, rebelote...
  • rajouter dans le préambule de votre fichier tex l'utilisation du package des polices latin modern : \usepackage{lmodern}. L'inconvénient étant certes qu'il faille modifier vos fichiers actuels, mais l'avantage est qu'ils seront compilés partout pareil. De plus, il paraît (j'y connais rien, c'est ce que j'ai lu) que cette police est un peu plus fidèle aux anciennes polices bitmap que cm-super...

Ce qui est bien, c'est que j'ai un mémoire un peu plus présentable maintenant... :)

mercredi 23 avril 2008

J-1

Hardy,J-1

lundi 21 avril 2008

webcam et mjpg-streamer

Edit le 12/11/09 : Depuis Ubuntu Karmic (9.10) au moins, la webcam n’est plus un problème pour le portable Packard-Bell BG-46-P-018.

Ce billet est en rapport avec les billets sur le portable Packard-Bell BG-46-P-018. Sur ce portable, la webcam qui n’accepte pas les drivers v4l mais uniquement v4l2, supportés par peu de logiciels, est montée 9 fois sur 10 à l’envers. Ce qui peut être gênant. :)

Pour utiliser la webcam en streaming, j’ai fabriqué un script maison qui utilise vlc. Ça marche plutôt bien, même s’il faut que je finalise certaines choses avant de le mettre en ligne (ce sera fait durant l’été). Le fait est que, en attendant que vlc 0.9 sorte enfin (avec le support natif de v4l2), il ne peut opas récupérer l’image de la webcam.

Il faut installer pour l’instant un petit logiciel appelé mjpg-streamer (anciennement uvc-streamer). Il n’y a pas de paquet tout fait, il faut télécharger (onglet download) le .tar.gz le plus récent, l’extraire dans un endroit correct comme /usr/local/src/, aller dans le répertoire que l’on vient de créer, et effectuer
make && sudo make install
Ça devrait fonctionner comme cela.

Mjpg-streamer permet beaucoup plus que simplement récupérer l’image de la webcam, il ouvre un serveur web qui permet à d’autres personnes de « venir vous voir ». Attention d’ailleurs au niveau sécurité, pensez que n’importe qui peut vous voir… Pour savoir comment ça fonctionne, tout se passe en ligne de commande, l’aide est assez bien faite, tapez mjpg_streamer -h pour l’obtenir. Par exemple, moi je dois entrer
mjpg_streamer -i "/usr/local/src/mjpg_streamer/input_uvc.so -d /dev/video0 -r 640x480 --yuv" -o "/usr/local/src/mjpg_streamer/output_http.so -w /usr/local/src/mjpg_streamer/www -p 8080"
pour que cela fonctionne correctement. Pour voir si tout fonctionne, allez dans votre Firefox adoré et entrez http://127.0.0.1:8080. Pour arrêter le serveur, un ctrl+C dans la console est suffisant.

Les utilisateurs n’ont plus qu’à entrer l’adresse http://IP:8080/?action=stream où IP est votre adresse IP. Si vous préférez un autre port que 8080, il suffit de le changer dans la ligne de lancement. Pensez que votre firewall doit avoir ce port ouvert si vous voulez que l’on vous voit.

[Je suis preneur de toute remarque :) ]

Utilisez BitTorrent !

Non, ceci n'est pas un appel au piratage massif. Le protocole bitTorrent permet de télécharger de façon massive des fichiers importants. Le fonctionnement est simple à expliquer : le fichier est coupé en « pièces » ; au fur et à mesure que je télécharge le fichier, j'envoie les pièces que j'ai à tous ceux qui ne les ont pas. Du coup, plus on est nombreux, et plus vite on télécharge.

Vous allez me dire : super mais moi j'ai rien de si gros à télécharger... Bin si, dans trois jours, et surtout si vous n'avez jamais encore essayé, vous aurez la dernière version d'Ubuntu à télécharger, en cd ou dvd (si vous préférez le cd, parce que par exemple vous n'avez qu'un graveur de cd, pas de problème, ce qui vous manque sera téléchargé en live lors de l'installation...). En gros, en quelques dizaines de minutes max, vous aurez votre Ubuntu flambant neuve, avec la possibilité d'installer ça directement depuis votre windows, presque comme un logiciel classique. J'espère que ça va vous pousser à essayer !

jeudi 31 janvier 2008

Lancer totem en fullscreen

J'ai réinstallé récemment l'ordinateur qui me sert de télé/media center. J'ai un certain nombre de fichiers avi, que je regarde de temps en temps. Avant, je faisais ça avec, au choix, vlc, mplayer ou xine. Je me suis décidé à passer à Totem.

Pourquoi Totem ?

Bin simplement parce que c'est le logiciel par défaut de chez Gnome en fait, et donc le truc a priori le mieux intégré à mon environnement. Il est installé par défaut, il ne pause plus de problèmes de codecs comme j'ai toujours eu avant (et qui faisaient que je préférais l'éviter justement). Bref, pourquoi pas...
Autre avantage, il est plus rapide à se lancer que vlc, plus convivial que xine et... bon, ok, rien ne sera jamais mieux que mplayer. :)

Les codecs

Oui, tiens, précisons-le : il suffit d'installer le paquet ubuntu-restricted-extras, et il fait tout le reste... C'est pourtant simple, non ?

Problème : le lancement en plein écran

Moi ce que je veux, c'est juste d'ouvrir de façon systématique mes fichiers en double-cliquant dessus et que ça s'ouvre en plein écran. Je suis flemmard et je ne veux pas appuyer sur F après avoir ouvert le fichier. Avec tous les autres lecteurs, c'est une préférence à régler (dans un menu ou éventuellement un fichier de configuration).

Et là, on tombe sur un os. Impossible de trouver aucune configuration particulière, à part un .gconf/apps/totem/%gconf.xml inutilisable et un .gnome2/Totem/state.ini minimaliste. Le tout est visiblement mal documenté, ou du moins après avoir longtemps cherché je n'ai rien trouvé. Le menu des préférences bien sûr ne sert à rien.

Le man nous dit qu'il existe une option --fullscreen, mais uniquement pour Passer en plein écran une instance existante de Totem. Bon... Mal barrée cette histoire.

Et là, l'idée : créer un fichier /usr/local/bin/totem, qui sera systématiquement lancé à la place de l'original /usr/bin/totem, et y mettre ce qui va bien :

#!/bin/bash
 
[ "$TERM" != xterm ] && /usr/bin/totem $* || /usr/bin/totem "$*" &
sleep 1
/usr/bin/totem --fullscreen

Explications :

  1. On lance /usr/bin/totem avec tous les arguments qu'on lui passe (en particulier, les noms de fichiers). Il faut échapper les noms si on lance totem en console, c'est pour ça que c'est un poil compliqué.
  2. On attend une seconde, le temps que totem ait démarré. Sur une machine qui met un peu plus de temps, il faut rallonger...
  3. On passe en plein écran.

C'est améliorable, je prends toute idée utile...

Edit 10 jours plus tard : J'avais oublié qu'il y a deux façon de prendre tous les arguments d'un script : "$*" concatène tout le monde entre des guillemets, on ne voit plus qu'un «mot»; "$@" met chaque argument entre des guillemets et les sépare par une espace, on voit le bon nombre de «mots». Il suffit donc de faire :

#!/bin/bash
 
/usr/bin/totem "$@" &
sleep 1
/usr/bin/totem --fullscreen

dimanche 13 janvier 2008

autres petites astuces post-installation

Edit le 12/11/09 : Depuis Ubuntu Karmic (9.10) au moins, ces problèmes n’existent plus pour le portable Packard-Bell BG-46-P-018.

Toujours sur le Packard Bell BG46-P-018 acheté récemment, deux autres petits trucs n’allait pas (c’est du détail) :

  • le splash était déformé, le logo Ubuntu plutôt oval que rond, à cause de l’écran 16/10 et non 4/3 ou 5/4 (les formats plus classique). Dans quelques temps, le paquet usplash-theme contenant les différents thèmes de démarrage devrait contenir des images pour ce format là, mais ce n’est pas le cas. La solution la plus rapide et temporaire était de faire croire à usplash que l’écran est bien en 5/4, c’est à dire 1280*1024 au lieu de 1280*800. On fait ça simplement en éditant le fichier /etc/usplash.conf et en y écrivant yres=1024 sur la troisième ligne : dans une console, simplement
    sudo sed '3 s/^$/yres=1024/' /etc/usplash.conf
    Il faut ensuite faire
    sudo update-initramfs -u
    pour mettre à jour ce qui doit l’être. Au prochain redémarrage, l’image, trop grande en hauteur, est tronquée, et le logo Ubuntu devient bien rond.
  • la police du nom d’utilisateur et du mot de passe à la connexion était un peu trop grande, les ronds qui cachent les lettres étaient tronqués… Solution, aller dans le menu Système, puis Administration->Fenêtre de connexion, puis l’onglet Sécurité, tout en bas à droite le bouton Configurer le serveur X, et enfin taper dans à la suite de ce qui est déjà dans la case commande : -dpi 96, ce qui donne normalement
    /usr/bin/X -br -audit 0 -dpi 96
    Il m’a fallu redémarrer totalement pour que cela fonctionne. On peut aussi éditer le fichier /etc/gdm/gdm.conf ou préférentiellement /etc/gdm/gdm.conf-custom s’il existe, cela revient normalement au même (pas essayé).

vendredi 11 janvier 2008

Chat vidéo sous Ubuntu

C'est un peu ça aussi les relations à distances : c'est quand même mieux de se parler, et c'est encore mieux de se voir. Et franchement, quand chacun a une webcam mais qu'on ne trouve pas comment les utiliser, c'est ralant.

C'est un fait connu de tous ceux qui ont essayé de « vidéo-chatter » sous Linux : c'est impossible, il y a toujours quelque chose qui ne fonctionne pas.

  • Pidgin (anciennement Gaim - mais quelle idée de prendre un pigeon comme emblème ?), logiciel de messagerie instantannée multiprotocole, utile pour avoir ICQ et MSN dans la même fenêtre, ne supporte pas la vidéo (la légende dit qu'en 2003 on y croyait, mais que finalement la vidéo et la voix ne seront jamais dans Pidgin).
  • Kopete, équivalent pour qui veut bien utiliser les librairies KDE (chez moi, 99Mo pour installer Kopete...), connaît un bug grave depuis quelques mois qui l'empêche de bien envoyer les images de certaines webcams (ça dépend du driver, au moins gspca et uvcvideo sont touchés d'après mes tests).
  • aMSN, clône assumé du logiciel de Microsoft, qui paraît-il fonctionne très bien, est affreusement moche dans les dépôts officiels (problème d'interface et de polices anti-aliasées).
  • Les logiciels SIP ne fonctionne pas tous, sont parfois bloqués par la Freebox sans que l'on comprenne pourquoi, tous les serveurs SIP n'implémentent pas tous parfaitement le protocole, bref, c'est la galère. J'ai quand-même essayé le Wengophone et Ekiga, avec un compte Openwengo et un compte Ekiga, et les résultats ne sont clairement pas au rendez-vous : quand ça marche une fois sur deux, c'est mieux que d'habitude (et je ne parle même pas de la complexité d'Ekiga). Sans compter quand si ça marche, faut convertir toutes les personnes que vous voulez voir à ce protocole qui ne sert qu'à ça...
  • La cerise sur le gâteau, c'est l'énorme m*rdier que c'est d'installer ces foutus drivers de webcams, quand on arrive par un heureux hasard à les trouver. On bidouille des trucs sales qu'on recompile mal pour en mettre (au mieux) plein le /usr/local et le /opt et qu'on ne saura jamais si on les a bien désinstallés...

Bref, j'arrête de me plaindre, car j'ai deux bonnes nouvelles :

  1. La webcam Logitech Quickcam Messenger (046d:08da) est supportée de base sous Ubuntu désormais. Ce qui veut dire qu'il ne sert à rien d'installer aucun driver (sur une Ubuntu Gutsy neuve en tout cas), « on branche et ça marche ». Le driver uvcvideo, installé de base, se charge de la faire fonctionner.
  2. Le logiciel libre est tout-puissant, c'est connu. :-) Quand il y a un problème, il est résolu par quelqu'un qui sait le résoudre. Le aMSN pas-moche est instalable, tout est expliqué en détail sur l'excellent wiki de la communauté francophone. Et au lieu d'utilser des scripts qu'on-sait-pas-ce-que-ça-fait-si-ça-plante, des gens biens ont fait des paquets. C'est simple, c'est propre, c'est facilement désinstallable, et ça marche à tous les coups. au final, il suffit de taper dans une console :
sudo mkdir /usr/local/src/amsn && cd /usr/local/src/amsn # pas obligatoire, mais c'est mieux
sudo wget http://download.tuxfamily.org/amsnskins/packages/ubuntu/amsn-releases/amsn_0.97sapphireR1-0ubuntu1_i386.deb http://download.tuxfamily.org/amsnskins/packages/ubuntu/tcl-tk/tcl8.5_8.5-0ubuntu1_i386.deb http://download.tuxfamily.org/amsnskins/packages/ubuntu/tcl-tk/tk8.5_8.5-0ubuntu1_i386.deb
sudo aptitude install tcltls && sudo dpkg -i *

Et là arrive le bonheur du chat vidéo (vidéo dans les deux sens hein). Bon, certes, il n'y a pas le son. Personnellement, je m'en fous, je suis dégroupé, le téléphone c'est illimité.

samedi 5 janvier 2008

Installation d'Ubuntu sur un portable Packard Bell EasyNote BG46-P-018 (12") (2/2)

Edit le 12/11/09 : Depuis Ubuntu Karmic (9.10) au moins, ces problèmes n’existent plus pour le portable Packard-Bell BG-46-P-018.

Ce qui fonctionne dès l’installation

  • le wifi (via le driver propriétaire chargé de suite par le nouveau gestionnaire de drivers Ubuntu)
  • les magnifiques boutons pour activer le wifi et le mode éco
  • le graveur externe (qui se branche avec deux prises usb, marqué Asus dessus (tiens comme c’est bizarre…), et qui est bien géré par le bios puisqu’on peut booter sur le cd qui se trouve dedans)
  • le lecteur de cartes mémoires SD

Ce qui ne fonctionne pas dès l’installation

  • le son
  • la webcam
  • l’affichage

Maintenant que le problème posé est, voyons comment le résoudre.

Lire la suite...

Installation d'Ubuntu sur un portable Packard Bell EasyNote BG46-P-018 (12") (1/2)

J’ai acheté un nouveau portable pour Noël (pas pour moi, pour Amélie en fait). Il s’agit d’un ultraportable. Le choix est restreint sur ce segment, sachant qu’on voulait un portable à la fois léger (2kg max) et puissant (processeur Intel Core 2 Duo T7100 minimum), et le tout sans mettre plus de 1300€.

Lire la suite...

- page 1 de 2