GNU/Linux >> Belajar Linux >  >> Linux

Ssh – Atur Warna Terminal Mesin Lokal Untuk Menggunakan Warna Mesin yang Saya Gunakan Ssh?

Saya memiliki skema warna yang saya suka ketika saya berada di terminal, tetapi saya ssh ke mesin yang saya kerjakan dari berbagai sumber (secara lokal, Putty, netbook saya, dll.) dan saya ingin mempertahankan skema warna yang sama di seluruh . Apakah ini mungkin?

Saya terutama menginginkannya di Putty; sulit untuk mengubah warna Putty.

Jawaban yang Diterima:

Warna di terminal ditentukan dalam dua langkah:

  • program yang berjalan di terminal memberitahu terminal untuk menggunakan nomor warna tertentu;
  • terminal menerjemahkan setiap nomor warna menjadi nilai warna.

Xterm memiliki escape sequence untuk mengubah nilai warna yang terkait dengan nomor warna. Saya tidak ingat apakah Putty mendukung urutan ini; Saya tahu Mintty melakukannya.

set_color_value () {
  printf "\e]4;$1;$2\a"
}
set_color_value 4 '#6495ed'  # set color 4 (blue) to CornflowerBlue

Pengaturan ini tidak akan bertahan dari reset terminal. Anda dapat mengatasi kesulitan ini dengan menambahkan urutan perubahan konfigurasi kursor ke string reset terminal Anda.

  • Pada sistem berbasis terminfo yang menggunakan ncurses, simpan pengaturan terminfo terminal Anda ke file dengan infocmp >>~/etc/terminfo.txt . Edit deskripsi untuk mengubah rs1 (reset dasar), mis. ganti rs1=Ec oleh rs1=EcE]4;4;#6495edE\ . Dengan beberapa program dan pengaturan, Anda mungkin perlu mengubah rs2 (reset penuh) juga. Kemudian kompilasi deskripsi terminfo dengan tic ~/etc/terminfo.txt (ini ditulis di bawah direktori $TERMINFO , atau ~/.terminfo jika tidak disetel).
  • Pada sistem berbasis termcap, ambil pengaturan termcap dari database termcap Anda (biasanya /etc/termcap ). Ubah is (reset dasar) dan rs (reset penuh) urutan untuk menambahkan pengaturan Anda, mis. :is=EcEcE]4;4;#6495edE\: . Setel TERMCAP variabel lingkungan ke nilai yang diedit (diawali dan diakhiri dengan : ).

Sekarang Anda dapat menempatkan sesuatu seperti ini di ~/.profile . Anda :

if [ "$(ps -p $PPID -o comm=)" = sshd ] &&
   [ "$TERM" = "xterm" ]; then
  set_color_value … # set color scheme
  TERMCAP=…  # if necessary
fi

Linux
  1. Gunakan XMLStarlet untuk mengurai XML di terminal Linux

  2. Setel Xorg Untuk Menggunakan Hanya Sebagian Layar?

  3. Mengatur warna latar belakang Vim

  1. Bagaimana cara scp kembali ke lokal ketika saya sudah melakukan sshed ke mesin jarak jauh?

  2. Atur warna tab tmux yang aktif

  3. Bisakah saya membuat SSH menggunakan program askpass meskipun dijalankan dari terminal?

  1. Gunakan klien email Alpine di terminal Linux Anda

  2. Cara mengubah warna terminal Linux Anda

  3. Apakah Urutan Escape Warna Terminal Ditetapkan Di Mana Saja Untuk Bash?