Sessioni remote condivise
Collegati allo stesso terminale tramite SSH o Tailscale e conserva i processi dopo la disconnessione.
zshell-server mantiene shell e processi su un host macOS o Linux. Entrambi i motori di terminale di Zshell possono collegarsi. Chiudere il client o perdere la rete non termina i processi. La riconnessione ripristina schermo, cronologia, cursore e modalità del terminale.
Installazione
In Host remoti…, scegli Installa / Aggiorna server via SSH. Un Mac con la stessa architettura usa l’eseguibile incluso. Per Linux, scegli il zshell-server compilato per piattaforma e architettura. Trasferimento e compatibilità sono verificati prima della sostituzione. Il daemon attivo mantiene la versione fino al riavvio, che termina i suoi lavori. Puoi anche compilare sull’host:
cargo build --locked --release --manifest-path remote/Cargo.toml
install -d "$HOME/.local/bin"
install -m 755 remote/target/release/zshell-server "$HOME/.local/bin/zshell-server"Il client può operare sulla shell e sui file dell’account del server. Sono supportati macOS e Linux.
SSH
Verifica prima la chiave host e l’autenticazione con chiave o agent:
ssh devbox trueApri gli host remoti dal menu di rete nella barra laterale. Inserisci nome, ssh://me@devbox:22 o alias SSH e ~/.local/bin/zshell-server. La connessione carica progetti e sessioni esistenti. Per creare una shell, indica una directory come ~/repo e apri il progetto remoto. Sono supportati percorsi con spazi; anche nuove schede e divisioni sono remote.
SSH avvia automaticamente il daemon e usa configurazione OpenSSH, chiavi, agent e chiavi host attendibili. Chiavi sconosciute ed errori di autenticazione vengono segnalati. File e Git usano SSH verso lo stesso host anche se il terminale usa Tailscale. I percorsi remoti non accedono ai file del Mac. ZSHELL_SSH_CONFIG_FILE può selezionare un altro file OpenSSH leggibile tramite percorso assoluto.
Tailscale
Accedi a Tailscale sui due dispositivi e avvia l’ascolto privato prima di creare sessioni:
zshell-server serve --listen tailscale://:7373Aggiungi tailscale://devbox:7373. Sono supportati MagicDNS e indirizzi Tailscale IPv4/IPv6, mentre quelli pubblici sono rifiutati. Per impostazione predefinita sono ammessi solo dispositivi senza tag del proprietario dell’host. --allow-user autorizza un altro nome di accesso esatto; i client con tag restano esclusi. Sul server stesso usa SSH. Si applicano anche le ACL del tailnet. I client autorizzati possono operare con l’account Unix del servizio.
Per condividere questo Mac, accedi a Tailscale e scegli Condividi questo Mac in Host remoti…. Imposta porta e nomi di accesso esatti autorizzati. La condivisione parte su richiesta; Interrompi condivisione o uscire da Zshell termina le sessioni condivise.
Condivisione e chiusura
Tutti ricevono lo stesso output. Mettere a fuoco il terminale o assumerne il controllo concede input e dimensioni a quel client. Se si disconnette, subentra il client rimasto collegato da più tempo. Informazioni mostra stato, numero di client e controllo e consente di separare o riconnettere. Le interruzioni di rete vengono ritentate automaticamente; l’input offline viene scartato. Il layout salvato riconnette lo stesso UUID remoto.
Chiudere pannelli, progetti o finestre e usare una delle due opzioni di uscita separa soltanto il client. Terminare la sessione remota richiede conferma e arresta shell e processi per tutti. Sull’host: zshell-server terminate --project ~/repo --session UUID.
File e schermate
Copia file normali o una schermata e incolla nel pannello remoto. Zshell carica in una cartella privata dell’host e inserisce i percorsi citati per la shell. Massimo 32 file, 32 MiB ciascuno e 64 MiB totali; cartelle e link simbolici sono rifiutati. I caricamenti condivisi durano sette giorni. Anche i pannelli SSH Unix normali lo supportano.
Conversazioni Agent remote
Attività, avanzamento, richieste di approvazione e completamento dell’Agent remoto usano stati e notifiche esistenti. Cronologia conversazioni Agent include Claude Code, Codex, OpenCode e Pi dell’host. Riprendi riconnette una conversazione attiva o avvia la sessione esatta nell’host e directory originali. La cronologia sopravvive al riavvio del daemon; lavori e scorrimento del terminale no. Provider e configurazione o file di sessione originali devono essere disponibili.
Limiti
La persistenza dura finché il daemon è attivo, senza superare riavvii dell’host, arresti o riavvii del daemon. Le sessioni mancanti sono segnalate e mai sostituite automaticamente. Limiti: 128 sessioni, snapshot di 16 MiB e coda attiva di 1 MiB per client. I client lenti non bloccano gli altri; la cronologia resta nella memoria dell’host. Servizi e CLI sono descritti nel riferimento server.