Masalah mendasarnya adalah pemetaan yang dilakukan screenantara terminal aktual (diidentifikasi oleh TERMvariabel lingkungan di luar screen) dan emulasi di dalamnya screentidak lengkap.
Jika Anda mengujinya (menggunakan vttest atau tack ), Anda mungkin melihat adanya kekurangan
Mencoba untuk memperbaiki masalah ini dengan menetapkan termdalam .screenrcmemiliki 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 $TERMvariabel 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, vt100digunakan 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 termpengaturan 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=xtermdisalahgunakan 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.xtermlebih 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 termdi .screenrc: Anda memecahkan lebih banyak masalah daripada yang diciptakannya. Kebalikannya berlaku pada termpengaturan.
term xtermke~/.screenrcfile saya memperbaikinya untuk saya. Terima kasih lagi!