Archives de catégorie : Linux

KDE: Firefox ouvre les répertoires avec Nautilus et pas Dolphin

Voilà un bug un peu irritant, dû au fait que Firefox n’utilise pas un moyen standard pour déterminer quel gestionnaire de fichier utiliser. Il y a plusieurs moyens de résoudre ça (de manière peu élégante):

  • Pas terrible: désinstaller Nautilus.
  • Mieux mais pas pérenne: lancer au démarrage de la session KDE un service Dolphin avec la commande « /usr/bin/dolphin --daemon ». Cela se fait dans « Configuration du système / Démarrage et arrêt / Ajouter un programme ».

C’est ce genre de problème qui fait qu’utiliser Linux au quotidien est tristement pavé de bugs et comportements bizarres…

Kubuntu 16.04: configurer ibus et anthy pour taper en Japonais

Kubuntu et KDE ne permettent pas de configuration facile pour taper du japonais (c’est le bug 329032, pas d’intégration de KDE avec les méthodes de saisie). Voila comment faire depuis une nouvelle installation.

1) Installer « ibus » et « anthy »

Ibus est une « méthode de saisie », un composant du système qui permet de taper des caractères complexes. Anthy est un greffon (aussi appelé « plugin ») pour taper du japonais.

Pour l’installer en ligne de commande, taper ceci puis rentrer son mot de passe:

sudo apt-get install ibus ibus-anthy

Note: si vous préférez la méthode « mozc », rajouter « ibus-mozc » ou bien remplacez « ibus-anthy » par celui-ci.

On peut sûrement l’installer de manière graphique, mais je n’ai pas l’impression que les outils de base de Kubuntu (« Logithèque / Découvrir ») le permettent.

2) L’activer au lancement de la session

Il faut qu’ibus soit lancé automatiquement quand on se connecte.

  • Aller dans « Configuration du système » et dans la section « Démarrage et arrêt »

  • Cliquer sur « Ajouter un programme » et dans la boîte « Choisir une application » taper « ibus-daemon » puis « ok ».

ibus-02-config-sys

  • Dans la boîte suivante liée à ce programme, cliquer « ok ». Si vous avez une boîte d’erreur vous indiquant une erreur d’écriture, pas de problème. Maintenant vous avez « ibus-daemon » dans la liste de programme de démarrage.

3) Configuration pour les programmes

Il faut un réglage additionnel pour que les programmes utilisent ibus. En ligne de commande, exécuter la commande:

im-config -n ibus

Cela créera dans votre répertoire personnel un fichier « .xinputrc ». Il sera lu par je-ne-sais quel programme, et aura pour effet de remplir les variables d’environnement suivantes:

CLUTTER_IM_MODULE=xim
GTK_IM_MODULE=ibus
QT4_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus

4) Déconnectez-vous

Et ouvrez une nouvelle session afin d’avoir les configurations ci-dessus activées.

5) Configurez les langues de ibus

Normalement vous devriez avoir dans la « boîte à miniature » une icône ibus.ibus-03-config-sys

  • Clic droit, « Préférences »
  • Dans l’onglet « Méthode de saisie », cliquer sur « Ajouter », aller à « japonais » et sélectionner « Anthy ».
  • Note 1: Vous pourriez préférer la méthode « Mozc ». Il parait qu’elle aurait ses avantages, mais elle a l’inconvénient rédhibitoire de ne pas taper par défaut en hiragana (et ce n’est pas configurable), donc je ne vous la recommande pas.
  • Note 2: dans l’onglet « Général », j’ai choisi la combinaison de touche « <Control><Alt> Down » (sic) pour passer d’une langue à une autre. Cela évite d’avoir à cliquer sur l’icône pour changer de langue.

6) Utilisez

Maintenant, dans la plupart des programmes (mais pas les programmes Java), quand la méthode Anthy est activée, vous taperez en hiragana (taper au clavier «toukyou» donne «とおきょう»). Une fois les hiraganas d’un mot tapés, taper « espace » une ou plusieurs fois pour qu’il vous propose différentes écritures en kanji. Taper « entrée » pour choisir l’une d’entre elles.

On peut configurer les raccourcis d’Anthy (dans la fenêtre de configuration d’ibus). Par exemple, j’ai choisi « control-h » et « control-k » pour basculer respectivement en hiragana et en katakana.

Firefox: problematic extensions, slow closing, extensions data loss

For (at least) several months, the first start-up of Firefox after a Linux logout gives me a session-restore page, indicating that it did not stopped properly. It also causes data loss in some add-ons. After some investigation, it turned out the causes were the following:

  • Some add-ons made closing Firefox very slow (about 1 minute!): there is a conflict between « Privacy Badger » et « Self Destructing Cookies« , and also « Tab Memory Usage » by itself is a problem.
  • When closing the Linux session, the session managers of the desktop environments (KDE, XFCE, Unity) gives the programs some time to shutdown properly (7-15 seconds I think). In my case, Firefox was killed every single time. This timeout not being configurable (without modifying the code et recompiling), the only solutions were either make the closing faster or manually closing Firefox before disconnecting. I find the way Windows handles it better: after the timeout, it asks the user if he wants to kill the remaining programs.
    Now that I disabled « Self Destructing Cookies » and « Tab Memory Usage », it takes a bit less that 10s for Firefox to stop, which it still not enough for it to close properly 100% of the time.
  • The add-ons using the « Simple storage » API (like MyKanji) save their data on the disk when the browser stops (even if the data was not modified recently!), and the data may be lost if the browser is killed at this moment.

Conclusions:

  • It may be one of the reasons why Mozilla wants to normalize the add-ons API (in addition to the security and the multi-process browser). Investigating the conflicting add-ons can be time-consuming, and a majority of users may think that Firefox itself is slow. Once I disabled the offending add-ons, my browser had a second youth.
  • Hard-coded time-outs (also known as « magic numbers ») are bad. It’s better to have a default value and a configurable setting (even if not documented).

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)