15.04 Ubuntu yeni kurulum: GNOME terminal sekmelerini yeniden adlandıramıyor


38

Ubuntu 14.10'da birden fazla Terminal Sekmesi açık olsaydı, bir Terminal sekmesine sağ tıklayıp yeniden adlandırabilirdim. 15.04 Ubuntu'da bu özelliği bulamıyorum.

Geri almanın kolay bir yolu var mı?

Bu şu anki versiyon:

$ gnome-terminal --version
GNOME Terminal 3.14.2

Yanıtlar:


21

Burada cevaplandı

Alıntı yaparım:

user titleKod uzaklaştırılmıştır 1 den gnome-terminal 3.14. Bir kaçış dizisi kullanarak başlığı ayarlamanın tek bir yolu var - örneğin bash:

PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'

1: Gnome bug 724110 ve Gnome bug 740188'e bakınız .


10
Cevap için teşekkürler. Gitmiş olması çok utanç verici, umarım bir sonraki sürümde eklerler, bu arada sağ tıklama yöntemi yerine escape dizisini kullanırım.
Tom,

2
@Tom Bir hata raporu yaz =)
AB

13
bu sadece bir utanç değil: anlamsız. Debian Wheezy'den Jessie'ye “yükseltme” için kötü bir fikrim vardı, daha önce sahip olduğum her şeye sahip olmak (henüz kesin değil); Kötü kararlar ve saçma kusurlar (örneğin, gdm3'te kurduğum olası wm / oturumların listesi uymuyor ve kaydırmıyor, bu yüzden basit bir kesim ve dolayısıyla sahip olduğum tüm wm'leri seçemiyorum). Bana göre, GNOME o zamandan beri mahkumdur gnome-shell. Yeni bir pencereyi yeni bir pencerede veya sekmede açmak için açılan menü de kayboldu (ancak yine de kısayoldan yapabilirsiniz. Neden ?! Her şeyi büyük bir akıllı düğme ile değiştirin: bir tıklama ve bir şey yapar!)
ShinTakezou

2
Genellikle yeni sürümler özellik ekler ve kaldırmaz.
angelcervera

2
Sadece echo -ne "\ 033] 0; $ 1 \ 007" içeren sekme adında bir komut (kabuk komut dosyası) yaptım, böylece şimdi herhangi bir sekmede sekme başlığını ayarlamak için sekme TABNAME komutunu çalıştırabilirim. Sekmeyi yeniden adlandırmak için sağ tıklamak kadar uygun değil, ancak şimdilik bunu yapacak. AB teşekkürler!
Brian Pipa,

31

.bashrcÇözelti Kirby tarafından önerilen benim için çalıştı:

set-title(){
  ORIG=$PS1
  TITLE="\e]2;$@\a"
  PS1=${ORIG}${TITLE}
}

sonra benim istemi $ set-title test-title


2
Benim için para cezası 15.10'da işe yarıyor, tek uyarı, her çalıştırdığınızda PS1'e eklemeniz, bu yüzden bunu bir komut dosyasından yapmayın. Birkaç kere set-title "longer and "echo $PS1 \[\e]0; \u@\h: \w \a\]\u@\h:\w\[\033[m\]$(__git_ps1)$ \e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a
aradıktan

1
ubuntu 16.04 benim için çalışıyor!
Programcı

1
çekicilik gibi çalışıyor!
sharadendu sinha

İptal etmek istemediğim bir ön plan işlemi devam ederken başlığı nasıl değiştiririm?
Jason Elmeris

1
Süreci devam ettirmek için Control + Z, ardından set-title X, ardından işlemi duraklatıp yapabileceğinizi düşünüyorum fg.
ronan_mac

18

Bunun gibi kullanıcı dostu bir özelliği kaldırdıklarına inanamıyorum.

İşi güzel yapan ROXTerm'e ( http://roxterm.sourceforge.net ) geçiyorum . Ubuntu'da paketlenmiştir:

sudo apt-get install roxterm

O zaman dinozor kendi yolunda devam etsin ;-)


1
Sekme Başlığını roxterm'da nasıl değiştirebilirim? Bulamadım.
Halil

de 16.04 için çalışacak
prusswan

Vay, bir terminali gnome terminali ile arka plana ayarlayamıyorum ve nedenini asla anlamadım ... bunun terminalin kendisinde bir sorun olduğunu. Devilspie terminal arka roxterm ile serin çalışır.
erm3nda

1
RoxTerm harika ve hala çalışıyor ama ne yazık ki çok daha uzun sürmeyecek: sadface:: sourceforge.net/p/roxterm/discussion/422638/thread/60da6975
Williams

O zamandan beri Terminator'e geçtim ve RoxTerm'i daha fazla kullanmak zorunda kalmamıştım ....
Michael Opdenacker

14

RoxTerm'i yukarıda önerildiği gibi iyi sonuçlarla denedim. Fakat 15.04 tarihinde Gnome 2'nin devamı olan MATE Projesi'nin bir parçası olan MATE Terminaline yerleştim:

sudo apt-get install mate-terminal

Bu terminal Gnome Terminal kodunu temel alır.


Yorum: Gnome Terminali devs zihniyetini anlamak zor. Terminal sekmelerini "nasıl" isimlendirdiği ve doğru olmanın nasıl zor olduğu hakkında çok fazla tartışma var. Bu durumda, kullanıcının bunları adlandırmasını neden zorlaştırıyorsunuz? Hiç akıllı değil.


6

Şimdi bunu bir günün daha iyi kısmı için araştırdım ve nihayet bu başlığı belirlemenin bir yolunu buldum. \ E] 0 ile başlayan kaçış dizileri ile yapılır; ve bir BEL karakteriyle bitirin (= \ 007 = \ a). Yukarıda belirttiğim gibi, kabuktan terminal uygulamasına geri dönüş, bu kaçış dizileri vasıtasıyla çok sınırlı bir şekilde mümkündür (birkaç tane daha vardır).

Bu konuda yukarıdan:

PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'

O yapabilirsiniz çalışmak, ancak her zaman değil. PROMPT_COMMANDher komut gönderdiğinizde içeriğin yürütüldüğü değişkendir, bu yüzden bu kaçış sırasını da gönderir. Bununla birlikte, bu komut satırı istemini ayarlayan PS1 değişkenindeki bir kaçış dizisi tarafından geçersiz kılınabilir. Yukarıdakilerin burada etkisinin olmamasının nedeni budur.

Daha eski bir Ubuntu kurulumundan bunu aldım, komut istemini ayarlar (sağdan sonra, sonra ]) ve ayrıca gerekli kaçış dizisini (sol tarafa kadar dahil ]) gönderir :

PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "

Bu muhtemelen daha iyi sonuç veriyor, çünkü $PROMPT_COMMANDher seferinde yorum yapmaya gerek yok . Ayrıca çok daha fazla seçeneğe sahiptir, çünkü Bash burada daha fazla kaçış dizisine sahiptir, örneğin \umevcut kullanıcı adı \Wiçin, geçerli dizin adı için veya \wmevcut çalışma dizininin tüm yolu için, isteğe bağlı olarak sadece son birkaç kişiye kesilmiş $PROMPT_DIRTRIM. PROMPTINGBash man sayfasındaki bölüme bakınız . Ayrıca kaçış dizisinin ek olarak etrafta \[ve \]burada çevrelenmiş olduğuna dikkat edin .

Sabit bir başlık ayarlamak için bu işe yarar:

PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "

Keyfini çıkarın!


Araştırmam sırasında vte kaynak koduna yol açan gnome-terminal kaynak kodunu da anlamaya çalıştım ve orada başlık ayar ve çıkış kodlarını okuma desteğinin güvenlik riski olduğu kabul edildi: Buraya bakın (dava 20, dava 21) ve buraya ("Pencere Başlığı Raporlaması").


Bu, başlığı belirler ancak aynı zamanda PS1özel bir komut istemi ayarlamak gibi diğer kullanımlar için önceki tanımları siler . Kaçış sıranızı mevcut PS1içeriğe eklemeyi denedim ve işe yaramıştı. PS1+="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Şöyle

5

$ PROMPT_COMMAND'ın yukarıda gösterildiği gibi ayarlanması, burada sıfır etkiye sahiptir. Sürpriz yok, çünkü Bash terminalin içinde çalışıyor ve ebeveyn süreçleri (burada: gnome-terminal) bir çocuğun çevresini unix benzeri bir işletim sisteminde okuyamıyor. Gibi daha basit bir şey kullanarak

PROMPT_COMMAND='echo bla'

Çalıştırır yankı bla , başka hiçbir şey olmuyor.

Düzenleme: biri bunu kaçış dizilerine sarmak zorunda, diğer cevabımı gör. Çocuk ortamını okumak mümkün olmamakla birlikte, bu sekanslar aracılığıyla ebeveyne geri dönüş yapmak mümkün değildir.

Gnome 740188 no'lu hatada .bashrc'deki bir title () fonksiyonunu tanımlamaktan bahsederler. Açılan her sekme için farklı bir tane var mı? Mümkünse, ciddi çirkin ileri hack!

Stackexchange'teki diğer açıklamalar bile $ PS1 (ve yükseltilmek) ayarını yapmaktan bahseder. Üzgünüz, hayır, bu başlık değil, komut istemi bu.

Kısacası: Tercihler iletişim kutusundaki küçük bir alandan tasarruf etmek için onarımın ötesine geçtiler. Aman Tanrım

Şimdi, bir geliştirici kararını geri almak için tek şans, şiddetli bir fırtınayı yakmaktır, aksi halde hata raporunuzu saniyeler içinde kapatırlar (birçok kez denedi). Bu fırtınayı nasıl yaratırız?

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.