Posso cambiare il tipo di terminale utilizzato per accedere tramite SSH?


8

Quando accedo a un determinato server tramite SSH (al quale non ho accesso come amministratore), viene visualizzato il seguente errore: urxvt-unicode: Unknown terminal type(Inoltre, non desidero modificare il tipo di terminale in modo permanente). È importante perché a seconda del tipo di terminale ottengo colori diversi quando eseguo l'accesso.

È possibile cambiare il tipo di terminale solo quando si accede a SSH?

Risposte:


7

Se si dispone dell'accesso root alla casella remota, installare il pacchetto ncurses-term. Ciò fornirà la rxvt-256colorvoce terminfo.

Come utente non root, puoi anche copiare le voci terminfo rxvt $HOME/.terminfo/r/sul computer remoto ed esportare TERMINFO=$HOME/.terminfo.

ssh <host> 'mkdir -p .terminfo/r'
scp /usr/share/terminfo/r/rxvt-unicode-256color <host>:~/.terminfo/r/

Non ho niente dentro /usr/share/terminfo/.
Ondra Žižka,

4

dopo il login puoi eseguire qualcosa del tipo:

export TERM=vt100

2

Il processo sshd (da sshd (8)) leggerà ...

6.   Reads the file ~/.ssh/environment, if it exists, and users are
allowed to change their environment.  See the PermitUserEnvironment 
option in sshd_config(5).

e

8.   If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists, 
runs it; otherwise runs xauth.  The “rc” files are given the X11 
authentication protocol and cookie in standard input.  See SSHRC, below.

si potrebbe desiderare di modificare ~/.ssh/rcper impostare il valore di TERM, poiché questo file viene letto prima del profilo della shell.


1

Di solito TERMviene passato dall'ambiente locale, invariato, all'ambiente remoto. Se si imposta TERMsul lato locale quando si invoca ssh, ciò farà ciò che è necessario.

Ad esempio, se l'estremità remota ha la descrizione del terminale per rxvt(ma non rxvt-unicode), funzionerebbe abbastanza bene per i tasti funzione, ecc.

Supponendo che bash o qualche shell conforme a POSIX, è possibile farlo

TERM=rxvt ssh Host remoto

Farlo in questo modo influisce solo sul sshcomando, non sull'ambiente locale. Uso questa funzione per gestire macchine tipiche per le quali non è disponibile la descrizione screen.xterm-new. A seconda del computer remoto, potrebbe esserci o meno un pacchetto adatto che può essere installato per l' intero database dei terminali . Alcuni (come Solaris e FreeBSD) richiedono la soluzione alternativa.

Ulteriori letture:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.