Gibi "Yeniden" terminaller NAWS bir sonucudur ( Negotiate About Window Size
adlı RFC 1073 Telnet Pencere Boyutu Seçeneği ).
Seri bağlantı noktası kullanarak doğrudan bilgisayara bağlıysanız, pazarlık yapılmaz ve bilgisayarın terminalinizin ekran boyutu hakkında doğrudan bir bilgisi olmaz.
Bir terminal boyutu pazarlayabilirse, bilgisayar SIGWINCH
, terminalde çalışan uygulamalara gönderilir ve ekrana ilişkin görüşlerini güncellemelerini söyler.
Bilgisayar ekran boyutunu bilmediğinde, genellikle stty -a
(satırlar ve sütunlar) ile gösterilen boyutu sıfıra ayarlar . Etkileşimli kullanım için, bu biraz dostça değildir ve bazı sistemler ortam değişkenlerini LINES
ve COLUMNS
yardımcı olmak için kullanırlar. Atanan değerler olabilir uç açıklama elde edilebilir; daha sık onlar sadece kodlanmış. Bu değişkenler için yapılan sözleşme, örneğin curses uygulamaları use_env
işlevinde açıkça baskılanmadıkça etkin olmalarını gerektirir . Olumlu tarafı, bu değişkenler güvenilir bilgi olmadığında faydalı olabilir. Negatif tarafta, bu değişkenleri değiştirmek için uygun bir yöntem yoktur.
resize
Program (ile donatılmış bir yardımcı xterm
) ekran boyutunun saptanması için VT100 tarzı imleç konumu rapor çıkış sırasını kullanabilir. Bu komut satırından çalıştırılabilir; (tekrar) otomatik olarak yapmak için uygun bir yol yoktur. Yan etki olarak, resize
tarafından görülen satırlar / sütunlar hakkındaki bilgileri günceller stty
. Güncellenmiş ortam değişkenleri sağlamada kullanımı, bunun gibi, nerede LINES
ve COLUMNS
ne zaman olduğu gibi durumlar için yararlıdır ve güncellenmelidir.
[[ $(tty) == /dev/ttyS0 ]] && trap res2 DEBUG
için, kabuk profili yapılandırmalarından birine ekleyin (örneğin/etc/profile
,~/.bash_profile
). Bu, her komuttan sonra çalıştırılmasını sağlayacaktır (bu sadece eğer ekran / tmux / terminal-emulator ile pencereleri / panelleri yeniden boyutlandırıyorsanız iyi bir şey olacaktır).