Assurez-vous que le démon GnomeKeyring est en cours d’exécution
Rôle
Les applications AIR sous Linux ne sont parfois pas en mesure d’accéder au magasin local chiffré (ELS). Ceci entraîne des comportements d’affichage de l’application comme un blocage au lancement, l’affichage d’une fenêtre vide au démarrage, la fonctionnalité d’enregistrement du mot de passe qui ne fonctionne pas, etc. Ce document décrit les problèmes fréquents survenant lors de l’utilisation d’ELS et les étapes permettant d’y remédier dans la mesure du possible.
Public
Ce document est destiné aux utilisateurs qui exécutent des applications AIR sous Linux. Toutefois, tous les développeurs d’applications AIR doivent le lire pour comprendre les problèmes de base qui peuvent survenir lors de l’utilisation d’ELS.
Remarque : nous allons utiliser TweetDeck dans chacun des exemples ci-dessous, qui s’appliquent également à toute application AIR.
Introduction
ELS est l’abréviation d’Encrypted Local Store (magasin local chiffré). AIR fournit un stockage sécurisé « basé sur une plate-forme » qui peut être employé pour stocker des informations qui doivent être sécurisées comme les informations de connexion, les clés privées, etc. Le manuel d’ActionScript décrit l’API prise en charge par AIR. Vous pouvez y accéder ici.
ELS est « basé sur une plate-forme », ce qui signifie qu’il utilise des services système natifs pour sécuriser les données. Par exemple, sous Mac, AIR utilise KeyChain. Sous Linux, il n’existe aucun magasin de clés qui soit disponible sur tous les systèmes. Actuellement, AIR Linux prend en charge deux magasins de clés (le critère principal étant leur disponibilité sur la plupart des distributions) :
- GnomeKeyring sur les bureaux Gnome
- Kwallet sur les bureaux KDE
Par conséquent, lorsqu’une application AIR tente d’ajouter/de récupérer des données d’ELS KeyStore sur un système Gnome, AIR utilise gnome-keyring pour sécuriser les données, tandis que sur un bureau KDE, AIR utilise KWallet.
Résolution des problèmes
Veuillez lire l’intégralité du document avant d’essayer quoi que ce soit. Assurez-vous également que des données sensibles que vous ne souhaitez pas perdre ne se sont pas stockées dans ELS, car certaines procédures de dépannage peuvent entraîner une perte de données.
Dépannage de GnomeKeyring
-
$ ps -aef | grep -i 'gnome.*keyring'
Si ce n’est pas le cas, démarrez-le.
-
Réinitialiser gnome-keyring
Parfois, la base de données de porte-clés est endommagée. Par conséquent, les applications ne peuvent pas accéder au porte-clés.
$ mv ~/.gnome2/keyrings/ ~/.gnome2/keyrings.bkp $ mkdir -p ~/.gnome2/keyrings/
Cela crée une sauvegarde, afin de pouvoir effectuer une restauration, le cas échéant.
-
Réinitialiser les données d’application AIR
Lorsqu’ELS n’est pas accessible, toutes les données préalablement enregistrées dans ELS ne peuvent plus être extraites. Pour recommencer à utiliser ELS, nous devons le réinitialiser en supprimant le répertoire suivant :
$ rm -rf ~/.appdata/Adobe/AIR/ELS
-
Redémarrer l’application
Vous devez obtenir la boîte de dialogue du gestionnaire GnomeKeyring vous demandant d’entrer le mot de passe principal pour installer la base de données de porte-clés, ce qui signifie que tout fonctionne correctement. Si vous n’obtenez aucune boîte de dialogue, cela signifie que d’autres problèmes sont survenus. Consultez le reste du document pour prendre connaissance des problèmes supplémentaires.
Dépannage de KWallet
-
Assurez-vous que le démon KWallet est en cours d’exécution.
$ ps -aef | grep -i kwallet
Si ce n’est pas le cas, démarrez-le. La manière la plus simple de démarrer le démon consiste à appeler kwalletmanager. Cette procédure est disponible sur la plupart des distributions Linux. Le lancement de kwalletmanager démarre le démon KWallet correctement.
-
Assurez-vous que le sous-système KWallet n’est pas désactivé. Lancez kwalletmanager, cliquez avec le bouton droit de la souris sur l’icône de la barre d’état système de kwalletmanager, puis cliquez sur Configurer. Vérifiez que l’option de sous-système Activer le portefeuille KDE est sélectionnée.
-
Ouvrez Kwalletmanager en cliquant deux fois sur l’icône de la barre d’état système et assurez-vous qu’un portefeuille nommé « kdewallet » est répertorié dans la liste de portefeuilles. Dans le cas contraire, créez un portefeuille nommé « kdewallet » comme portefeuille par défaut à utiliser.
-
Réinitialiser les données d’application AIR
Dans la mesure où ELS n’est pas accessible, toutes les données préalablement enregistrées dans ELS ne peuvent plus être extraites. Pour recommencer à utiliser ELS, nous devons le réinitialiser en supprimant le répertoire suivant :
$ rm -rf ~/.appdata/Adobe/AIR/ELS
-
Relancez l’application.
Utilisation d’ELS lors d’un changement de bureau
Actuellement, ELS prend en charge un environnement de bureau unique sur un ordinateur (Gnome ou KDE). Si la session de bureau est Gnome et si une application stocke des données dans ELS, lorsque le bureau passe à KDE, la même application ne pourra pas accéder aux données qui ont été stockées antérieurement lorsque la session de bureau était Gnome.
Ceci est dû au fait qu’AIR Linux prend en charge GnomeKeyring sur Gnome et KWallet sur KDE, et qu’il n’existe aucune méthode standard pour transférer des données entre ces deux gestionnaires de mots de passe.
Si vous souhaitez passer à Gnome à partir de KDE ou inversement, il est possible de réinitialiser ELS afin d’utiliser ce dernier sur le nouveau bureau. Cette opération supprimant toutes les données antérieures, effectuez-la avec une extrême précaution. Pour réinitialiser ELS, supprimez le répertoire suivant :
$ rm -rf ~/.appdata/Adobe/AIR/ELS
Migration des données ELS vers un autre ordinateur
Toutes les données stockées dans ELS par une application sont liées à l’utilisateur sur cet ordinateur ; par conséquent, si vous transférez vos données ELS vers un autre ordinateur, cela risque d’échouer, car les informations utilisateur sont différentes.
Clé AIR endommagée dans KWallet/GnomeKeyring
Au cas où la clé AIR stockée dans KWallet ou GnomeKeyring est endommagée, toutes les données stockées à l’aide de cette clé sont perdues, et il n’existe aucun moyen de les récupérer.
Pour réinitialiser la clé AIR, supprimez le répertoire suivant :
$ rm -rf ~/.appdata/Adobe/AIR/ELS
Cette opération réinitialise ELS, et permet de stocker de nouvelles données dans ELS.
Accès à ELS par le biais de sessions exportées
Actuellement, si vous exportez une session à l’aide de ssh ou si vous changez d’utilisateur (sudo/su), ELS n’est pas accessible.
Utilisation d’ELS sur un environnement de bureau autre que Gnome ou KDE
Actuellement, ELS prend en charge uniquement deux environnements de bureau, à savoir Gnome et KDE. Pour vérifier si votre environnement de bureau actuel est pris en charge ou non, exécutez une application sur la console (terminal).
$ /opt/TweetDeck/bin/TweetDeck Unknown desktop manager, only Gnome and KDE are supported
Si vous voyez le message « Gestionnaire de bureau inconnu, seuls Gnome et KDE sont pris en charge », cela signifie qu’AIR ne prend pas en charge votre propre environnement de bureau ou ne parvient pas à l’identifier.
Toutefois, vous pouvez toujours utiliser ELS si le démon gnome-keyring ou kwallet s’exécute sur votre système. Si le démon GnomeKeyring est en cours d’exécution, exportez la variable suivante
$ export GNOME_DESKTOP_SESSION_ID=1
Si le démon KWallet est en cours d’exécution, exportez la variable suivante
$ export KDE_FULL_SESSION=1
Si votre environnement de bureau est KDE4 ou version ultérieure, vous devez exporter une variable supplémentaire
$ export KDE_SESSION_VERSION=4
Accéder à votre compte