Terminal

Le terminal de Mobile SSH est conçu pour une utilisation sur téléphone et tablette. Il combine une zone de terminal, une rangée de touches supplémentaires, des volets multi-sessions, la gestion du défilement et un comportement de reconnexion.

Bases du terminal

Grille multi-sessions

Mobile SSH peut exécuter jusqu’à huit sessions SSH simultanément. Chaque session apparaît comme un volet dans la grille de terminaux. Touchez un volet pour le sélectionner, ou utilisez + Add Session pour démarrer une autre connexion.

L’en-tête du volet indique où vous êtes. Sur Android, il affiche le répertoire de travail réel du volet, demandé à tmux ou signalé par le shell via OSC 7 et rafraîchi tant que l’app est ouverte ; sur iOS, il affiche le titre défini par la machine distante, à défaut user@host:port.

Fermer un volet déconnecte sa session SSH. Revenir à l’accueil conserve les connexions dans Sessions actives. L’en-tête indique les connexions bloquées ; les réglages proposent les débits et une atténuation ou vibration facultative lorsque la liaison ne répond plus.

Eternal Terminal (ET)

Les deux plateformes proposent ces transports dans Transport lors de l’ajout ou de la modification d’un serveur :

ET garde la session vivante sur le serveur : quand votre téléphone change de réseau ou sort de veille, Mobile SSH se rattache au même shell en cours d’exécution au lieu d’en ouvrir un nouveau. C’est donc un bon choix pour les données mobiles, les bascules Wi-Fi/réseau cellulaire et les commandes de longue durée.

ET nécessite etserver sur le serveur. S’il manque, Mobile SSH peut proposer son installation et son démarrage par SSH. Vérifiez et approuvez les commandes, puis connectez-vous avec Eternal Terminal. Les chemins passant par des bastions nécessitent SSH.

Rangée de touches supplémentaires

Les deux plateformes mettent à portée une rangée de treize touches de terminal — celles qui sont peu pratiques ou absentes sur un clavier tactile. Sur Android, c’est une bande en bas de la session (qui se masque quand un clavier matériel est branché) ; sur iOS, elle se place au-dessus du clavier logiciel.

Les deux jeux par défaut ont la même taille, mais ne sont pas identiques :

AndroidiOS
Par défautESC TAB CTRL flèches HOME PGUP END PGDN ⌫ ⌨ESC TAB CTRL ⇧ flèches HOME END PGUP PGDN ⌨
Différencea un retour arrière, pas de Shifta un Shift persistant, pas de retour arrière

La rangée ne défile jamais. Quand les touches cessent de tenir dans la largeur, elles se partagent l’espace équitablement et passent à une deuxième ligne ; ce qui dépasse encore est replié dans un menu de débordement ⋯. Rien n’est caché derrière un balayage ni rogné au bord de l’écran, et un modificateur armé s’applique toujours à une touche choisie dans le menu de débordement.

CTRL agit comme un modificateur persistant : touchez CTRL, puis tapez C pour envoyer Ctrl-C. Shift est plus persistant sur iOS que sur Android — sur iOS, il met aussi en majuscule le prochain caractère tapé sur le clavier logiciel, alors que sur Android il ne s’applique qu’aux touches de la barre elle-même (Shift+Tab, Shift+flèches).

Maintenez une touche comme une flèche ou PGDN et elle se répète.

Comportement du clavier

Sur Android, la saisie ordinaire est transmise directement au shell distant, avec correction automatique et suggestions désactivées par défaut. La dictée vocale peut néanmoins envoyer du texte depuis le clavier.

Sur iOS, Réglages → Terminal → Dictée et suggestions est activé par défaut : dictée, prédictions et corrections sont disponibles pendant la rédaction d’une ligne. Pour transmettre les touches directement, désactivez-le, laissez Suggestions du clavier désactivé et ouvrez un nouveau volet.

Afficher le clavier au toucher détermine si un toucher ouvre le clavier logiciel. Désactivé par défaut sur Android, activé sur iOS ; le bouton clavier reste disponible dans la barre.

Claviers matériels

Les claviers externes et Bluetooth pilotent le terminal directement sur Android comme sur iOS. Au-delà des caractères ordinaires, Mobile SSH gère les touches fléchées, Home/End, PgUp/PgDn, Insert, Delete, Esc, les touches de fonction F1–F12, les combinaisons Ctrl+touche et Alt/Option comme Meta, ainsi que Shift+Tab. Les touches de modification se combinent avec les modificateurs persistants de la rangée de touches supplémentaires.

Coller

Le collage dans un programme qui le demande (bash, Vim et d’autres applications compatibles bracketed paste) est encadré par des marqueurs de bracketed paste, de sorte que le contenu multi-lignes du presse-papiers est inséré comme texte au lieu d’être exécuté automatiquement ligne par ligne. Seuls les vrais collages sont encadrés ; le texte saisi ou dicté n’est pas modifié.

Sélectionner, copier, partager

Appuyez longuement sur un mot, puis ajustez la sélection avec ses poignées. La barre comprend :

Rechercher dans le terminal

Recherchez dans tout le tampon du terminal — le scrollback et l’écran visible — et sautez d’une occurrence à l’autre. Ouvrez la recherche depuis les contrôles du terminal, tapez une requête et parcourez les correspondances. Cela fonctionne à la fois sur Android et iOS.

Couleur, italiques et presse-papiers distant

Intégration shell et images en ligne

Apparence et touches

Sur Android et iOS, Settings vous permet d’adapter le terminal :

La réinitialisation restaure les valeurs par défaut livrées plutôt que de figer la liste d’aujourd’hui : les améliorations d’une version ultérieure vous parviennent donc quand même. Les modifications s’appliquent en direct aux volets déjà ouverts.

Défilement

Mobile SSH oriente les gestes de défilement selon l’état du terminal :

Sur les deux plateformes, toucher un programme suivant la souris envoie normalement un clic gauche. Sur iOS, Le toucher place le curseur échange ce geste avec le déplacement du curseur ; Maj-toucher effectue l’autre action. Le glisser après appui prolongé est désactivé par défaut, donc un balayage ordinaire fait défiler.

Si vous tapez pendant que vous avez fait défiler vers l’arrière, Mobile SSH revient à la vue en direct du terminal.

Comportement de tmux

Mobile SSH observe les commandes tmux sortantes d’attache et de nouvelle session, telles que :

tmux attach -t work
tmux a -t work
tmux new -A -s work

Après une coupure, l’app mémorise la session tmux et son socket pour retrouver la même cible. Chaque volet du même hôte conserve son propre rattachement. Si la session n’existe plus, le shell reste disponible.

Sur iOS, changer de socket consulte le préfixe tmux actuel sans supposer Ctrl+B. Un préfixe incompatible ou une recherche échouée arrête l’opération avec un message. Saisir, fermer le volet ou déconnecter annule les étapes de rattachement en attente ; aucun ordre de rattachement n’est envoyé à un programme plein écran non identifié.

Gestionnaire tmux

Le gestionnaire tmux permet de le parcourir et de le contrôler sans accords de préfixe. Ouvrez-le depuis la commande de multiplexeur d’une session connectée ; un appui prolongé permet de choisir tmux si plusieurs sont disponibles. Il comporte trois sections :

Depuis le gestionnaire, vous pouvez :

Un 🔔 marque toute session dont l’agent attend une entrée : vous repérez ainsi d’un coup d’œil une exécution de Claude Code ou de Codex en pause et vous vous y attachez. Cela complète les indications de rattachement ci-dessus : la logique de rattachement restaure automatiquement votre dernière session à la reconnexion, tandis que le gestionnaire vous donne un contrôle manuel complet.

Les deux plateformes gèrent plusieurs serveurs tmux (sockets) sur un hôte. Les indicateurs de rattachement concernent votre terminal, pas un autre client du serveur.

Herdr et Zellij

Android et iOS gèrent aussi Herdr et Zellij. Une commande de la barre ouvre le multiplexeur principal détecté ; maintenez-la pour en choisir un autre. Seuls les programmes trouvés sur ce serveur sont proposés. Dans le gestionnaire, le titre change de serveur et le sélecteur de multiplexeur change de gestionnaire.

Si herdr ou Zellij est installé mais absent du PATH du shell de connexion, la page propose de l’ajouter.

Chaque serveur propose Rattacher à la connexion : Auto (détecter), Rien, tmux, herdr ou Zellij. Auto utilise la détection et l’historique disponibles : multiplexeur déjà utilisé, puis sessions actives, puis programme installé. Sans détection en cache, un shell simple s’ouvre. Une détection ultérieure ne concerne que les futures connexions et ne perturbe pas votre saisie.

Agent alerts

Mobile SSH vous prévient quand un agent de codage IA distant — Claude Code, Codex, Gemini — est bloqué et vous attend. Il ne le devine pas en lisant la sortie de votre terminal. Il existe deux chemins, qui fonctionnent à des niveaux de détail différents.

La cloche

Les sonneries du terminal peuvent alerter qu’un agent vous attend. Celles qui suivent immédiatement une saisie sont ignorées par défaut. Les notifications distantes OSC 9/OSC 777 et de fin de commande OSC 133 ont des réglages distincts, tous deux désactivés initialement sur iOS.

Cela ne demande aucune configuration, mais l’application sait seulement que quelque chose a sonné.

Le hook d’agent

Pour que l’application sache quel agent attend et *ce qu’*il fait, installez le hook d’agent sur le serveur :

Cela écrit un petit script shell dans ~/.mobile-ssh/agent-hook.sh sur ce serveur. Il est indépendant de l’agent — il prend des arguments en ligne de commande plutôt que d’analyser le format d’un fournisseur en particulier — donc tout ce qui peut exécuter une commande peut s’y signaler. Supprimer le fichier suffit à le désinstaller proprement.

Une fois qu’un agent se signale via le hook :

Répondre sans taper

Quand un agent pose une question à choix fixes, l’application affiche un bouton par option — jusqu’à six — dans la liste Agents. Sur Android, vous pouvez aussi toucher la pastille d’agent dans l’en-tête d’un volet.

Votre réponse n’est pas saisie dans la session. Elle est écrite dans un fichier via un canal séparé et récupérée par le hook : répondre ne peut donc pas corrompre ce qui est à l’écran. L’application refuse d’envoyer une option que l’invite ne proposait pas réellement, et vous dit clairement si la connexion est tombée entre-temps au lieu d’échouer en silence.

Réglages

Les alertes d’agents sont activées par défaut sur les deux plateformes, avec interrupteurs pour notification, son, vibration et volet actif. Sur iOS, celles du volet actif sont activées par défaut et une option limite la réception à l’arrière-plan. Elles ne fonctionnent que lorsque iOS autorise l’app à s’exécuter ; une suspension prolongée interrompt les alertes SSH en direct.

Un réglage par défaut mérite d’être connu : le son est limité aux écouteurs. Sans rien de branché ni d’appairé, une alerte notifie et vibre mais ne joue aucun son. Désactivez ce réglage si vous voulez entendre l’alerte sur le haut-parleur du téléphone.

Il n’y a pas de réglage de sensibilité ni de sélecteur de son — les contrôles sont de simples activer/désactiver.

Programmes de terminal en plein écran

Pour les programmes tels que Vim, less, htop, les outils ncurses et les volets tmux :

Bureaux distants

Les deux plateformes ouvrent un bureau distant par VNC transporté dans SSH. Réutilisez un écran partagé, y compris le partage d’écran macOS, ou approuvez la configuration d’un bureau Linux compatible. Le serveur doit fournir le bureau ; un accès SSH ne crée pas à lui seul de session graphique. La duplication Linux nécessite X11 plutôt que Wayland ; macOS utilise son écran partagé existant sans créer de bureau privé.

Utilisez le toucher pour cliquer, déplacer et zoomer, et le clavier logiciel ou matériel pour saisir. Le presse-papiers permet de coller le texte du téléphone dans le bureau et de copier du texte du bureau vers le téléphone.

Taille d’écran propose des dimensions prédéfinies ou personnalisées, mémorisées par serveur. Sur iOS, chaque dimension doit être comprise entre 320 et 5120 pixels. Le redimensionnement à chaud conserve les applications si le serveur le permet. Un redémarrage nécessite confirmation et n’est proposé que pour un bureau privé créé par l’app. Les bureaux réutilisés et consoles partagées ne sont pas redémarrés pour les redimensionner ; sur Mac, utilisez les réglages Moniteurs si nécessaire.