Bisakah saya mengubah tipe terminal yang digunakan untuk login melalui SSH?


8

Ketika saya masuk pada beberapa server tertentu melalui SSH (yang saya tidak memiliki akses admin), saya mendapatkan kesalahan berikut: urxvt-unicode: Unknown terminal type(Saya juga tidak ingin mengubah jenis terminal saya secara permanen). Ini penting karena tergantung pada tipe terminal saya mendapatkan warna yang berbeda saat login.

Apakah mungkin untuk mengubah tipe terminal saat masuk melalui SSH?

Jawaban:


7

Jika Anda memiliki akses root ke kotak remote, instal paket ncurses-term. Ini akan memberikan rxvt-256colorentri terminfo.

Sebagai pengguna non-root, Anda juga dapat menyalin entri terminfo rxvt ke $HOME/.terminfo/r/mesin jarak jauh, dan mengekspor TERMINFO=$HOME/.terminfo.

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

Saya tidak punya apa-apa /usr/share/terminfo/.
Ondra Žižka

4

setelah login Anda dapat menjalankan sesuatu seperti:

export TERM=vt100

2

proses sshd (dari sshd (8)) akan membaca ...

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).

dan

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.

Anda mungkin ingin mengedit ~/.ssh/rcuntuk mengatur nilai TERM, karena file ini dibaca sebelum profil shell.


1

Biasanya TERMdilewatkan dari lingkungan lokal Anda, tidak berubah, ke lingkungan yang jauh. Jika Anda mengatur TERMsisi lokal ketika memohon ssh, itu akan melakukan apa yang diperlukan.

Misalnya, jika ujung jarak jauh memiliki deskripsi terminal untuk rxvt(tetapi tidak rxvt-unicode), itu akan bekerja dengan cukup baik untuk tombol fungsi, dll.

Dengan asumsi bash atau shell yang sesuai dengan POSIX, Anda dapat melakukannya dengan

TERM=rxvt ssh remotehost

Melakukannya dengan cara itu hanya memengaruhi sshperintah, bukan lingkungan lokal Anda. Saya menggunakan fitur ini untuk menangani mesin-mesin biasa yang tidak memiliki deskripsi untuk screen.xterm-new. Tergantung pada mesin jarak jauh, mungkin ada atau tidak ada paket yang cocok yang dapat diinstal untuk database terminal lengkap . Beberapa (seperti Solaris dan FreeBSD) memerlukan solusi.

Bacaan lebih lanjut:

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.