Po uruchomieniu ekranu zmienia się monit. Jak mogę zapobiec takiemu zachowaniu? Na przykład:
$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$
Co ciekawe, nie robi tego na innych komputerach. Maszyna, o której mowa, to aktualizacja Redhat 4 4, z wersją ekranu 4.00.02 (FAU) 5 grudnia 03.
linux
gnu-screen
Swoogan
źródło
źródło
Wiele dystrybucji sprawdza typ terminala przed ustawieniem monitu. Na przykład Ubuntu zawiera ten mały klejnot w domyślnym pliku .bashrc:
Ponieważ screen używa własnej zmiennej TERM („screen”), bash uważa, że nie jest w stanie wyświetlić fantazyjnego monitu o kolor, więc domyślnie jest on prostszy. Ekran jest oczywiście w pełni zdolny do wykonywania takich samych złożonych podpowiedzi jak normalny terminal.
Aby więc zastąpić to zachowanie, po prostu ustaw preferowane opcje PS1 na końcu
~/.bashrc
pliku. Lub, jeśli masz ochotę na przygodę, znajdź test, który sprawdza wartość zmiennej TERM i zmodyfikuj ją tak, aby akceptowała „screen” oprócz „xterm-color”.źródło
Być może jest to dostosowana zmienna ustawiona w pliku ~ / .screenrc?
źródło
Wystąpił ten sam problem (koniec niestandardowego monitu na ekranie) na komputerze z
SHELL -$SHELL
i bezsetenv PS1
screenrc, a także brak specjalnego testu dla (głupiego) terminala w bashrc.Ustawienie używanego $ TERM:
w screenrc otrzymałem mój niestandardowy monit z powrotem w trybie ekranu:
PS: inne konto nie było tego potrzebne, ale testy bashrc dla dircolors i nowoczesny terminal w ten sposób 1 :
Wierzę, że to również działa:
źródło