Terminal apa yang ditiru oleh aplikasi Terminal Mountain Lion?

4

Baru-baru ini saya bermigrasi dari 10,6 ke 10,8. Saya menggunakan Terminaluntuk terhubung ke berbagai kotak linux di mana variabel TERM diamati xterm-color. Ini tampaknya konsisten dengan pengaturan 10.6 dari TERM.

Namun, sejak memutakhirkan, saya mengalami masalah dengan Terminalsesi saya jika / ketika saya mengubah ukurannya ke sesuatu yang lebih luas dari 80x24. Garis teks yang biasanya sangat panjang tampaknya membungkus 80 kolom sampai saya mengubah ukuran lagi, pada titik yang ditampilkan dengan benar. Artinya, itu seperti lebar terjebak pada ukuran terakhir (membungkus segala sesuatu dengan lebar sebelumnya) sampai mengubah ukuran dilakukan setelah menampilkan sesuatu mengharapkan lebar yang lebih besar.

Jenis ini terasa seperti entri kutukan [n] untuk yang xterm-colordiubah (tidak) atau yang terminaltidak benar-benar meniru xterm-colorperangkat. Perilaku ini berbeda (mungkin lebih baik - saya masih mengevaluasi) jika menentukan yang jelas xterm.

Apakah ada pengaturan yang lebih baik untuk TERM saat menggunakan Mountain Lion's Terminal?

jhfrontz
sumber
Itu bisa berupa bug di terminal. Sudahkah Anda mencoba iTerm 2 ( iterm2.com )? Ini memiliki beberapa fitur bagus yang tidak ditawarkan terminal. Jika berperilaku sama dengan Apple. Terminal, maka mungkin pengaturan di salah satu file login Anda (.profile, .bashrc, .zshrc, dll ... Tergantung pada shell Anda saat ini).
Ɱark Ƭ
1
@MarkThalman terima kasih atas tipnya; Saya telah menghindari menggunakan sesuatu yang tidak tersedia sehingga saya tidak tersandung ketika saya pergi untuk merawat mesin orang lain (keseluruhan "begitu Anda terbang kelas satu, Anda tidak akan pernah lagi bisa berdiri terbang in coach "thing ;-)
jhfrontz

Jawaban:

8

Seperti halnya banyak emulator terminal, Terminal mengemulasi sebagian besar VT100 plus beberapa fitur dari terminal yang lebih baru, dan beberapa ekstensi umum dari xterm dan emulator lainnya.

Tidak ada file terminfo yang persis terkait dengan Terminal, tetapi pertandingan terdekat dulu xterm-color, yang mewakili cabang xterm yang lebih tua. Namun, dalam versi terbaru, Terminal lebih sepenuhnya kompatibel dengan xterm dan xterm-256colormerupakan nilai default baru untuk TERMvariabel lingkungan.

Dalam Preferensi> Pengaturan> [profil]> Tingkat Lanjut> Emulasi ada menu pop-up Deklarasikan terminal sebagai: yang menetapkan nilai TERM(dan hanya itu yang dilakukan — itu tidak mengubah fitur yang didukung Terminal). Jika Anda menggunakan Mac yang telah Anda tingkatkan dari versi OS yang lebih lama, Anda mungkin ingin / perlu memperbarui pengaturan agar sesuai dengan standar baru yang disarankan jika masih diatur ke xterm-color. Penggunaan xterm-colortidak direkomendasikan dan dimungkinkan untuk menimbulkan masalah karena tidak cocok dengan set fitur Terminal saat ini.

Terlepas dari kenyataan bahwa instalasi ncurses harus menyertakan semua file terminfo, beberapa distro Linux tidak, dan khususnya beberapa di antaranya menghilangkan xterm-256color. Jika demikian, Anda akan melihat program mengeluh dengan berbagai cara tentang tidak dapat menemukannya, dan solusinya adalah menginstal seluruh rangkaian file terminfo, atau setidaknya semua yang xterm.

Jika xterm-256colortidak tersedia, hal terbaik berikutnya adalah xterm-16color, diikuti oleh xterm. Ketiga ini kompatibel dan mewakili versi xterm saat ini dengan berkurangnya jumlah warna yang didukung ( xtermhanya menyatakan delapan warna dasar ANSI, meskipun banyak program mengabaikannya dan menganggap bahwa enam belas didukung, tetapi xterm-16coloradalah yang harus dipilih jika Anda ingin secara eksplisit menyatakan dukungan untuk enam belas warna).

Sulit untuk mengatakan dengan tepat apa yang menyebabkan masalah yang Anda lihat, tetapi hal pertama yang harus dicoba adalah menjalankan infocmpperintah pada host jarak jauh untuk melihat apa yang dikatakannya. Itu akan memberi tahu Anda istilah apa yang diharapkan dan apakah itu ditemukan.

Jika ini adalah masalah umum ncurses atau terminfo, kemungkinan akan terjadi dengan program lain, seperti vim. Anda mungkin mencoba menjalankan vim atau kurang, misalnya, untuk membandingkan perilaku. Jika Anda merasa termotivasi, Anda dapat menjalankan vttest http://invisible-island.net/vttest/ pada host jarak jauh dan memeriksa bahwa Terminal merespons dengan tepat tes untuk menggambar atribut teks, mengubah ukuran tampilan, dan beralih ke / dari layar alternatif.

Saat Anda mengubah ukuran jendela terminal, program terminal memberi tahu perangkat tty, yang mengirimkan SIGWINCHsinyal ke proses yang terhubung dengannya. Program bertanggung jawab untuk merespons sinyal dengan tepat. Satu hal untuk diuji adalah apakah variabel LINESdan COLUMNSdiperbarui dalam bash ketika Anda mengubah ukuran jendela terminal. Jika itu berfungsi, maka mekanisme sinyal berperilaku dengan benar.

Kemungkinan lain adalah bahwa program tidak beralih ke / dari layar alternatif dengan benar (yang dapat disebabkan oleh pemilihan istilah yang tidak kompatibel). Anda dapat memeriksa item menu Lihat> Sembunyikan / Tampilkan Layar Alternatif untuk melihat layar mana yang sedang aktif. Jika itu menunjukkan layar yang salah, Anda dapat mencoba beralih secara manual dengan item menu dan melihat apakah itu menyelesaikan masalah.

Chris Page
sumber
Aha, saya tidak melihat pengaturan TERM default telah berubah - Saya memiliki Pengaturan yang dipersonalisasi yang telah saya gunakan sejak lama dan masih terjebak pada nilai default lama / pra-ML. Semua lebih baik sekarang, terima kasih!
jhfrontz