Projet open source
sabamdarif/termux-desktop avatar
sabamdarif/termux-desktop

Termux Desktop : construire une session Linux graphique sur Android

Ce projet transforme « Install a full Linux desktop environment on your Android device with Termux X11 ( VNC optional) and also enable hardware acceleration. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.

2 255 étoiles956 forksShellGPL-3.0
GitHub

En bref

De quoi s’agit-il ?
Un script de configuration pour Termux qui installe un bureau GUI natif avec X11 ou VNC optionnel, plus l'accélération matérielle.
À qui s’adresse-t-il ?
Termux Desktop offre aux utilisateurs de Termux un chemin scripté d'une installation Termux nue à un bureau Linux complet avec plusieurs choix d'environnements et un VNC optionnel. Le projet est sous licence GPL-3.0 et son README pointe vers des documents liés pour des thèmes spécifiques et le dépannage, mais le script lui-même est le livrable principal.
Puis-je l’utiliser commercialement ?
Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 19 jours.
En quel langage est-il écrit ?
Principalement Shell, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Ce que fait ce projet

Termux Desktop est un script shell qui vous guide dans l'installation d'un environnement de bureau Linux complet dans Termux sur Android. L'accès GUI par défaut se fait via Termux:X11, avec VNC comme choix optionnel qui n'apparaît que si vous choisissez l'installation personnalisée. Le script installe également des pilotes destinés à faire fonctionner l'accélération matérielle sous Termux, et il inclut une boutique d'applications ainsi qu'un support pour utiliser une distribution proot ou chroot comme conteneur.

Exigences et restrictions

Le README est explicite : cela ne fonctionne qu'avec Termux de GitHub ou F-Droid, pas la version Google Play, à cause de limitations API. Vous avez besoin d'Android 8.0 ou plus, d'au moins 3 Go de RAM, de 3 à 4 Go de stockage libre et de 1,5 à 2 Go de données Internet pour le téléchargement. Termux:X11 et Termux-API doivent être installés à partir de leurs versions GitHub. Pour Android 12 et plus, le README vous demande de désactiver le Phantom Process Killer avant l'installation, avec un guide lié.

Environnements de bureau et gestionnaires de fenêtres pris en charge

Le projet liste la prise en charge de Xfce, LXQt, MATE, GNOME, Cinnamon et KDE Plasma comme environnements de bureau, et Openbox, i3, dwm, bspwm, Awesome, Fluxbox, IceWM et WMaker comme gestionnaires de fenêtres. Le README lie vers des pages de styles par environnement qui montrent les thèmes disponibles. Il ne dit pas si tous sont également maintenus ou lesquels ont des problèmes connus ; cela nécessiterait de vérifier dans la documentation liée.

Commandes d'installation et de configuration

L'installation se fait avec une commande en une ligne qui récupère et exécute le script depuis GitHub raw ou une URL raccourcie : bash <(curl -Lf https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/setup-termux-desktop). Une installation allégée est possible en exportant LITE=true avant de l'exécuter, ce qui saute les paquets optionnels. Après installation, la commande setup-termux-desktop accepte des options pour changer le style du bureau, ajuster l'accélération matérielle, changer la proot-distro, réinitialiser toutes les modifications, supprimer Termux Desktop, ou installer à partir d'un fichier de configuration local. Le README mentionne aussi un drapeau de débogage qui génère un journal.

Gestion des sessions GUI

Une fois installé, vous contrôlez les sessions avec quatre commandes. tx11start et tx11stop gèrent Termux:X11, tx11start acceptant des drapeaux comme --nogpu, --legacy et --nodbus qui peuvent être combinés, et tx11stop offrant -f pour un arrêt forcé. vncstart et vncstop font de même pour VNC, vncstart n'exposant que --nogpu. La commande gui fournit une interface de plus haut niveau : gui --start vnc ou tx11, gui --stop, gui --display pour rediriger vers un autre serveur X11, et gui --kill pour tout arrêter d'un coup. Le README inclut des exemples complets pour chaque combinaison.

Paquets, conteneurs et licence

Le projet installe APT comme gestionnaire de paquets par défaut de Termux et optionnellement PACMAN, que le README avertit comme potentiellement bogué. Il inclut également une boutique d'applications et une fonctionnalité de conteneur qui utilise une distribution proot ou chroot pour installer des applications que Termux ne supporte normalement pas. La licence est GPL-3.0, qui accorde les libertés d'utiliser, d'étudier, de partager et de modifier le logiciel, mais elle ne comporte aucune garantie. Le README liste plusieurs dépôts associés et rend hommage à d'autres projets de bureau Termux, mais ne décrit aucun canal de support officiel au-delà d'un lien de discussion Telegram.

Pour évaluer termux-desktop, il faut partir de son entrée concrète : tx11start, tx11stop et LITE=true. La première passe doit utiliser un jeu d’essai isolé, une version du dépôt notée et un résultat que l’on peut relire. On vérifie d’abord que l’installation ou le chargement termine sans erreur, puis que la fonction principale produit les champs attendus. Une réussite de commande ne prouve pas encore que le projet convient à un usage durable ; elle montre seulement que la chaîne minimale est active.

La seconde passe porte sur les limites propres à termux-desktop. Pour Termux Desktop, on compare Termux:X11 et VNC, on observe la commande tx11start --nogpu et on garde Android 12 et le Phantom Process Killer dans le journal. Pour VariantGrid, on compare les annotations VEP, les coordonnées GRCh37 et GRCh38, les échantillons partagés et la saisie ACMG. Pour AI Job Hunter, on sépare Ollama, les fournisseurs distants, SQLite et Sentry afin de savoir quelles données sortent de la machine. Pour Hackathon Starter, on teste MongoDB, l’inscription, la session, le reset et chaque callback OAuth.

Les autres dépôts demandent la même précision appliquée à leur propre surface. DaVinci Resolve MCP doit être observé avec resolve_bridge, un projet de montage et un appel en lecture seule avant toute modification. SVPullToRefresh doit arrêter l’animation après le callback et éviter les déclenchements répétés. TrendRadar doit montrer le flux, le mot-clé, la planification et la notification réellement configurés. Career-Ops doit distinguer l’import d’une offre, le contact et l’entretien. EaseMotion CSS doit vérifier les variables et les boucles dans le navigateur. js-webdav-client doit comparer les requêtes WebDAV, les réponses XML, les ACL et le fichier dist.js.

Ce protocole ne remplace pas les éléments absents du README. Les performances, la couverture des sources, la sécurité, la compatibilité des versions et le support opérationnel restent à confirmer lorsque la documentation ne les précise pas. Les équipes doivent conserver les sorties, les journaux et les fichiers d’essai avec le dépôt concerné, puis refaire uniquement les scénarios affectés par une mise à jour. La conclusion doit donc rester proportionnée : termux-desktop peut servir dans le périmètre décrit, mais chaque extension de ce périmètre exige une preuve séparée.

Conclusion éditoriale

Termux Desktop offre aux utilisateurs de Termux un chemin scripté d'une installation Termux nue à un bureau Linux complet avec plusieurs choix d'environnements et un VNC optionnel. Le projet est sous licence GPL-3.0 et son README pointe vers des documents liés pour des thèmes spécifiques et le dépannage, mais le script lui-même est le livrable principal.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté