teraz używam jednowierszowego kodu perla do zmiany tytułów moich listew zaciskowych,
print("\e]0;@ARGV\7");
ale za każdym razem, gdy przesyłam ssh na inną zdalną maszynę, tytuł będzie modyfikowany przez hosta (przez co nie jestem szczególnie zainteresowany). Ale po wyjściu z połączenia zmodyfikowany tytuł pozostaje. Czy istnieje sposób, aby to naprawić? zasadniczo chcę mieć stały tytuł dla moich terminali, gdy działam lokalnie.
Używam przede wszystkim terminala i terminatora xfce w CentOS lub Debian. Dzięki.
EDYTOWAĆ
Inną subtelnością jest to, że raczej mając wszystkie terminale o tej samej nazwie, wolę mieć swobodę edytowania tytułów w locie, ale zabraniam jedynie sesji SSH modyfikowania tego, co edytowałem.
Rozwiązanie: dodaj kilka funkcji ~ / .bashrc, aby zrobić coś po poleceniach ssh i su
Uwaga: uruchom ponownie bash po edycjach ~ / .bashrc
Przykład:
Mam nadzieję, że to pomaga.
źródło
revert
ponieważ nie sprawdzasz, co to było wcześniej ... jeśli zapytałeś i zapisałeś poprzednią wartość ;-)Skonfiguruj lokalny plik kropkowy powłoki (np
$PROMPT_COMMAND
w~/.bashrc
) zawiera tytuł terminala w odpowiedni sposób, przy użyciu tego samego mechanizmu.Na przykład:
źródło
export PROMPT_COMMAND="printf '\e]0;\7\n'"
), Wówczas emulator terminalu może ustawić tytuł okna według własnego uznania. Po ssh do zdalnego hosta, który ustawia tytuł terminala, emulator terminala wyświetli ten tytuł, a po wylogowaniu powróci do używania własnego tytułu. Przynajmniej tak działa aplikacja terminala macOS.DODAJ te linie do ~ / .bashrc
działa dobrze z linuxami opartymi na Debianie
źródło
PROMPT_COMMAND
zamiast używaćPS1
, ponieważ nie trzeba\[ \]
dodawać nawiasów i może wyeliminować niektóre cytowania.Jednym z rozwiązań jest zmiana zmiennej terminalnej na vt100 przed ssh'ing, np. Run
Działa to, ponieważ zwykle skrypty inicjujące sprawdzają zmienną terminala i zmieniają ją tylko tak, by była xterm. Tracisz alternatywne ekrany, kolory i może jakieś inne fantazyjne funkcje, które możesz lub nie możesz docenić.
Jeśli chcesz zachować terminal lokalny jako xterm, użyj aliasu ssh, aby zmienić zmienną terminala w locie, np
źródło
Rozwiązałem ten problem, dodając go do mojego PS1 w pliku .bashrc.
Dlatego cała linia wygląda tak (dostosowałem swoje PS !:
Mam nadzieję, że to pomaga innym.
źródło
export PS1='\[\033]0;\007\]\h:\W \u\$ '
), Wówczas emulator terminalu może ustawić tytuł okna według własnego uznania. Gdy ssh do zdalnego hosta, który ustawia tytuł terminala, emulator terminala to pokaże, a po wylogowaniu powróci do używania własnego tytułu. Przynajmniej tak działa aplikacja terminala macOS.Inne odpowiedzi nie działałyby dla mnie, gdy wychodzę z SSH, ale zbliżyły mnie. Dodanie automatycznej zmiany nazwy setw działa, kiedy wychodzę ze zdalnej sesji ssh, więc zmienia ona nazwę automatycznie i nie muszę już wychodzić z okna, aby zresetować. [Styczeń 2018 - Debian 9]
źródło