Masalah mendasarnya adalah pemetaan yang dilakukan screen
antara terminal aktual (diidentifikasi oleh TERM
variabel lingkungan di luar screen
) dan emulasi di dalamnya screen
tidak lengkap.
Jika Anda mengujinya (menggunakan vttest atau tack ), Anda mungkin melihat adanya kekurangan
Mencoba untuk memperbaiki masalah ini dengan menetapkan term
dalam .screenrc
memiliki kelemahan bahwa ia bekerja hanya untuk diberikan aktual-terminal, dan tidak portabel untuk implementasi terminal lainnya. The dokumentasi catatan
Penggunaan istilah perintah tidak disarankan untuk tujuan non-standar.
Ada solusi lain (dengan kelemahan berbeda), menggunakan fitur ini dari screen
dokumentasi :
Ketika layar mencoba mencari nama terminal untuk dirinya sendiri, pertama-tama layar mencari entri yang bernama layar. istilah , di mana istilah adalah isi dari $TERM
variabel Anda . Jika tidak ada entri seperti itu, layar mencoba screen
(atau screen-w
, jika terminal lebar (132 cols atau lebih)). Jika bahkan entri ini tidak dapat ditemukan, vt100
digunakan sebagai pengganti.
ncurses menyediakan beberapa deskripsi terminal alternatif yang berguna untuk kasus ini, misalnya screen.xterm-new , untuk memperbaiki masalah dalam pemetaan layar. Dalam praktiknya, saya menggunakan TERM=xterm-new
, dan saat menjalankan layar, dapatkan pemetaan tombol fungsi yang dapat digunakan.
Merujuk kembali ke term
pengaturan layar , dalam pengujian Anda mungkin memperhatikan bahwa masih ada masalah dengan pemetaan, yang dibahas dalam alternatif ini. Jika mungkin untuk mendapatkan deskripsi terminal yang akurat menggunakan term
, alternatif ini akan menjadi alias sederhana screen
. Mereka tidak.
ncurses tidak menyediakan screen.xterm
(sic) karena:
TERM=xterm
disalahgunakan secara luas untuk emulator terminal yang berbeda dari xterm; menambahkan pemetaan ini hanya akan memperburuk situasi itu (lihat misalnya Mengapa tidak hanya menggunakan JANGKA diatur ke "xterm"? di FAQ ncurses)
- nama alternatif
screen.xterm
lebih kecil kemungkinannya untuk diinstal pada sistem jarak jauh (lihat mengubah komentar dari Juni 2015 di basis data terminal).
Namun, secara keseluruhan, menggunakan nama alternatif adalah peningkatan daripada penggunaan term
di .screenrc
: Anda memecahkan lebih banyak masalah daripada yang diciptakannya. Kebalikannya berlaku pada term
pengaturan.
term xterm
ke~/.screenrc
file saya memperbaikinya untuk saya. Terima kasih lagi!