Ho accesso ssh a una macchina remota. In questa macchina se corro echo $TERM
ottengo xterm
.
Se voglio cambiare il mio emulatore di terminale con un altro emulatore (supponendo che sia installato sul computer remoto), come lo farei?
Ho accesso ssh a una macchina remota. In questa macchina se corro echo $TERM
ottengo xterm
.
Se voglio cambiare il mio emulatore di terminale con un altro emulatore (supponendo che sia installato sul computer remoto), come lo farei?
Risposte:
Il valore della variabile d'ambiente TERM viene utilizzato dal server (nel sistema V, o BSD, sistemi operativi derivati) per controllare il modo in cui l'input viene riconosciuto dal sistema e quali funzionalità esistono per l'output. Alcuni tipi di terminali sono abbastanza simili da poter essere scambiati rimanendo comunque utili, mentre altri potrebbero rendere il sistema inutilizzabile fino a quando non si apre una nuova connessione con un valore supportato per TERM. Ad esempio, da un sistema Linux a un altro, probabilmente si verificheranno poche differenze tra le impostazioni di vt100, vt220 e xterm. La maggior parte delle differenze risiederebbe nella modalità di visualizzazione dell'output e nella disponibilità di colori o caratteri in grassetto per quel tipo di terminale. Il database termcap elenca tutti i tipi di terminali, con le loro varie capacità.
Fintanto che non si passa a un tipo di terminale con cui tastiera e schermo non sono compatibili, andrà tutto bene.
leggi la pagina man per term, e termcap, sul tuo sistema per maggiori informazioni.
Per modificare il tipo di terminale:
in bash:
export TERM=vt100
in bourne shell o ksh:
TERM=vt100
export TERM
in csh o tcsh:
setenv TERM vt100
vt100
è un terminale abbastanza sicuro con cui iniziare a giocare. è compatibile con xterm, ma non mostra colori o caratteri in grassetto e potrebbe non riconoscere i tuoi tasti F *, ma è improbabile che rovini davvero nulla usando vt100.
Molte persone utilizzano il rilevamento dei terminali negli script di inizializzazione personale per ottimizzare la propria esperienza utente in base al modo in cui accedono al server. Ad esempio, imposta una semplice PS1 se stai usando vt100, usa il colore e le variabili dinamiche quando usi bash in un xterm.
Buona fortuna con la tua ricerca.
Stai fraintendendo.
La tua console o terminale o istanza PuTTY sul lato LOCALE è il vero "emulatore di terminale", anche se al giorno d'oggi accorciamo i "terminali". L'utilizzo deriva da quando le persone utilizzavano effettivamente i terminali monitor e tastiera per accedere a un server mainframe anziché utilizzare più console e ambienti utente grafici.
La variabile $ TERM dice semplicemente al sistema remoto che tipo di codici di controllo il tuo terminale capirà quando li invia (per esempio, per generare menu testuali o qualsiasi cosa basata su libncurses).
Non sono sicuro di cosa esattamente vuoi ottenere, ma cambiare $ TERM probabilmente non ti aiuterà.
Ubuntu 11.10
sulla mia macchina locale e Red Hat Enterprise Linux Server release 5.4 (Tikanga)
sulla macchina remota)
$TERM
variabile. Inoltre, non sto ponendo questa domanda al solo scopo di trovare una soluzione a un diverso problema / domanda. Semmai, l'altra mia domanda ha motivato questa domanda. Infine, non penso che ci sia qualcosa di sbagliato nella speranza di saperne di più su come funzionano gli emulatori terminali ponendo questa domanda.
TERM
variabile; è per lo più necessario quando si accede a un sistema precedente che non conosce il nome di un nuovo terminale (e non ci sono stati molti nuovi tipi di terminali negli ultimi 15 anni circa, la maggior parte degli emulatori di terminali si definisce comexterm
).TERM
è ciò con cui i programmi di tipo terminale credono di parlare, non cambia ciò che è effettivamente il terminale.