Fitur ini sepertinya disebut 'layar alternatif' atau beralih antara layar normal dan layar alternatif.
Anda dapat menjelajahinya menggunakan xterm. Misalnya, ketik man man
an xterm
dan keluar man. Sekarang Anda dapat beralih ke layar alternatif melalui Ctrl+ Mouse2 (klik tengah) -> 'Tampilkan layar alternatif'. Atau Anda dapat langsung memasukkan urutan kontrol xterm , misalnya:
$ echo -e '\033[?47h' # alternate screen
$ echo -e '\033[?47l' # normal screen
Dua perintah terakhir juga bekerja di gnome-terminal (mungkin juga yang lain).
Apa yang terjadi ketika man
/ vi
/ less
dll. Startup pada dasarnya mereka mengirim perintah layar-jelas abstrak. Saat keluar (atau menangguhkan) mereka mengirim perintah layar pengembalian abstrak. Bagaimana perintah diterjemahkan ke urutan kontrol terminal beton didefinisikan dalam database terminfo .
Nonaktifkan pergantian layar alternatif
Apa yang harus bekerja untuk semua terminal adalah menyesuaikan entri terminfo lokal, yaitu menghapus pemetaan perintah layar clear / restore abstrak.
Anda dapat melakukannya seperti ini - untuk $TERM
entri saat ini (untuk gnome-terminal di Fedora 19 misalnya):
$ echo $TERM
xterm-256color
$ infocmp -1 > xterm-256color
$ sed 's/^\(xterm-256color\)|/\1-na|/ ; /smcup\|rmcup/d ' \
xterm-256color > xterm-256color-na
$ diff -u xterm-256color*
--- xterm-256color 2013-08-04 16:33:52.041393461 +0200
+++ xterm-256color-na 2013-08-04 16:36:56.829930520 +0200
@@ -1,5 +1,5 @@
# Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-256color
-xterm-256color|xterm with 256 colors,
+xterm-256color-na|xterm with 256 colors,
am,
bce,
ccc,
@@ -155,7 +155,6 @@
rin=\E[%p1%dT,
rmacs=\E(B,
rmam=\E[?7l,
- rmcup=\E[?1049l,
rmir=\E[4l,
rmkx=\E[?1l\E>,
rmm=\E[?1034l,
@@ -170,7 +169,6 @@
sgr0=\E(B\E[m,
smacs=\E(0,
smam=\E[?7h,
- smcup=\E[?1049h,
smir=\E[4h,
smkx=\E[?1h\E=,
smm=\E[?1034h,
$ tic xterm-256color-na # loads the file to $HOME/.terminfo
$ find ~/.terminfo -type f
$ HOME/.terminfo/x/xterm-256color-na
Sekarang Anda dapat mengujinya melalui:
$ TERM=xterm-256color-na man man # and then hit q
Anda dapat mengulangi langkah-langkah di atas untuk terminal lain jika Anda menggunakan banyak terminal. Jika semuanya berfungsi seperti yang diharapkan, Anda dapat mengatur TERM
melalui file-shell shell Anda.
Anda juga dapat secara langsung menentukan nama terminal sebagai parameter untuk infocmp
, misalnya:
$ infocmp -1 screen > screen
Aktifkan pergantian layar alternatif
Beberapa terminal mendukung fitur penggantian layar alternatif (mis. Layar ), tetapi nonaktifkan pada pengaturan standar .
Untuk screen
Anda dapat mengaktifkannya melalui ~/.screenrc
:
$ cat ~/.screenrc
altscreen
Jika Anda melakukan login jarak jauh melalui ssh ke - katakan - sistem Solaris mungkin basis-basis-data sistem-konfigurasi yang dikonfigurasikan dari jarak jauh adalah jenis yang bersejarah, rusak atau menyertakan beberapa standar khusus / tidak-spesifik Solaris yang tidak cocok dengan terminal 'edge edge' Anda menjalankan ssh.
Dengan demikian, ini adalah opsi untuk hanya menyalin basis data terminfo lokal dari / usr / share / info (pada klien) ke host:~/.terminfo
(pada server).
Jika format terminfo yang dikompilasi tidak kompatibel, Anda juga dapat mengekspor / mengimpor entri seperti pada paragraf sebelumnya.
Saya sudah mencoba menggunakan terminfo-db dari instalasi Cygwin dan menyalinnya langsung ke sistem Solaris 10.
Jika Anda ingin membagikan terminfo db alternatif antara pengguna, Anda menentukan jalurnya melalui TERMINFO
variabel lingkungan.
Abaikan Urutan Kontrol
Beberapa terminal mendukung penonaktifan urutan kontrol untuk pergantian layar alternatif. Misalnya xterm memiliki opsi, gnome-terminal belum.
Untuk xterm itu adalah X-ressource , mis
XTerm*titeInhibit: true
Konfigurasi khusus program
Beberapa program memiliki file konfigurasi untuk mengkonfigurasi perintah kontrol urutan / terminfo apa yang mereka kirim. Sebagai contoh
$ LESS=X less foo
mengkonfigurasi less
untuk tidak menghapus / mengembalikan layar.
Untuk vim
Anda dapat memasukkan sesuatu seperti
set t_ti= t_te=
di dalam kamu ~/.vimrc
.
Saya belum menemukan opsi bagaimana mengkonfigurasi perilaku itu untuk top - secara default tidak mengirim layar pemulihan.