Geçerli komutu göstermek için guake sekmesinin adını değiştirebilir miyim?


13

Guake'yi çok yoğun kullanıyorum ve ssh'ı herhangi bir zamanda 3'ten fazla bilgisayara giriyorum. Ayrıca bazı sekmeler (terminaller) üzerinde çalışan daemons var. Ne bilmek istiyorum, Terminal komutunun adı olarak geçerli komutun adını almak mümkün mü? Bir sekmeyi sağ tıklayıp adını değiştirmek buna neden olur: (Terminal 5'ten sonraki sekmeye bakın)

Terminal 5'ten sonraki sekmeye bakın

Teşekkürler.


Geçerli dizinin sekme başlığı olarak kısaltılmış bir gösterimini göstermek için ilgili soruya verdiğim cevaba bakın .
krlmlr

"Current command" ile ne demek istiyorsun? her terminalde çalışan bir komut var mı? çalışan bir şey olmadığında başlık ne olmalı?
rubo77

Yanıtlar:


4

Bu bir guake (0.4.1) hatası. Yazarın en iyi yöntem olmadığını söylese de bu sorunu bu hata raporu aracılığıyla görüyorum ve çözüyorum: https://github.com/Guake/guake/issues/205

i sekme etiketini (satır 986) ayarlar kod gerçekten aşağı sorunu çözdükten sonra iletişim imha kodu (guake.py satır 983) hareketli öğrendim. benim için çalışan kod şöyle görünür:

    response = dialog.run()
    # dialog.destroy() 

    if response == gtk.RESPONSE_ACCEPT:
        self.selected_tab.set_label(entry.get_text())

    dialog.destroy()

belki gtk ve iletişim kutuları ile ilgili bir sorun var, ama ben sürüm 0.4.1 fark gtk ile bağlı herhangi bir kod değişiklikleri bulamadık.

EDIT : guake 0.4.2 sekme adını doğru bir şekilde değiştirebilir


1
bu soruya cevap
vermez

3

Bunun guake için çalıştığından emin değilim, çoğu terminal emülatöründe işe yarıyor. Terminal başlığını değiştirmek için komut dosyalarınıza bir yankı ekleyebilirsiniz:

echo -ne "\033]0;your_title_here\007"

terminalde yazdığımda bu işe yaramadı.
Aralık'ta TheTuxRacer

1
Bunun nedeni, kabuğunuzun isteminin genellikle geçerli çalışma dizinine ayarlanmasıdır. PS1 değişkenini kontrol edin.
ak2

Benim Ubuntu 15.10 cihazımda da çalışmıyor. echo $PS1Hangi şeye benzediğini kontrol ettim \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$, bu neyi çözmeme yardımcı oluyor?
rubo77

3

Biraz hack, ama bu mevcut terminali sizin için ne isterseniz yeniden adlandırır.

function ssh() {
    guake -r "$@";
    /usr/bin/ssh $@
}

Ayrıca PROMPT_COMMAND ürününüzü güncellerseniz, terminal adını her seferinde güncelleme işleviniz olabilir. Bu sadece ssh sorununuz için çalışmayacak olsa da, yalnızca komut çalıştırıldıktan sonra adı değiştirir.

Örneğin

export PROMPT_COMMAND=renameTerminal

function renameTerminal() {
    guake -r "$SOMENAME";
}

2

Sekmede guake adını değiştirmek istediğimde, sekme adını sağ tıklatıp yeniden adlandırmayı sol tıklatıyorum. Yeni adı girmek için bir açılır kutu açılır.


emin, ama bunu bir senaryoya nasıl ekleyebilirsiniz?
rubo77

1

Sekme adını

guake -r newtabname

En son çalışan komutu almak istiyorsanız, örneğin

echo "!!" | cut -f 1 -d " "

!!yazdığınızda bash tarafından genişletilir. Takma ad değiştirme ile genişletilmez. Bu nedenle history, bir takma ada koymak için genişletmeyi yapmak için yerleşik olanı kullanmanız gerekir:

alias setguaketitle='guake -r $(echo "$(history -p !! )"| cut -f 1 -d " ")'

son komutun ne zaman

echo this is a test

sonra ararım

setguaketitle

başlığı "echo" olarak ayarlar.


0

Kabuğunuzu zsh olarak değiştirirseniz, bunu şuraya ekleyebilirsiniz ~/.zshrc:

preexec() {
    echo -n '\e]0;'
    echo -nE "$1"
    print -nP '  (%~)'
    echo -n '\a'
}

geçerli komutu ve geçerli çalışma dizinini gösterir. Bu sadece guake değil tüm terminal emülatörleri için geçerlidir.

Zsh yazılımını kurmak için:

sudo apt-get install zsh

denemek için sadece söyle

zsh

yeni terminaller için varsayılanınız yapmak için:

chsh -s /bin/zsh 

1
zsh guake ile hiç çalışmıyor :(
theTuxRacer

Oh, doğru, bu soruna daha önce vurduğumu hatırlıyorum. Ancak şimdi bununla ilgili hataların en azından bir kısmı düzeltilmiş gibi görünüyor, örneğin < guake.org/ticket/49 >.
poolie
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.