OS X'in ssh'den geri dönerken terminal başlığını orijinal başlığa geri ayarlamasını nasıl sağlayabilirim?


12

OS X'ten başlayarak foo'ya (Linux kutusu) giriyorum. Terminal başlığım foo olarak değişiyor. Sonra bara ssh (başka bir Linux kutusu). Terminal başlığım çubuk olarak değişir. Bardan çıkış yapıyorum. Terminal başlığım foo olarak değişiyor. Foo oturumumu kapattım. Terminal başlığım foo olarak kalıyor (orijinal başlığa geri dönmek yerine). Bir Linux kutusundan tekrar Linux kutusuna çıkış yaparken doğru çalıştığından sorun terminalle ilgili değildir. Vim ile aynı problemim olduğu için muhtemelen ssh değil. Aklımda kabuk kalıyor. BASH kullanıyorum. Çevreye baktığımda Linux kutusu ile OS X kutum arasında pek bir fark görmüyorum. Her ikisi de bir TERM xterm kullanıyor.

Yanıtlar:


14

Ekleme

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

benim sorunum .bash_profiledüzeltildi.

Bilgi PROMPT_COMMANDistemi her görüntülendiğinde içerideki dize yürütülür gibi görünür . Man sayfasından:

PROMPT_COMMAND

Ayarlanırsa, değer her birincil bilgi isteminden önce bir komut olarak yürütülür.


3
Konsol üzerinden OS X'te oturum açmanız olası değildir, ancak olabilir. Bu olaydaki sorunları önlemek için, tüm bu şeyleri bir case "$TERM" in xterm*|rxvt*)tür anlaşmaya sarıyorum. Sanırım ilk olarak fikri buradan aldım: tldp.org/HOWTO/Bash-Prompt-HOWTO/…
Telemachus

Oh, ayrıca, Terminal.app'ın tercihlerine (Tercihler -> Ayarlar -> Pencere) gitmek ve başlık çubuğuna eklemeye çalıştığı her şeyi kaldırmak daha iyi buluyorum, ancak ymmv.
Telemachus

Eh, ben kullanmak iTerm.appdeğil Terminal.appve çalışıyor. Gerçek terminal hakkında bir fikriniz var. Linux kutumun böyle bir kontrolü var, bu yüzden profilime ekleyeceğim, teşekkürler.
Chas. Owens

0

Bu sorun için daha iyi bir çözüm buldum. OSX bu sistem genelinde yapılandırmayı kullanır:

PROMPT_COMMAND="update_terminal_cwd${PROMPT_COMMAND:+; $PROMPT_COMMAND}"

İşlev update_terminal_cmdbildirildi /etc/bashrc_Apple_Terminal. Eğer sıfırlanması sonucu Terminal ayarları kırmak istemiyorsanız nedenle, PROMPT_COMMANDaşağıdaki konularda sonuna şu satırları ekleyebilir ~/.profileveya ~/.bashrc:

my_update_terminal_cwd() {
    update_terminal_cwd # call system wide function
    printf '\e]0;\a'    # reset additional title after SSH session
}

PROMPT_COMMAND="my_update_terminal_cwd${PROMPT_COMMAND:+; $PROMPT_COMMAND}"

Misal:

SSH oturumundan önce

SSH oturumu devam ediyor - başlık uzak ana makine adına ayarlandı

SSH oturumundan sonra - başlık düzeltildi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.