Lancer des applications desktop

Libertine vous permet d’utiliser des applications desktop dans Ubuntu Touch.

Pour afficher et lancer ces applications, vous avez besoin du Desktop Apps Scope qui est disponible dans l’Open Store. Pour installer ces applications, vous devez utiliser la ligne de commande comme décrit en dessous.

Gérer les conteneurs

Créer un conteneur

La première étape est de créer un conteneur dans lequel les applications peuvent être installées :

libertine-container-manager create -i CONTAINER-IDENTIFIER

Vous pouvez ajouter des options supplémentaires comme:

  • -n name remplacer name par un nom facile à retenir à donner au conteneur
  • -t type type peut être à la fois chroot ou lxc. Celui par défaut est chroot et est compatible avec tous les périphériques. Si le noyau de votre périphérique le supporte, alors lxc est suggéré.

Le processus de création peut prendre un peu de temps à cause de la taille du container (quelques centaines de mégaoctets).

Note

La commande create montrée ci-dessus ne peut pas être lancée directement dans l’application terminal du fait de restrictions apparmor. Vous pouvez la lancer depuis un autre périphérique en utilisant soit une connexion adb soit une connexion ssh. Alternativement, vous pouvez la lancer depuis l’application terminal en utilisant une connexion ssh « loopback » en lançant la commande : ssh localhost.

Liste des conteneurs

Pour établir la liste de tous les conteneurs, lancer :
libertine-container-manager list

Détruire un conteneur

libertine-container-manager destroy -i CONTAINER-IDENTIFIER

Gérer les applications

Une fois qu’un conteneur est mis en place, vous pouvez lister les applications installées :

libertine-container-manager list-apps

Installer un paquet :

libertine-container-manager install-package -p PACKAGE-NAME

Enlever un paquet :

libertine-container-manager remove-package -p PACKAGE-NAME

Note

Si vous avez plus d’un conteneur ; alors vous pouvez utiliser l’option -i CONTAINER-IDENTIFIER pour spécifier pour quel conteneur vous voulez effectuer cette opération.

Fichiers

Les applications Libertine ont accès à ces dossiers :

  • Documents
  • Musique
  • Images
  • Téléchargements
  • Vidéos

Conseils

Emplacements

Pour chaque conteneur que vous créez, il y aura deux dossiers créés :

  • Un dossier racine ~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/ et
  • un dossier utilisateur ~/.local/share/libertine-container/user-data/CONTAINER-IDENTIFIER/

Accès Shell

There are 2 options for executing commands inside the container.

The first option is based on libertine-container-manager exec. It lets you run your commands as root. The drawback is that the container is not completely set up. So far we know that the folders mentioned above (Documents, Music, …) are not mounted i.e., the /home/phablet/ directory is empty. Likewise the directory referenced in TMPDIR is not available what may lead to problems with software that tries to create temporary files or directories. You may use this option e.g., for installing packages.

To execute a command you can use the following pattern:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "COMMAND-LINE"

For example run:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "apt-get --help"

To get a shell into your container as root run:

libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "/bin/bash"

The second option is based on libertine-launch. It will execute your commands as user phablet in a completely set up container. So you may use this option to modify your files using installed packages.

To execute a command you can use the following pattern:

libertine-launch -i CONTAINER-IDENTIFIER COMMAND-LINE

For example run:

libertine-launch -i CONTAINER-IDENTIFIER ls -a

Pour obtenir un shell en tant qu’utilisateur phablet, lancer :

DISPLAY= libertine-launch -i CONTAINER-IDENTIFIER /bin/bash

Note

Quand vous lancez bash de cette manière, vous n’aurez aucun retour confirmant que vous êtes à l’intérieur de ce conteneur. Vous pouvez cependant lancer ls / pour vérifier que vous êtes bien à l’intérieur de ce conteneur.

Arrière-plan

Un serveur d’affichage coordonne les entrées et les sorties d’un système d’exploitation. La plupart des distributions Linux utilisent de nos jours un serveur X. Ubuntu touch n’utilise pas de serveur X mais utilise un nouveau serveur d’affichage appelé Mir. Cela signifie que les applications standard X ne sont pas directement compatibles avec Ubuntu Touch. Une couche de compatibilité appelé XMir est nécessaire. Libertine utilise donc XMir pour afficher les applications de bureau.

Un autre défi est que les mises à jours d’Ubuntu Touch sont délivrées par des images OTA. En conséquence, le système de fichier racine est en lecture seule. Libertine met à disposition un conteneur avec un système de fichier en mode lecture et écriture pour permettre l’installation d’applications Linux traditionnelles pour poste de travail.