Mam kilka instancji terminali działających w moim środowisku roboczym, chciałbym ustawić dla nich konkretny tytuł, aby mieć jasny obraz, do czego służy dany terminal, tj. Apache, edit_ini, postgres itp.
Oczywiście z linii poleceń.
command-line
gnome-terminal
titlebar
topless
źródło
źródło
gnome-terminal --load-config
razem z tym skryptem , który napisałem.# set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitle
teraz możesz użyć aliasu termttl do ustawienia tytułu, np.termttl askubuntu
gnome-terminal
Domyślnie Gnome3 toPROMPT_COMMAND=__vte_prompt_command
. Używa to wartości z profili we wstępach. Gdy istnieje wiele profili, pozycje menu Nowa karta i Nowe okno mają pozycję podmenu dla każdego profilu. Instrukcja sposobem jest otworzyć nową kartę do terminalu, kliknij prawym przyciskiem myszy na tytule zakładki, a następnie wybierz ustawić tytuł ... . (Przeczytałoby to o wiele łatwiej w osobnej odpowiedzi, ale ...)Odpowiedzi:
Najbardziej przyjazny dla użytkownika sposób to wybranie go z menu Terminal -> „Ustaw tytuł ...”.
Istnieją jednak inne sposoby na wydanie
Może to nie dać pożądanego efektu, ponieważ istnieje duża szansa, że Twoje
.bashrc
zachowanie zostanie zastąpione.Doprowadzając nas do ostatniej metody, którą bezwstydnie wyrwałem z siebie
.bashrc
.Jako dodatkowe odniesienie, jest to szczególna linia w moim
.bashrc
Konieczne może być także skomentowanie tego kodu w pliku ~ / .bashrc
źródło
PROMPT_COMMAND
to program do uruchomienia.PS1
iPS1
są tekstowe struny , które są wyświetlane. W powyższym przykładzie uruchamiane jest polecenieecho
, które następnie po prostu wypisuje ciąg. Więcej informacji na stronieman bash
lub manpages.ubuntu.com/bash .Option "--title" is no longer supported in this version of gnome-terminal.
Odpowiedź totemu jest świetna, jeśli chcesz ustawić swój tytuł na podstawie hosta, na którym się znajdujesz, za każdym razem, gdy otwierasz terminal. Jeśli chcesz tylko szybko ustawić tytuł, możesz po prostu uruchomić echo:
lub wykonaj prostą funkcję (wewnątrz
~/.bashrc
), powiedzmytermtitle
z którym możesz biegać
termtitle some title here
.źródło
function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_title
a następnie użyj:$ title term_title
$var_log
i${var}_log
są bardzo różne rzeczy, a różnica może powodować błędy w skryptach.unset PROMPT_COMMAND
lub ustaw go tak, aby zmieniał także tytuł, np.export PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "$(basename $PWD)"'
Jeśli używasz edytora Vim, możesz również włączyć tę opcję w swoim vimrc:
który jest domyślnie wyłączony. Ustawi fajne tytuły terminali pokazujące nazwę pliku, który edytujesz w tej chwili i kilka innych rzeczy.
źródło
Dla kompletności dodam, że można również ustawić
gnome-terminal
tytuł za pomocą tego polecenia:Najpierw musisz zainstalować pakiet wmctrl .
źródło
Argh, tyle odpowiedzi ...
Próbowałem
wmctrl
, co prawie działało, ale nie udało mi się zmienić tytułu ikony, przynajmniej nie na stałe.Problem polega na tym, że PS1 w Bash w Ubuntu ustawia tytuł.
Domyślny PS1 to
... która ustawia tytuł w pierwszej sekwencji ucieczki:
\e]0;\u@\h: \w\a
Istnieją zatem dwa rozwiązania:
Rozwiązanie 1: uprość PS1, a następnie użyj PROMPT_COMMAND
Zmień PS1 na coś prostszego:
Następnie użyj PROMPT_COMMAND:
Rozwiązanie 2: bezpośrednio zmodyfikuj PS1
Po prostu zmodyfikuj PS1 nowym tytułem:
źródło
]0;
swojego kodu? Myślę, że znalazłem sensecho -e '\007 \033'
zascii -o
polecenia ... choć szczerze nie jestem pewien, co to robi tam albo ... dzięki ...\e
lub\033
jest znakiem ucieczki (ESC), który rozpoczyna sekwencję zmiany znaczenia.]
uruchamia polecenie systemu operacyjnego (OSC). Dla xtermu0;
oznacza „ustaw tytuł” i\a
lub\007
jest znakiem dzwonka (BEL), który kończy OSC. Więcej informacji: en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences\e
i\a
) dla\033
i\007
, ale nie mogłem znaleźć je na pewno, bo nie znał odpowiednich słów kluczowych, aby wpisać w google. Przydany link jest również przydatny. Czy możesz przekształcić swój komentarz w odpowiedź?Jeśli jesteś użytkownikiem Ubuntu, możesz zmienić tytuł karty terminalu gnome za pomocą HUD .
Będąc na terminalu gnome, naciśnij Alt, aby wyświetlić HUD, wpisz kilka pierwszych liter, np. „Tit”, naciśnij enter i wpisz nowy tytuł.
Jest to bardzo szybka metoda i pozwala uniknąć używania myszy.
źródło
F2
klucz unika również myszy.Innym sposobem zmiany tytułu
gnome-terminal
jest użyciegconftool-2
; zmienia to początkowy tytuł terminalu dla wybranego profilu , więc możesz mieć różne profile powiązane z tytułami takimi jak „Apache”, „Edycja” itp. Następnie uruchomiszgnome-terminal
z odpowiednim profilem, aby uzyskać określony tytuł terminalu. Jest to w przeciwieństwie do tego,gnome-terminal --title "name"
który zmienia tytuł dla terminala, ale nie wpływa na początkowy tytuł określony w profilu.Możesz użyć następującego polecenia w skrypcie, aby ustawić nazwę terminala dla profilu, i możesz zmienić nazwę terminala w określonych porach dnia, aby przypominać ci o rzeczach:
Dotyczy to profilu domyślnego, ale możesz również ustawić tytuł dla innych profili, zmieniając na przykład
Default
inny profil, taki jakProfile0
:Myślałem, że ten sposób zmiany tytułu jest użyteczny ze względu na sposób, w jaki można go użyć w skryptach, lub po prostu jako szybki sposób wiersza polecenia do ustawienia tytułu profilu. Pamiętaj, że czasami musisz ponownie uruchomić terminal z określonym profilem, aby
gconftool-2
ustawienie miało wpływ. Pełne dostępne ustawieniagnome-terminal
można wymienić za pomocągconftool-2 -R /apps/gnome-terminal
.źródło
Innym rozwiązaniem jest użycie xdotool do symulacji naciśnięć klawiszy, być może przydatne w skryptach:
Ustaw skrót klawiaturowy w gnome-terminal:
Na przykład zakładając
Shift+Ctrl+Y
.Zainstaluj,
xdotool
jeśli jeszcze go nie masz:Poniższa sekwencja poleceń (których możesz użyć również w skrypcie bash) ustawi tytuł terminalu / tabulacji (unikaj spacji
\
):[opcjonalnie] Możesz także użyć xdotool, aby np. otworzyć nową kartę i ustawić tytuł za pomocą powyższych poleceń, używając:
Rozważ dodanie czasu snu przed i po otwarciu nowej karty, np.
sleep 1
(Aby poczekać 1 sekundę).To nie jest najbardziej eleganckie rozwiązanie, ale zadziałało dla mnie! Poprzednie odpowiedzi nie działały w moim przypadku. Używam gnome-terminal w Ubuntu 14.04 i chciałem napisać skrypt bash.
źródło
Aby wyświetlić tylko bieżący katalog roboczy w tytule, wypróbuj to w swoim „.bashrc”:
lub
źródło
To zadziałało w moim terminalu Gnome 3.18.3 .
Edytuj plik .bashrc i dodaj tę funkcję
Nie zapomnij o
source
swoim .bashrc plikuA potem możesz po prostu zaktualizować, będziesz mógł zmienić tytuł terminala w następujący sposób:
źródło
Moja odpowiedź jest podobna do nowszej, która nie zadziałała. Najstarsze odpowiedzi już nie działają. Środkowa stara odpowiedź to zbyt dużo pisania, więc utworzyłem funkcję w moim
~/.bashrc
pliku:Po dodaniu lub zmianie funkcji lub, jeśli chcesz zresetować tytuł po raz drugi, użyj:
W przeciwnym razie codziennie korzystaj
termtitle
z nowego tytułu.źródło
Jeśli jakieś biedne dusze, takie jak ja, będą zmuszone używać tcsh, spróbuj czegoś takiego w swoim .cshrc:
Źródło i więcej szczegółów: http://tldp.org/HOWTO/Xterm-Title-4.html
źródło
Jeśli używasz gnome 3, wygodna
Terminal > Set Title
opcja menu została usunięta. Możesz zainstalować rozwidlony terminal gnome 2, który wciąż ma tę opcję menu „Ustaw tytuł”, i zamiast tego uruchomić:Zamiast uruchamiać „Terminal”, uruchom „MATE Terminal”. Prawdopodobnie powinieneś także wybrać mate-terminal w
sudo update-alternatives --config x-terminal-emulator
.źródło