Archives de catégorie : Informatique et technologie

Firefox: extensions problématiques, fermeture lente, perte de données d’extensions

Depuis plusieurs mois (au moins), le premier démarrage de Firefox suivant une fermeture de session Linux m’accueille avec une page de restauration de session (due à un incident lors de la fermeture). Cela entraînait également la perte de données de certaines extensions. Après investigation, les causes étaient les suivantes:

  • Certaines extensions rendaient la fermeture très lente (1 minute!): d’une part il y a un conflit entre « Privacy Badger » et « Self Destructing Cookies », et d’autre part « Tab Memory Usage » en lui-même pose problème.
  • Lors de la fermeture de session, les gestionnaires de session des différents environnements de Linux (KDE, XFCE, Unity) laissent aux programmes un délai limité (7-15 s je crois) pour se fermer proprement avant de les tuer. Et donc dans mon cas, Firefox était tué à tous les coups. Ce délai n’étant pas configurable (sauf modification et recompilation), les seules solutions sont soit de rendre la fermeture plus rapide, soit de fermer manuellement Firefox avant de se déconnecter. J’aurais préféré que ce soit comme sous Windows: qu’après le délai, le système demande à l’utilisateur si il veut vraiment tuer les programmes restant.
    Maintenant que j’ai désactivé « Self Destructing Cookies » et « Tab Memory Usage », le temps de fermeture de session est d’un peu moins de 10 s, ce qui reste toujours trop pour clore la session avec succès à tous les coups.
  • Les extensions utilisant l’API « Simple storage » (comme « Mes Kanjis ») sauvent sur disque leurs données à la fermeture du navigateur (même si les données n’ont pas été modifiées récemment !), et si le navigateur est tué à ce moment, les données peuvent être perdues.

Conclusions:

  • Ça donne une explication supplémentaire à la volonté de Mozilla de normaliser les API des extensions (en plus de la sécurité et de la répartition sur plusieurs processus). Partir à la chasse aux conflits peut être fastidieux, et de nombreux utilisateurs tireront la conclusion que Firefox est un navigateur poussif. Une fois les extensions fautives désactivées, mon navigateur a connu une seconde jeunesse.
  • Les délais en dur dans le code (aussi connu sous le nom de « nombre magique »), c’est mal. Mieux vaut avoir une valeur par défaut pouvant être remplacée par une valeur configurable (même si celle-ci n’est pas documentée).

Mise à jour Kubuntu 16.04: du mieux

Bravant tous les risques, j’ai mis à jour ma Kubuntu de 15.10 à 16.04. Moins de surprises que lors des mises à jour précédentes: la seule erreur que j’ai eu est la reconfiguration de PhpMyAdmin qui échoue… parce que MySQL est arrêté (pas encore mis à jour). Une bonne surprise même: plus de pause de plusieurs secondes en branchant/débranchant un écran, et plus de crashs de programmes à ce moment. Par contre un nombre de problèmes restent.

Problème d’affichage du texte dans Visual Studio Code sur Kubuntu 16.04? Changez de police!

Après la mise à jour de Kubuntu 15.10 à la version 16.04, le texte avait une sale tronche: il était plus sombre et avait l’air moins précis.

En fait cela venait du fait que la police par défaut était devenue « Courier New ». La solution, qui n’avait rien à voir avec la couleur du texte (!), a été de modifier le fichier de réglages (menu Fichier / Préférences / Paramètres utilisateur) en rajoutant un entrée comme:

"editor.fontFamily": "Liberation Mono"
"editor.fontFamily": "Oxygen Mono"

J’ai galéré pour trouver pourquoi cela ne touchait que Kubuntu 16.04 (que ce soit sous KDE ou XFCE), et pas Ubuntu 16.04 (sous Unity) ou Ubuntu 15.10 (sous KDE): grâce à des VM j’avais comparé (avec « strace ») les différents fichiers chargés par vscode, sans réussite: il semblait que les fichiers étaient les même, notamment les fichiers de thème de GTK 2.

En fait, j’aurais pu trouver plus rapidement en utilisant des outils de dev de vscode (ceux de Chromium; on les active dans le menu aide et on les ouvre avec F12): j’aurais pu voir quel était la police utilisée en pratique dans l’éditeur.

Text display issue in Visual Studio Code in Kubuntu 16.04? Change the font!

After upgrading Kubuntu from 15.10 to 16.04, the text really looked ugly: it was darker (even when my theme specified « #ffffff ») and looked imprecise.

In fact, the reason was the default font which was now « Courier New ». The solution, which had nothing to do with the text color (!), was to modify the configuration file (menu File / Preferences / User Settings) by adding an entry like:

"editor.fontFamily": "Liberation Mono"
"editor.fontFamily": "Oxygen Mono"

I struggled to find why it only impacted Kubuntu 16.04 (either KDE and XFCE), and not Ubuntu 16.04 (on Unity) or Ubuntu 15.10 (on KDE): using some VMs I compared (with « strace ») the files loaded by vscode, without any success: it seemed that the files were the same, including the GTK 2 themes.

In fact, I could have found more quickly by using the vscode (Chromium) dev tools (unlock them in the Help menu and press F12): I would have seen which was the font actually used by the editor.

Benchmark: Athlon x4 620 contre A8-7600

Une petite comparaison de l’entrée de gamme AMD 4 cœurs:

  • de 2009 : Athlon x4 620 (2.6Ghz, 72€), DDR2 PC5300 à 667 Mhz.
  • et de 2015 : A8-7600 (3.1Ghz, 95€, mais avec processeur graphique intégré), DDR3 à 2133 Mhz.

Ancien / Nouveau :

  • Export de photos avec Darktable : -45% (36 min / 19 min 40 s)
  • Rendu/compression de vidéo avec KdeEnlive, 4 threads : -18% (2 min 04 / 1 min 42)
  • Conversion d’un album Flac vers Ogg Vorbis : -8% (36s / 33s)
  • HTML Jetstream, Firefox 42 : +39% de points (80 pts, 101 pts)
  • HTML Kraken 1.1, Firefox 42 : -26% (2905ms / 2159ms)
  • Recompression d’un xml.bz2 en xz : -9% (27.94s / 25.40s)
  • Recompression d’un gros XML en xz : -18% (5 mn 51 / 4 min 47)
  • Programme Java maison traitant un dump Wiki: -23% (31.7 s / 24.5 s)

En 6 ans pas de progrès fabuleux. Par contre c’est sensé consommer 30% moins.

Kubuntu 15.10 : toujours mi-figue mi-raisin

Encore une nouvelle version de Kubuntu, et encore un bilan mitigé. Cette fois je n’ai pas fait la mise à jour mais une réinstallation (j’ai migré vers un disque plus petit et je n’ai pas réussi rapidement à faire fonctionner grub).

Parmi les problèmes irritants:

  • Il n’y a apparemment d’aide pour installer et démarrer « ibus » et « Anthy » (or « Mozc ») qui permettent de taper du japonais. J’ai dû installer les packages à la main, et ajouter un script au démarrage de session pour lancer « ibus-daemon » (car si je rajoute aux applications automatiquement démarrées son programme directement cela ne fonctionne pas ; seuls les scripts sont lancés).
  • Avant, KWallet (le gestionnaire de mot de passe de KDE) me demandait un mot de passe une fois par session. Maintenant il me le demande en plus à chaque fois démarrage d’Amarok. Raison: Amarok est une application KDE 4 et l’extension Last FM utilise KWallet version 4, alors que les autres applications utilisent KWallet version 5. Il est possible de désactiver KWallet pour cette extension (le mot de passe sera en clair!) en mettant dans le fichier « /home/fab/.kde/share/config/amarokrc », dans la section « [Service_LastFm] » la valeur « kWalletUsage=2 ».
  • Cliquer sur l’icône de Korganiser (le gestionnaire de calendrier) dans la boîte de miniature n’ouvre plus Korganiser.
  • Dans Dolphin (gestionnaire de fichiers), les aperçus de vidéos ne fonctionnent plus. La version de « ffmplayerthumbs » présente dans les dépôts de logiciel n’est pas compatible avec cette version de KDE (on peut l’installer mais rien ne se passe). On le peut compiler et l’installer à la main.
  • Toujours dans Dolphin, les menus « Compresser » et « Extraire » ont disparu à cause de ce bug. Solution: en temps que root, « ln -s /usr/share/kde4/servicetypes/konqpopupmenuplugin.desktop /usr/share/kservicetypes5/ », puis en tant qu’utilisateur « kbuildsycoca5 ».
  • La restauration des programmes lancés lors de la dernière session est toujours cassée (cela fera donc deux versions).
  • Plusieurs programmes KDE plantent quand un écran additionnel est connecté (ce qui est à chaque démarrage pour moi).
  • mp3gain (normalisation de musique) n’est plus présent dans les dépôts.
  • Quand j’effectue une mise à jour de paquets, l‘icône de notification dans la tableau de bord reste inchangée (si il y avait des mises à jour critique, l’icône reste rouge).

Parmi les points positifs:

  • Kdenlive (le programme de montage vidéo) fonctionne maintenant sans planter tous les quelques clics. Très pratique.
  • Le branchement en USB (mtp) de mon téléphone Android marche plus souvent (mais cela reste aléatoire). Par contre avec ma tablette toujours pas de succès.
  • Le service de DNS local n’a plus de problème de DHCP (je devais souvent redémarrer l’interface réseau après le démarrage!).
  • Gwenview gère bien à nouveau les images en portrait.
  • J’ai l’impression qu’ibus (gérant les méthodes de saisie au clavier exotiques comme le japonais) a moins de problèmes avec certains programmes (dont Anki).

« Lazarus: Form Recovery » makes forms submit slow :-(

« Lazarus: Form Recovery » is a Firefox add-on that saves the text of the forms so it can be restored later (very handy, for example if you have typed a long mail/message/Wikipedia contribution and something bad happens, like a crash or a computer shutdown).

Unfortunately, I realized that it causes a small delay (something like 1.5s) when submitting a form. It is perceptible in the case of an Ajax form (or even an « offline » form where nothing is sent but data is processed locally in Javascript; in this case the result should be instant). I spend some times searching around, it was crazy! No problem with a simple « onClick » but only with « onSubmit ». Was it the debug version of React? No! Or the fact that I used the Javascript compilation of React JSX? No! There was nothing special in the Performance analyser. Then I realized that Chromium was fast. And Firefox dev edition was fast. Then I began the Firefox add-on hunt…

That’s strange that saving is not asynchronous…

(by the way, if you want to compile JSX files using Node.js, don’t install « node » on Ubuntu, that’s not « Node.js »! Install « nodejs » instead, and make a symlink from « /usr/bin/nodejs » to « node » somewhere on your path. Otherwise you may ask yourself why the JSX compiler does nothing. It’s just that the executable « node » is completely unrelated)

Atom: police japonaise / Japanese font

(English below)

Dans l’éditeur de texte Atom, sous Kubuntu 15.04, les caractères japonais s’affichaient comme un carré (□), alors que les autres éditeurs (Emacs, Kate, Geany…) n’avaient pas ce problème. Pour obtenir un affichage correct, j’ai mis comme police dans les préférences «Oxygen Mono, TakaoPGothic». Par contre, comme avec les autres éditeurs de textes, les caractères japonais ne s’affichent pas avec une longueur fixe (vu que la police TakaoPGothic n’est pas une police à chasse fixe), mais ce n’est pas grave.

In the text editor Atom, in Kubuntu 15.04, the Japanese characters were displayed as a square (□), whereas the other editors (Emacs, Kate, Geany…) behave correctly. In order to obtain a correct display, I set in the settings the font as «Oxygen Mono, TakaoPGothic». However, as in the other editors, the japanese characters were not displayed with a fixed length (given that the font TakaoPGothic is proportional), but that’s not really a problem.