MinTTY adalah Konsol default baru untuk Cygwin.
Apa itu perintah shell (sesuatu yang bisa saya masukkan .bashrc, atau bahkan lebih baik, di .zshrc) untuk mengubah judul jendela MinTTY?
Saya ingin judul jendela menjadi jalur ke direktori saat ini, dan untuk memperbaruinya saat saya mengganti direktori di dalam konsol.
$PS1
) sudah berisi urutan kontrol yang menetapkan judul jendela ke pengguna @ mesin: working_directory.-T <title>
properti pintasan Windows. Lihat jugamintty man page
.Jawaban:
Apa yang salah
Perintah berikut ini tidak berfungsi untuk saya:
Ternyata instalasi Cygwin default saya menyertakan definisi prompt berikut dalam .bashrc:
Perhatikan bahwa bagian pertama dari prompt (
\e]0;\w\a
) adalah mengatur judul windows setiap kali prompt muncul.Solusinya
Tambahkan baris-baris ini di Anda
.bashrc
yang mendefinisikan 2 fungsi:Kemudian Anda dapat mengatur judul khusus dengan perintah ini:
atau Anda dapat kembali ke default cygwin (jalur saat ini) dengan perintah ini:
Semoga ini membantu
sumber
source ~/.bashrc
- kalau tidak cygwin masih akan menjalankan versi bashrc lama yang ada di disk saat cygwin dimulai. - diuji padaCygwin version 2.8.1 (64 bit)
- versi 2017Anda dapat mengubahnya dengan urutan kontrol xterm untuk ini, seperti:
Rujuk ke: http://code.google.com/p/mintty/issues/detail?id=241
sumber
Tempatkan ini di .zshrc:
Urutan karakter khusus dalam fungsi settitle membuat MinTTY mengubah judul jendela.
Di zsh , jika Anda mendefinisikan suatu fungsi dengan nama khusus chpwd, ia akan dipanggil setelah setiap chdir .
Bekerja pada WinXP, dengan Cygwin 1.7 dan MinTTY menjalankan zsh.
sumber
settitle "$(pwd)@$HOST"
Dalam bash, variabel PROMPT_COMMAND dapat diatur untuk menampung sejumlah perintah, dipisahkan oleh titik koma. Anda dapat menggunakannya untuk melakukan pengaturan judul yang sama seperti yang dijelaskan dalam respons lain yang berbicara tentang zsh.
sumber
sumber
Saya menggunakan jawaban Leonel, tetapi saya menemukan judul hanya akan berkedip ketika melakukan ini, yang berarti setidaknya perintah gema berfungsi sebagaimana dimaksud. Saya menjalankan zsh secara interaktif dengan mode debug diaktifkan menggunakan
Mengubah direktori jelas memanggil fungsi lain yang dipanggil
title()
setelahprecmd()
danchpwd()
, secara efektif menimpa mereka. Jadi saya mencolokkan ini ke .zshrc saya dan berhasil.Jika Anda memilih untuk menggunakan
chpwd()
atauprecmd()
sebaliknya, hanya menonaktifkan fungsi judul:title(){}
.sumber
Hanya ingin membagikan solusi saya untuk ini karena saya menggunakan mintty untuk menjalankan skrip.
Pintasan mintty saya disetel sebagai:
Skrip connect.sh yang saya tulis yang disebut dalam pintasan di atas akan meminta saya untuk server yang ingin saya sambungkan ke DAN jalankan fungsi settitle yang didefinisikan dalam skrip.
connect.sh
sumber
title
jika Anda tidak menggunakannya?coba tambahkan ini ke .bash_profile
export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD/#$HOME/~}\007"'
Ini bekerja untuk saya.
sumber