Assurez-vous que le démon GnomeKeyring est en cours d’exécution
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.
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.
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) :
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.
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.
Assurez-vous que le démon GnomeKeyring est en cours d’exécution
$ ps -aef | grep -i 'gnome.*keyring'
Si ce n’est pas le cas, démarrez-le.
$ mv ~/.gnome2/keyrings/ ~/.gnome2/keyrings.bkp $ mkdir -p ~/.gnome2/keyrings/
$ rm -rf ~/.appdata/Adobe/AIR/ELS
$ ps -aef | grep -i kwallet
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.
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
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.
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.
Actuellement, si vous exportez une session à l’aide de ssh ou si vous changez d’utilisateur (sudo/su), ELS n’est pas accessible.
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