Ustawianie tytułów kart terminala

11

Próbuję otworzyć kilka kart terminalu w gnome-terminal i do tej pory udało mi się coś zrobić , ale utknąłem teraz.

Mam więc następujące wymaganie:

  • Otwórz zakładki zatytułowane „X” i „Y”
  • Wykonaj niektóre polecenia
  • Trzymaj zakładki otwarte i gotowe do dalszego użycia; zachowaj tytuł.

Jak dotąd udało mi się spełnić niektóre wymagania, ale nie wszystkie:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Otwiera to dwie zakładki:

  1. „X” (a następnie zmienia tytuł na domyślny)
  2. „Y”, ale karta zamyka się, gdy tylko wyjdę top.

Czy istnieje sposób na otwarcie karty, uruchomienie bash, ale bez zmiany tytułu? Próbowałem Google, ale się poddałem.

EDYCJA: To nie musi być polecenie.

omninonsense
źródło
Czy to musi być polecenie? Ponieważ GUI na terminalu gnome działa do tego dobrze.
nef
@kikjezrous Cóż, wiem, jak to zrobić za pomocą skrótów klawiaturowych lub po prostu kliknięcia prawym przyciskiem myszy, ale muszę to robić za każdym razem, gdy zabieram się do pracy (i jest to 6 kart), więc jest to bardziej kwestia wygody niż realnej konieczności.
omninonsense
Ach, zredaguję moją odpowiedź.
nef

Odpowiedzi:

4

Jak widać w innych odpowiedziach , tytuł karty jest zmieniany przez powłokę za każdym razem, gdy wyświetla monit. A po uruchomieniu topkarty kończy się, ponieważ polecenie, które kazałeś jej uruchomić, kończy się ...

Zrobię następujące:

Krok 1: wywołaj terminal z powłokami, dodając takie zmienne środowiskowe:

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Krok 2: dodaj na końcu swojego .bashrckodu:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... które moim zdaniem jest łatwe do zrozumienia i można je modyfikować za pomocą potrzebnego polecenia / poprawek. Testowane i działa dobrze; po wyjściu topz karty nadal będzie wyświetlany monit i karta do przejrzenia.

Zrzut ekranu (po naciśnięciu przycisku „q” top):

zrzut ekranu

Rmano
źródło
6

Aby zachować tytuły kart, musisz skomentować następujące wiersze w swoim .bashrc:

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Następnie gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"będzie działać zgodnie z oczekiwaniami:

wprowadź opis zdjęcia tutaj

Sylvain Pineau
źródło
Oznacz to jako właściwą odpowiedź, ponieważ jest najprostsza. :-)
omninonsense
Zmieniłem zaakceptowaną odpowiedź (i zmodyfikowałem ją nieco), ponieważ lepiej pasowała do moich wymagań; to wciąż świetna odpowiedź!
omninonsense
1
Nie ma problemu, tak to działa :)
Sylvain Pineau
1

Zakładam, że nie musi to być polecenie, i daje to całkowicie graficzny sposób.

Po uruchomieniu gnome-terminal menu „Plik” umożliwia otwieranie nowych kart, którym przypisany zostanie dany tytuł. Można to zmienić za pomocą menu „terminalu” lub klikając prawym przyciskiem myszy kartę i robiąc to z menu kontekstowego.

Następnie możesz otworzyć górę i dowolne inne polecenia, wszystko to jest w terminalu, działa jako normalny, niezwiązany proces, który jest uruchamiany z dowolnego innego terminala - po prostu środowiska pulpitu - który nie umrze po tym, jak poczuje, że zrobiono to, co jest powinien zrobić.

nef
źródło
Używając wbudowanego terminalu gnome, nie ma opcji, aby ustawić tytuł w menu kontekstowym dla kart ani żadnej opcji w menu „terminal”. Jakiej wersji terminala używasz?
Williams,
1

Podczas zabawy odkryłem, że to wcale nie jest polecenie - to profil.

Iść do:

Edit | Profiles | (Default) | Edit | Title and Command 

i zmień opcję „Gdy terminale ustalą własny tytuł” ​​na „Zachowaj tytuł początkowy” na dole listy. Teraz, gdy uruchomisz polecenie z tytułem, zostanie ono zawieszone, aby twoje polecenie działało poprawnie.

wprowadź opis zdjęcia tutaj

nef
źródło
Pamiętaj, że musisz to zrobić dla każdego zdefiniowanego profilu
Sylvain Pineau,