Archives de catégorie : Linux

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.

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).

Kubuntu 15.04: really full of bugs

I upgraded from Kubuntu from 14.04 to 15.04 (in order to get MTP support for my phone), and unfortunately it is really beta quality.

  • My settings from the previous version of KDE were not migrated.
  • When opening a session, some programs are not restored (ex: Konsole). Super annoying.
  • And also some windows are restore under my bottom bar.
  • I get prompted to install Flash at each session.
  • The auto-execution of programs at the session opening now only works for « programs » (having an associated « .desktop » file), not for shell scripts (though the configuration interface still allows adding such scripts). The list of the auto-executed programs is now located in « ~/.config/autostart » (and not anymore in « ~/.kde/Autstart »).
  • Why is there two distinct directories for the thumbnails (~/.thumbnails and ~/
    .cache/thumbnails) ?
  • The only way to add a program to a panel is by browsing the program hierarchy via the program menu widget (on the same panel). Searching a program by name will not allow you to add a program. Neither will the application launcher widget.
  • In order to associate a keyboard short-cut to Klipper, I need two icons of Klipper in my bar.

I also noticed that the « open file » dialog boxes (in particular the one for choosing a wallpaper image) does not display preview images larger than 5 Mo (default limit). If you want to choose a photo taken with your DSLR it can be annoying. There is no global way to change this settings. To change it for a given application, open or create the configuration file « ~/.config/APPNAMErc » (for Kate: ~/.config/katerc ; for everything related to the desktop: ~/.config/plasmashellrc), and make sure the following section is present.

[PreviewSettings]
MaximumRemoteSize=0
MaximumSize=50000000
UseFileThumbnails=true

« MaximumSize » is the maximal size of the files. In this example: 50Mo.

My recommendation: if you want stability and the current version is satisfying for you, do not migrate.

cgroups script for the current session

In Linux, cgroups (a kernel feature) allows to limit the resources (cpu, memory…) accessible to a group of processes. I have written a little bash script that will either:

  • create some groups for the current user session and assign some restrictions. No need to be root or to modify a global configuration file. Call it when your desktop session starts (for example by putting an entry in «~/.kde/Autostart»). Edit the script to create your own groups.
  • start a process in one of theses groups

The main reason was that I encountered a bug with Firefox and Google+, with triggered infinite memory allocation, which freezes my machine for a few minutes (because of the trashing). I hope that it will allow me to kill the process/close the tabs if it happens again.
Continuer la lecture

Ubuntu 14.04 : autojump is broken

In Ubuntu 14.04, the provided autojump does not allow to choose between several matches because of a bug. How to fix that (as suggested in the bug report):

  • download a recent version, unzip, do «bash install.sh» and update your .bashrc to point on this install
  • in ~/.autojump/etc/profile.d/autojump.bash, remove the argument «–bash» (twice)
comps=$(autojump --bash --complete $cur)

Migration vers Kubuntu 14.04

Après une longue série de mises à jour, j’ai passé le pas: je suis reparti sur une nouvelle installation. Plus le temps passait, plus je rencontrais de bugs. Tous les scripts de mise à jour ne se passent pas toujours bien, et la maintenance prenait de plus en plus de temps.

Donc globalement ça c’est très bien passé:

  • J’ai créé dans mon LVM des nouvelles partitions pour /, /usr et /var, ainsi qu’une nouvelle partition pour /boot en dehors du LVM. Comme ça je peux manuellement migrer mes anciennes configurations ou données systèmes.
  • À l’installation, j’ai dû tuer le process «apt» qui essayait de télécharger des mises à jour (sans ça, la progression de l’installation ne dépassait pas les 10%).
  • J’ai gardé mon /home et ma partition de données
  • L’installation dans la config système KDE du support du japonais m’a automatiquement installé ibus et anthy (il fallait le faire à la main avant, je crois).
  • J’ai pu réinstaller sans problème mes anciennes applications. Le système se comporte au moins aussi bien qu’auparavant (à part le nouveau système d’indexation «baloo» que j’ai désactivé).
  • La migration de ma DB MySQL (simple copie des fichiers) s’est bien passée.
  • Point noir: certains des paquets pour le support des applications 32 bits sur un système 64 bits ont disparus, notamment libXrender. Plus moyen d’utiliser mon Firefox 32 bits!

C’est un succès, pourvu que ça dure.

 

KDE et japonais: démarrer ibus automatiquement

Mise à jour: Article pour Kubuntu 16.04

Avec les versions récentes de (K)ubuntu, le système pour gérer les méthodes d’entrée (pour basculer au japonais) est maintenant «ibus» (et plus «scim»). Récemment, il a chez moi arrêté de fonctionner. Voilà ce que j’ai dû faire.

  • j’ai supprimé «im-switch» (si je l’avais)
  • installé «im-config»
  • supprimé dans mes fichiers «.bashrc» et «.bash_profile» les variables d’environnement référençant «ibus» (XMODIFIERS, GTK_IM_MODULE et QT_IM_MODULE).
  • j’ai exécuté «im-config» et choisi «ibus». Il va créer un fichier «~/.inputrc», qui va contenir le nom de la méthode d’entrée, paramètre qui sera pris en compte au démarrage de la session utilisateur.

C’est plus propre que de lancer explicitement «ibus-daemon -d» via les scripts de démarrage de KDE. Mais c’est bizarre que KDE/Kubuntu ne propose pas dans son panneau de config d’utiliser ibus…