Bagaimana cara mengubah judul terminal Terminator, ZSH di Debian?

14

Saya tidak tahu apakah saya harus bertanya di sini atau di unix.stackexchange.com, saya menemukan pertanyaan ini di sini .

Pertanyaan saya mirip, saya ingin mengubah judul terminal, saya menggunakan distro berbasis Debian, Terminator dan ZSH, oh-my-zsh judulnya baik-baik saja dengan bash, tetapi ketika saya pindah ke ZSH, itu menunjukkan /bin/zshsebagai judul.

Lynob
sumber
@ DaniëlW.Crompton benar-benar? itu adalah penipuan? jika demikian saya akan menutupnya sekarang, saya menautkan ke pertanyaan itu, jadi saya tahu itu ada di sana, tetapi tidak tahu itu adalah penipuan karena saya menggunakan OS dan emulator yang berbeda
Lynob
Apakah Anda mencoba apa yang disarankan dalam pertanyaan yang Anda tautkan?
Daniël W. Crompton
2
@ DaniëlW.Crompton ya, echo -ne "\e]1;this is the title\adan echo -ne "\e]1;$PWD\a"jangan memberikan kesalahan tetapi tidak berfungsi, saya mencoba menghapus centang semua kecuali saya kehilangan sesuatu
Lynob
1
Apakah Anda mencoba echo -ne "\ e] 0; $ PWD \ a" dengan 0 daripada 1?
Daniël W. Crompton

Jawaban:

13

Anda mengatur judul jendela Anda dengan urutan pelarian xtem, di sebagian besar implementasi yang pertama akan bekerja paling baik:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

EDIT: Di atas hanya menetapkan judul sekali. Untuk mengatur zsh agar selalu menampilkan sengatan pada judul, Anda menambahkan yang berikut ke .zprofiledalam direktori home Anda:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac
Daniël W. Crompton
sumber
2
saya katakan sebelumnya echo -ne "\e]0;$PWD\a"bekerja tetapi ketika saya keluar shell, berhenti bekerja ... Aku mencoba Anda mengetik dalam jawaban dan saya mendapatkan zsh: command not found: stringadan zsh: command not found: e]1dan sebagainya, semua dari mereka
Lynob
1
Diperbarui jawabannya
Daniël W. Crompton
Untuk mengganti direktori home dalam $ PWD dengan yang ~saya gunakan precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Z shell)
Maksym Ganenko
13

Berikut ini berhasil bagi saya untuk mengganti nama setiap tab di terminal gnome. Saya menambahkan kode berikut ke file ~ / .zshrc saya .

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

Ini menciptakan fungsi judul untuk mengganti nama setiap tab.

Catatan, jika Anda menggunakan oh-my-zsh Anda harus menonaktifkan perintah judul otomatisnya. Anda dapat melakukannya dengan menghapus komentar pada baris ini di file ~ / .zshrc Anda :

DISABLE_AUTO_TITLE="true"
Steve
sumber
5
DISABLE_AUTO_TITLE = "true" melakukan trik untuk saya. Terima kasih.
Rakesh Gopal
4

Ini harus bekerja terlepas dari shell yang digunakan:

printf "\033];%s\07\n" "hello world"
Jlliagre
sumber
2

Jawaban sebelumnya tidak cukup untuk saya. Bukan tanpa cegukan (tidak selalu disegarkan atau apalah). Mungkin karena fakta saya punya ZSH, tanpa oh-my-zsh. Untungnya saya tahu chpwd, jadi:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd dipanggil setiap kali direktori diubah.
  2. pertama kali Anda meluncurkan xterm (atau yang lain) ini tidak dihitung sebagai perubahan direktori, jadi lakukan panggilan chpwd langsung .zshrc

Karena saya tidak menggunakan oh-my-zsh , saya tidak tahu apakah itu berfungsi di sana, tetapi kecuali mereka sudah berubah dan ditimpa chpwd(dalam hal ini Anda akan menimpa timpa mereka: D), seharusnya begitu.

LAFK kata Reinstate Monica
sumber
-1

Anda bisa membuat skrip yang memunculkan jendela dan menetapkan nama sesuai keinginan Anda. Jalankan skrip untuk membuka jendela dengan nama Anda. Anda juga dapat mengatur posisi X, Y dan ukuran jendela. Anda dapat membuat beberapa jendela dan memiliki nama untuk setiap kesempatan.

cliff2310
sumber
//, ada yang lebih spesifik?
Nathan Basanese
Sudah lebih dari 12 tahun sejak saya menulis skrip-skrip itu. Saya tidak ingin memberikan informasi yang buruk tetapi saya pikir semua itu dilakukan menggunakan opsi xterm. Periksa halaman MAN untuk xterm untuk informasi lebih lanjut. Saya mungkin memiliki skrip di suatu tempat, tetapi Harvey telah meninggalkan semua disk lama saya di tumpukan di mana mereka dibuang untuk mengeluarkannya dari bahaya. Ketika perbaikan selesai saya mungkin dapat memperbarui ini.
cliff2310