Terminal "Resizable" adalah hasil dari NAWS ( Negotiate About Window Sizedari RFC 1073 Pilihan Ukuran Jendela Telnet ).
Jika Anda terhubung langsung ke komputer menggunakan port serial, tidak ada negosiasi yang terlibat, dan komputer tidak memiliki pengetahuan langsung tentang ukuran layar terminal Anda.
Jika terminal dapat menegosiasikan ukuran, komputer akan mengirim SIGWINCHke aplikasi yang berjalan di terminal, memberi tahu mereka untuk memperbarui gagasan screensize mereka.
Ketika komputer tidak mengetahui screensize, biasanya mengatur ukuran yang ditunjukkan oleh stty -a(baris dan kolom) menjadi nol. Untuk penggunaan interaktif, ini sedikit tidak ramah, dan beberapa sistem menggunakan variabel lingkungan LINESdan COLUMNSuntuk membantu. Nilai yang diberikan dapat diturunkan dari deskripsi terminal; lebih sering mereka hanya hardcoded. Konvensi untuk variabel-variabel ini mensyaratkan bahwa mereka berlaku kecuali ditekan secara eksplisit, misalnya, dalam use_envfungsi aplikasi kutukan . Di sisi positif, variabel-variabel itu dapat berguna ketika tidak ada informasi yang dapat diandalkan tersedia. Di sisi negatif, tidak ada metode yang mudah untuk mengubah variabel-variabel tersebut.
The resizeProgram (utilitas disediakan dengan xterm) dapat menggunakan VT100 gaya laporan posisi kursor urutan escape untuk menentukan ukuran layar. Ini dapat dijalankan dari baris perintah; tidak ada lagi cara mudah untuk melakukannya secara otomatis. Sebagai efek samping, resizememperbarui informasi pada baris / kolom yang dilihat oleh stty. Penggunaannya untuk menyediakan variabel lingkungan diperbarui terutama berguna untuk kasus-kasus seperti ini, di mana LINESdan COLUMNS yang ditetapkan, dan harus diperbarui.
[[ $(tty) == /dev/ttyS0 ]] && trap res2 DEBUGke salah satu konfigurasi profil shell (misalnya/etc/profile,,~/.bash_profile). Ini akan membuatnya dijalankan setelah setiap perintah tunggal (yang hanya akan menjadi hal yang baik jika Anda mengubah ukuran jendela / panel dengan layar / tmux / terminal-emulator).