Paksa layar GNU untuk merefleksikan lebar terminal saat ini pada pemasangan kembali?

32

Saya ingin memaksa layar GNU untuk merefleksikan ke lebar terminal yang ada ketika saya memasang kembali sesi. Menurut saya ini berfungsi dengan baik sebelum saya memutakhirkan mesin ke CentOS 6, tetapi saya tidak tahu cara mengembalikannya. ( TERM=xterm)

Setiap kali saya memasang kembali sesi, terlepas dari keadaan ketika saya melepaskannya, itu diluncurkan pada 80 kolom, mengubah ukuran terminal saya (Putty, dalam hal ini) bersama dengan itu.

Saya meluncurkan & memasang kembali dengan:

screen -aA -R <session>

.Screenrc saya hanya berisi yang berikut ini, dan beberapa binding kunci yang tidak relevan:

term xterm

defscrollback 10000

# status line at the bottom
hardstatus on
hardstatus alwayslastline
hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y %c | Load: %l"
caption splitonly "%{.yK}%3n t"
caption string "%{.c0}%3n %t"

vbell off

# Fix fullscreen programs
altscreen on
Michael
sumber
Anda mungkin lebih beruntung tmux, saya dapat mengubah ukuran jendela Terminal saya secara dinamis dan tmux di dalamnya akan mengikuti.
nomor 5

Jawaban:

38

setelah Anda memasang kembali ctrl-a Fperintah "cocok" untuk mengubah ukuran jendela saat ini. jika Anda memasang kembali menggunakan -Aopsi itu harus mengubah ukuran semua jendela saat Anda memasang kembali. Apakah ada orang lain yang masih terikat pada sesi layar saat Anda melampirkan? Misalnya, apakah Anda harus menggunakan -x untuk memasang kembali bukan -r? Anda dapat melepaskan orang lain ketika Anda memasang kembali dengan "layar -D -r" bukannya "layar -x", dan saya berharap ini secara otomatis memperbaiki jendela.

rebus
sumber
Saya meluncurkan dengan -a -A, dan tidak ada orang lain yang terpasang.
Michael
1
Ini masih merupakan masalah dengan layar melalui Ubuntu 14.04. Fit tidak bekerja. Memutuskan hubungan dan menghubungkan kembali tidak. Layar 4.2.1 tersedia dari backports yang terpercaya . Lihat dokumentasi backports pengguna untuk informasi tentang cara mengaktifkan dan menggunakan paket-paket dari repositori backports.
Greg Bell
1
Bahkan setelah melakukan ini, saya harus mengubah ukuran jendela terminal saya untuk mengirim sinyal apa pun yang screendiperlukan untuk benar-benar melakukan perubahan ukuran.
krs013
Pemecahan masalah ini tidak berhasil untuk saya, mungkin karena saya menggunakan terminal yang berbeda (iTerm2 pada Mac). Fit tidak bekerja, jadi saya melepaskan dan memasang kembali menggunakan screen -D -rdan bahkan mencoba mengubah ukuran jendela, tetapi tetap sama. Ketika di Vim, saya bisa melihat bahwa columnsitu diatur ke 204.
haridsv
layar -D -r bekerja untuk saya setelah mencoba semua opsi lain, seperti yang Anda katakan Stew - layar saya masih muncul sebagai terpasang ketika saya menjalankan layar -l
Hayden Crocker
8

Perhatikan bahwa jawaban ini hanya berlaku untuk Putty. Saya juga terpaksa menggunakan sistem operasi yang saya lebih suka tidak, dan Putty adalah satu-satunya pilihan nyata karena pembatasan lain pada sistem. Saya mengalami masalah yang sama, layar saya akan berubah ukuran setelah memulai atau menghubungkan ke sesi layar yang ada. Saya mencoba jawaban di sini tidak berhasil (Windows 10 dengan Putty 0,67 diinstal melalui MSI). Jawaban-jawaban ini mungkin bekerja dengan terminal UN * X standar, tetapi tidak dengan Putty, ini adalah beastie yang berbeda.

Aku pergi menggali opsi, dan lihatlah di bawah "Terminal -> Fitur" ada opsi berlabel "Nonaktifkan remote-dikendalikan terminal ukuran". Centang kotak, terapkan pengaturan, dan coba layar lagi. Saya pikir Anda akan menemukan masalah terselesaikan.

db_
sumber
KiTTY adalah pengganti drop-in yang jauh lebih baik untuk Putty pada OS yang terpaksa Anda gunakan ...
Anubioz
5

Coba tambahkan ini (dari / etc / screenrc) ke ~ / .screenrc Anda:

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

https://superuser.com/a/217281/6593

Lingkaran Antti Rytsölä Consult
sumber
1
Dalam MPutty ini pasti memecahkan sesi dempul tidak mengisi seluruh halaman tetapi membuka terlalu kecil
Thomas8