[ Dextop // Page Projet ] [ Version // 19-08-2024 ]
19/08/2024 ↴
10/08/2024 ↴
08-07-2024 ↴
08-06-2024 ↴
22/06/2024 ↴
29/05/2024 ↴
Dextop transforme la plupart des appareils Android modernes en une station de travail de distribution Linux complète en quelques minutes ! Aucun souci ni savoir-faire technique approfondi requis : Dextop est simple et convivial.
Il est fortement recommandé d'installer Dextop sur une nouvelle instance ou un nouveau profil Termux pour bénéficier d'une table rase et d'une expérience rapide, bien que son déploiement sur une configuration déjà existante soit également possible.
Tous les utilitaires créés, chargés et utilisés par Dextop contiennent un argument d'aide : veuillez vous référer aux boîtes de dialogue d'aide lors de la configuration ou avant d'ouvrir un rapport de bogue.
Préparer ↴
Stockage de liens ↴
echo 'Home' > .storage
Installer ↴
curl -s -L run.dxtp.app > dextop && bash dextop
Utiliser ↴
container-session -o
container-session -u termux
container-session -o
Apprécier!
Pour fonctionner comme il le fait et effectuer une transition transparente entre Termux et l'instance de conteneur choisie, Dextop est construit d'une certaine manière : il charge et lie des scripts, des fichiers de configuration et des utilitaires pour améliorer l'expérience du poste de travail basé sur Android comme suit :
Tous les fichiers ci-dessus peuvent être modifiés ou personnalisés et constituent une bonne base de départ si aucune configuration ou préférence n'est déjà définie.
Tous les autres scripts et utilitaires peuvent également être édités ou modifiés pour bénéficier d'une expérience plus personnalisée.
Le projet Dextop se dégage de toute responsabilité en cas de panne matérielle ou de perte de données !
Toute modification de la routine d'installation, des scripts ou des utilitaires de Dextop implique que l'utilisateur est pleinement conscient d'une panne ou d'une casse matérielle potentielle et/ou d'une perte de données, y compris les conséquences d'une telle action : tout rapport de bogue découlant d'une telle action ne sera pas reconnu et sera fermé immédiatement !
Dextop est développé à l'aide d'un Samsung Galaxy Note 20 Ultra, d'un Samsung Galaxy Tab S7+ et d'un Intel NUC exécutant Chrome OS avec ASL (sous-système Android pour Linux) activé.
Dextop a été principalement optimisé pour fonctionner avec/avec DeX de Samsung, sur les appareils mobiles.
Compte tenu des appareils sur lesquels Dextop a été développé et pour lequel, l'architecture ARM64 V8a est la base de tous les objets, binaires, bibliothèques, utilitaires compilés et tous les autres packages installés ou requis pour le projet et est la référence d'architecture implicite lorsque l'on indique « appareil Android moderne ». '.
Il est indispensable de sauvegarder votre configuration existante en suivant les recommandations de sauvegarde Termux.
Dernier avertissement : le projet Dextop ne sera pas tenu responsable des remplacements, corruptions de fichiers ou suppressions causés par le processus d'installation et de configuration - Vous avez été averti.
Une routine de sauvegarde a également été créée pour archiver le répertoire personnel de l'utilisateur avant de continuer, quoi qu'il en soit, afin de garantir une certaine sécurité.
Une fois généré, il peut être trouvé dans le répertoire personnel de l'utilisateur avec le tampon correspondant comme « dextop-backup-MM-DD-YYYY-HH-MM-SS.tar.gz ».
Dextop peut cependant être comparé à d’autres projets très similaires :
Utilisateurs expérimentés, soyez prévenus !
Les applications qui nécessitent des services backend (par exemple : Ubuntu Snap/snapd), des services autonomes, des sondes matérielles et d'autres fonctionnalités avancées qui nécessitent un accès à des répertoires système de base restreints ne fonctionneront pas : le périphérique doit être rooté pour supprimer ces limitations et obtenir un accès complet à tous. matériel système et périphériques virtuels.
Dextop relie certains des utilitaires modifiés qui ont été corrigés sous Termux pour tenter d'accéder de manière limitée à tout ce que la politique d'exécution de l'espace utilisateur Android autorise (htop, kill, pgrep, pkill, ps, top).
N'installez pas les packages Google Play Store : ils n'ont pas été maintenus et sont obsolètes depuis novembre 2020.
Pour la meilleure expérience possible, suivez les liens et recommandations ci-dessous et assurez-vous d'avoir :
Dextop est très rapide et efficace :
Les utilisateurs peuvent choisir entre une configuration complète de XFCE pour effectuer leur travail ou conserver l'installation de base pour l'interface de ligne de commande et les flux de travail de programmation :
L'option « console » est destinée aux utilisateurs qui souhaitent expérimenter avec Dextop ou configurer leur propre gestionnaire de fenêtres (WM)/environnement de bureau (DE), leurs utilitaires et leurs préférences.
L'option 'environnement' permet à l'utilisateur de spécifier l'environnement de bureau (DE) à configurer et à utiliser.
La configuration par défaut est actuellement XFCE (étant la seule suite d'environnement complète et fonctionnelle) pour les côtés Termux et conteneur, lorsqu'aucun argument n'est transmis au script de déploiement « dextop ».
Par défaut, la composition XFCE est (et devrait rester) désactivée avec XFCE pour optimiser l'utilisation des ressources et éviter les déchirures d'affichage et autres problèmes.
En général, et pour d'autres types de configuration, la désactivation de la composition permet d'obtenir les meilleures performances et expériences possibles, conformément aux limitations actuelles du système Android et de sécurité.
Cette exigence est due à la politique d'exécution de l'espace utilisateur Android et à l'accès matériel limité : aucune accélération matérielle graphique n'est disponible - les graphiques du conteneur sont émulés et exécutés à l'aide de LLVM.
Dextop ne charge les applications que si nécessaire : cela permet de conserver un encombrement minimal et un fonctionnement aussi fluide que possible du périphérique hôte !
La musique, la messagerie, la navigation sur le Web et les jeux doivent de préférence être pris en charge à l'aide d'applications Android natives, car elles s'interfacent avec le matériel de l'appareil et fournissent une accélération et d'autres fonctionnalités souhaitables. Voir les compléments.
Dextop configure les supports de stockage internes (et externes, le cas échéant) pour un accès flexible à l'ensemble du système.
La détection du stockage se fait via /proc/mounts en analysant les entrées du répertoire /storage. Ces entrées, lorsqu'elles sont présentes, sont filtrées par rapport à une expression régulière pour identifier des supports de stockage externes supplémentaires tels que des cartes SD, des disques éternels ou des modèles de montage UUID spécifiques tels que ceux fournis par les systèmes basés sur Chrome OS (c'est-à-dire : FydeOS).
L'utilitaire chargé de monter et de lier ces entrées pour votre commodité recherchera d'abord un fichier .storage
à la racine de chacun de ces chemins montés : il est fortement recommandé, avant de démarrer l'installation, de créer ces fichiers et d'ajouter tout ce qui est raisonnable. ou une étiquette reconnaissable destinée à ces supports.
Exemple:
/storage/self/primary est l'emplacement par défaut de la mémoire utilisateur interne d'Android (également connu sous le nom d'emplacement « données utilisateur » et/ou « domicile de l'utilisateur »). L'ajout de "interne" à un fichier .storage pour ce répertoire via echo internal > /storage/self/primary/.storage
entraînera alors des montages accessibles liés sous ${PREFIX}/media
comme internal -> /storage/self/primary
S'il n'est pas présent, l'utilitaire établira simplement par défaut une liaison et rendra ces montages accessibles sous ${PREFIX}/media
via leurs étiquettes respectives ou UUID par défaut.
Note:
Les utilisateurs du système Chrome OS absed exécutant des conteneurs Android (ARC) voudront ajouter un fichier ```.storage```` contenant « Accueil » dans leur répertoire « Mes fichiers ». Cela garantira que l'argument de lien « termux-storage » localise, remplit et relie correctement tous les répertoires standard via les différentes instances de conteneur présentes sur l'appareil.
En effet, l'emplacement de base ${HOME}
est désormais partagé entre tous les conteneurs en tant que répertoire unique et unifié.
Dextop utilise l'application de serveur d'affichage native « termux-x11 » aux côtés du package d'application Android Termux:X11 et transmet l'affichage en utilisant la résolution native et les paramètres DPI de l'appareil à l'aide de la plate-forme graphique matérielle (GPU) de l'appareil.
L'expérience est extrêmement similaire à la configuration d'une machine virtuelle (VM) sur un ordinateur portable ou de bureau classique et à y accéder via une visionneuse.
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ Device /////////////////////////////////////////////////////////////////////////////////// │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ ┌────────────────┐ │
│ │ ◄──┤ │ │
│ │ Firmware │ │ Hardware │ │
│ │ ├──► │ │
│ └──────────────────────────────────────────────────────────────▲─┬──┘ │ ┌──────────┐ │ │
│ │ │ │ │ Sound │ │ │
│ ┌──────────────────────────────────────────────────────────────┴─▼──┐ │ └──────────┘ │ │
│ │ │ │ │ │
│ │ Base System │ │ ┌──────────┐ │ │
│ │ │ │ │ Power │ │ │
│ │ ┌────────────────────────────────▲────────────────────────────┐ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │
│ │ │ Android System │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ . . . │ │ │
│ │ │ ┌───────────────────────────┬─│─────────────────────────┐ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ Termux Application │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ Cameras │ │ │
│ │ │ │ ┌────────────────────────▼─┴─┐ ┌─────────────────┐ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ Termux System ◄──┤ Activity │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ Manager │ │ │ │ │ │ Display │ │ │
│ │ │ │ │ ┌─────────────────▲────┐ ├──► │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ Home Directory │ │ │ └─────────────▲─┬─┘ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ APU │ │ │
│ │ │ │ │ │ ┌──────────────┴─┐ │ │ ┌─────────────┼─┼────┘ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ Dextop │ │ │ │ ┌──────────┴─▼────┐ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ RAM │ │ │
│ │ │ │ │ │ └──▲─────────┬─┬─┘ │ │ │ │ Termux │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ X11 │ │ │ │ │ │
│ │ │ │ │ │ ┌──┴─────────┼─▼─┐ │ │ │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ROM │ │ │
│ │ │ │ │ │ │ Frobulator │ │ │ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ └──────────▲─┬────┘ │ │ │ │ │
│ │ │ │ │ │ └────────────┼───┘ │ │ │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ ┌──────────┴─▼────┐ │ │ │ │ Storage │ │ │
│ │ │ │ │ └──▲────────────┼──────┘ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ Termux │ │ │ │ │ │
│ │ │ │ │ ┌──┴────────────▼──────┐ │ │ │ API │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Sensors │ │ │
│ │ │ │ │ │ Container System │ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ └──────────────────────┘ │ ◄──┤ ◄──┼──┼──┤ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ Comms │ │ │
│ │ │ │ └────────────────────────────┘ ├──► ├──┼──► │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ └──────────────────────────────────┘ └─────────────────┘ │ ◄──┤ ┌──────────┐ │ │
│ │ │ │ │ │ │ Addons │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ ├──► └──────────┘ │ │
│ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ └────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
Avant de commencer, veuillez noter que l'installation automatisée du package Android nécessite que l'autorisation « Installer des applications inconnues » soit activée pour l'application Termux elle-même et, si elle est déjà installée, pour toutes les autres applications complémentaires Termux :
Pour activer cette autorisation, accédez à Paramètres → Sécurité et confidentialité → Installer des applications inconnues → Termux[:Application] et activez l'interrupteur.
Pour configurer Dextop, installez les packages suivants sur l'appareil Android hôte :
En option, une application de visualisation VNC avec des capacités plein écran ou immersives peut également être installée à côté de Termux:X11, telle que :
Une fois les applications Android installées sur l'appareil, ouvrez Termux et collez ou tapez :
curl -s -L run.dxtp.app > dextop && bash dextop
Soyez attentif !
Les informations utilisateur et les préférences de distribution sont capturées tout au long du processus de configuration pour configurer le profil utilisateur, le répertoire personnel et d'autres paramètres du conteneur.
La majeure partie du processus de configuration est entièrement automatisée et devrait suivre son cours jusqu'à ce que le conteneur soit prêt à être utilisé par l'utilisateur.
Dextop détecte et traite automatiquement tous les montages de supports externes, les ajoute au conteneur de travail et les étiquette de manière adéquate dans le fichier de signets du navigateur de fichiers.
La saisie de l'utilisateur est toujours requise pour accorder les autorisations d'accès au stockage et à l'installation de Termux lorsque cela est nécessaire et cela ne peut être fait que via l'interaction de l'utilisateur.
Il n'y a aucune solution de contournement !
Stockage:
Appuyez sur « Autoriser » lorsque vous êtes invité lors de la configuration à accorder l'autorisation de stockage.
Ajouts :
Appuyez sur « Installer » lorsque vous êtes invité lors de l'installation à installer les composants du serveur d'affichage.
L'utilitaire « termux-additions » fait partie du déploiement le plus récent et configure les packages Android requis pour s'interfacer avec l'application Termux principale, notamment l'API Termux, l'interface graphique Termux et Termux:X11.
Ces ajouts sont récupérés directement à partir de la page des versions GitHub de leur projet Termux respectif : toute version précédemment installée doit être supprimée pour ne pas hériter de signatures de paquet en conflit qui pourraient contribuer à des problèmes inattendus.
Le serveur d'affichage, Termux:X11, s'interfacera avec le package 'termux-x11' requis et fournira à Dextop une solution d'affichage native sur le périphérique hôte, en utilisant les paramètres DPI disponibles et en l'exécutant via la plate-forme matérielle (avec possibilité d'accélération lorsqu'il est compilé et activé).
Pour démarrer une session et accéder au conteneur nouvellement généré, collez ou tapez :
container-session -o | -u | -a
Pour accéder à l'environnement de bureau installé directement sous Termux (reconnaissable à l'invite verte du nom d'utilisateur), collez ou tapez :
container-session -o
Pour accéder à la distribution de logements en conteneurs sélectionnée (reconnaissable grâce à l'invite du nom d'utilisateur fuschia), collez ou tapez :
container-session -o -u termux
Pour démarrer la session à l'aide du serveur d'affichage vnc (x11vnc) et redémarrer la sortie d'affichage, collez ou tapez :
container-session -o vnc
Si vous utilisez le serveur d'affichage natif X11 (termux-x11), collez ou tapez :
container-session -o x11
L'utilisateur « termux » est le nom d'utilisateur par défaut utilisé lors de la configuration automatique du conteneur. Il est utilisé pour identifier un utilisateur par défaut sous l'image de distribution qui a été sélectionnée et peut être modifié après l'installation. D'autres utilisateurs peuvent être ajoutés à l'aide de l'utilitaire « conteneur-utilisateur ».
Lors du premier accès au conteneur, une configuration unique s'exécute lors de la connexion pour configurer la disposition du clavier, les paramètres régionaux et les préférences de fuseau horaire.
Si vous utilisez le serveur d'affichage vnc (x11vnc), le gestionnaire de session vnc demande à l'utilisateur de sélectionner une résolution d'affichage préférée pour la meilleure expérience d'affichage : la sélection est enregistrée sous "${HOME}"/.vnc/selection
et la routine de connexion utilise pour démarrer automatiquement le serveur et la visionneuse VNC pour votre commodité !
La prochaine connexion lancera automatiquement la session en utilisant la sélection précédemment choisie. Pour remplacer la sélection, collez ou tapez :
container-session -n vnc
Pour arrêter la session active à l'aide du serveur d'affichage vnc en arrêtant le serveur d'affichage vnc, collez ou tapez :
container-session -x
Pour vous déconnecter, appuyez sur Ctrl+D ou tapez 'logout'
ou 'exit'
pour que la session arrête immédiatement le serveur vnc et quitte :
En fonction du niveau de shell utilisé au moment de l'exécution de la commande, le conteneur revient au shell Termux (reconnaissable à l'invite verte du nom d'utilisateur) ou à l'écran d'accueil d'Android.
Au fur et à mesure de l'évolution du projet, certains utilitaires peuvent changer, légèrement ou significativement, et de nouveaux utilitaires peuvent être introduits dans l'écosystème Dextop.
Pour vous assurer que Dextop fonctionne comme prévu et avec les dernières fonctionnalités, procédez comme suit en fonction de la configuration existante :
Pour les nouvelles installations, exécutez la routine de configuration normale et suivez les instructions à mesure qu'elles apparaissent (reportez-vous à la section de configuration).
Pour les installations existantes, les mises à jour manuelles peuvent être exécutées en téléchargeant et en exécutant la routine de mise à jour à partir du dernier script de déploiement Dextop.
Tout d’abord, obtenez la dernière version du script de déploiement Dextop. Pour cela, collez ou tapez :
curl -s -L run.dxtp.app > "${HOME}"/.local/bin/dextop
Cette étape écrase et met à jour le script avec toutes les dernières fonctionnalités requises pour les étapes suivantes.
Pour ensuite mettre à jour les utilitaires nécessaires ou utilisés par Dextop, collez ou tapez :
curl -s -L run.dxtp.app > dextop && bash dextop -u utility all
Pour mettre à jour un utilitaire spécifique, collez ou tapez :
curl -s -L run.dxtp.app > dextop && bash dextop -u utility [Utility Name]
Si, pour une raison quelconque, l'utilisateur n'est pas sûr du nom de l'utilitaire à appeler comme argument, la routine de mise à jour affiche automatiquement tous les noms d'utilitaires disponibles en cas d'échec.
Pour mettre à jour tous les scripts de session shell et d'expérience, collez ou tapez :
curl -s -L run.dxtp.app > dextop && bash dextop -u shell
Pour simplifier le processus global de mise à jour de version, l'utilisateur peut également décider de mettre à jour le script de déploiement principal et tous les utilitaires dépendants. Pour cela, collez ou tapez :
curl -s -L run.dxtp.app > > "${HOME}"/.local/bin/dextop && bash dextop -u all
Si la configuration initiale réussit mais que l'utilisateur ne parvient pas à lancer une session, ou qu'un package aléatoire semble manquer lors de la saisie d'une commande, des problèmes irréguliers de gestion des packages Termux en sont la cause : les informations du référentiel semblent inégales et pkg/apt ne parvient pas à récupérer ou à extraire. le package demandé au moment de l’installation.
Pour réinitialiser les points de contrôle de configuration de Dextop, sans avoir à effacer la session ou l'instance Termux, collez ou tapez :
rm -rf "${HOME}/.dextop
Pour remédier aux packages potentiellement manquants et aux échecs d'initialisation aléatoires, collez ou tapez :
curl -s -L run.dxtp.app > dextop && bash dextop
Une connectivité Internet à latence élevée ou des problèmes d'accès au contenu du serveur (GitHub) peuvent entraîner un dysfonctionnement ou une corruption de certains fichiers.
Si, pour une raison quelconque, une mise à jour échoue en raison d'une erreur due à une corruption du script de déploiement, collez ou tapez :
curl -s -L run.dxtp.app > "${HOME}"/.local/bin/dextop && bash dextop -u utility all
Une fois la dernière version de Dextop déployée, il est possible de la configurer pour récupérer tous les utilitaires les plus récents et pertinents lorsque les mises à jour automatiques lors de la connexion sont activées.
Les mises à jour automatiques des utilitaires lors de la connexion peuvent être activées comme suit :
echo update > "${HOME}"/.dextop/dextop-update
Les mises à jour automatiques des utilitaires lors de la connexion peuvent être désactivées comme suit :
echo '' > "${HOME}"/.dextop/dextop-update
Dans le but de maintenir la charge du système mince et légère, la configuration d'applications par défaut via l'utilisation de « dextop-additions » est fortement recommandée, et ce faisant, « dextop-additions » transfère les demandes de type MIME pour des applications spécifiques via l'utilisation du Activity Manager et ouvre l'application Android appropriée que vous pouvez utiliser.
'dextop-additions' gère les activités :
dextop-additions -a
ou prend en charge les handles de type MIME :
dextop-additions -n
La lecture audio est configurée et prise en charge via « pulseaudio », bien que son utilisation ne soit pas recommandée car elle peut nécessiter beaucoup de processus et de cycles sur la batterie et le(s) processeur(s) de l'appareil.
La latence audio lors de la lecture et d'autres paramètres associés peuvent varier en fonction des spécifications matérielles du périphérique hôte et selon qu'il s'exécute directement sous le shell Termux ou à partir d'un conteneur de distribution.
La lecture audio lors de la connexion peut être activée comme suit :
echo audio > "${HOME}"/.dextop/dextop-audio
La lecture audio peut être désactivée comme suit :
echo '' > "${HOME}"/.dextop/dextop-audio
L'arrêt automatique de la session et de l'affichage à la sortie du terminal peut être activé comme suit :
echo logout >> "${HOME}"/.dextop/dextop-logout
L'arrêt automatique de la session et de l'affichage à la sortie du terminal peut être désactivé comme suit :
echo '' > "${HOME}"/.dextop/dextop-logout
Fobulator pour rationaliser les scripts et faire du code redondant une chose du passé.
Termux en tant qu'application de fournisseur de shell Android pour créer une interface Dextop avec le périphérique hôte.
Termux:X11 en tant que fournisseur de serveur d'affichage natif Android.
GNU/Bash comme environnement shell sur lequel fonctionnent les scripts.
Soumettre un rapport de bug ou une demande de fonctionnalité
Note:
Toutes les boîtes de dialogue de configuration, invites, commandes et sorties d'exécution binaire ont été configurées pour rediriger vers le répertoire '${PREFIX}/var/log'
afin de réduire au minimum les messages de sortie. Si vous soupçonnez des problèmes ou des erreurs, veuillez fournir une copie de ces fichiers lors de la soumission d'un rapport de bogue.
[ Dextop // Page Projet ] [ Version // 19-08-2024 ]