GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Dan Di Mana $term Diinterpretasikan?

Saya bertanya-tanya bagaimana beberapa sihir terminal bekerja secara internal.

Saat bermain-main dengan wadah buruh pelabuhan, variabel lingkungan $TERM tidak diatur. Hal ini menyebabkan aplikasi konsol yang tampak aneh seperti vim dan tmux, tetapi juga CTRL+l (clear screen) diabaikan.

Saya cukup yakin bahwa semua fitur seperti pembaruan sebagian layar, warna, perintah seperti pengaturan ulang layar, dll. diwujudkan dengan menggunakan kode escape, bukan?

Jadi di mana variabel ini ditafsirkan dan memungkinkan misalnya mengatur ulang layar terminal saya menggunakan CTRL+l jika saya menetapkan nilai yang benar di sana? Siapa yang memeriksa misalnya warna mana yang didukung (xterm vs xterm-256color)? Kerang? Aplikasi atau perpustakaan seperti ncurses? Dan di mana kemungkinan nilai / tipe terminal didefinisikan?

Jawaban yang Diterima:

$TERM dibaca dan ditafsirkan oleh sistem terminfo. terminfo juga merujuk ke database deskripsi terminal yang dapat Anda temukan di sebagian besar sistem di /usr/share/terminfo . $TERM harus cocok dengan salah satu entri dalam database itu. Ada juga perpustakaan lama yang disebut termcap yang memiliki kemampuan lebih sedikit, tetapi terminfo telah menggantikannya. Dalam sistem modern, terminfo adalah bagian dari library ncurses.

Aplikasi biasanya mengambil kemampuan terminal secara langsung menggunakan fungsi perpustakaan seperti tigetstr() atau mereka menggunakan antarmuka kutukan tingkat yang lebih tinggi untuk mengelola tata letak layar. Apa pun itu, $TERM dan database terminfo akan dikonsultasikan.


Linux
  1. Cara Memulai Perintah Linux di Latar Belakang dan Melepaskan Proses di Terminal

  2. Kitty Terminal Emulator:Cara Memasang, Mengonfigurasi, dan Menggunakannya

  3. Tput:Tidak Ada Nilai Untuk $term Dan Tidak -t Ditentukan?

  1. Cara menginstal Terminal Guake dan menambahkannya ke autostart

  2. di konsol linux, cara TIDAK membungkus keluaran

  3. Linux:Bagaimana cara mengetahui di mana suatu proses dimulai dan bagaimana proses itu dimulai?

  1. Cara Menyesuaikan Warna Bash dan Konten di Prompt Terminal Linux

  2. Cara Mempercantik Terminal dan Shell Linux Anda

  3. Cara menggulir ke atas dan ke bawah di terminal layar yang diiris