Cuando entro en un servidor remoto, me gusta que cambien los colores del terminal. Lo uso settermen mi archivo remoto ~ / .bashrc para hacer esto. Sin embargo, cuando I exit, los colores del terminal no se restablecen a los locales.
Resolví el problema, pero no estoy seguro de si es la mejor solución. Esto es lo que se me ocurrió.
En el ~ / .bash_logout en el servidor remoto, puse:
echo -e "\033[0m"
/usr/bin/clear
Solo por curiosidad: ¿Alguien sabe de una mejor manera? (Obtuve la echo -e "\033[0m"línea de http://edoceo.com/liber/linux-bash-shell )

tputpara cambiar los colores. Búscalo.PS1)?Respuestas:
Mejor:
tput sgr0normalmente es el equivalente deecho -en "\e[0m"La diferencia es que el uso de tput se adaptará si el tipo de terminal no es ANSI, y se ha configurado correctamente.
man 5 terminfopara más códigos para usar.Allí encontrarás 'reset', así que
tput resetdebería funcionar.(Las impresiones de PRUEBA deben tener colores de fondo / primer plano intercambiados, no se pueden mostrar aquí, solo "emulados")
Encontré otra opción para esto , una forma menos geek:
El paquete util-linux (en ubuntu) contiene
setterm(utilidad de shell).escriba
setterm --helpy encontrará las opciones disponibles.La salida REAL de
tput sgr0... depende de cómo esté configurado su terminal, por ejemplo
por lo anterior
$ infocmp ansi Reconstruido a través de infocmp desde el archivo: / lib / terminfo / a / ansi ansi | ansi / pc-term compatible con color, am, mc5i, mir, msgr, colores # 8, cols # 80, it # 8, líneas # 24, ncv # 3, pares # 64, acsc = + \ 020 \, \ 021- \ 030. ^ Y0 \ 333` \ 004a \ 261f \ 370g \ 361h \ 260j \ 331k \ 277l \ 332m \ 300n \ 305o ~ p \ 304q \ 304r \ 304s_t \ 303u \ 264v \ 301w \ 302x \ 263y \ 363z \ 362 {\ 343 | \ 330} \ 234 ~ \ 376, bel = ^ G, parpadeo = \ E [5m, negrita = \ E [1m, cbt = \ E [Z, claro = \ E [H \ E [J, cr = ^ M, cub = \ E [% p1% dD, cub1 = \ E [D, cud = \ E [% p1% dB, cud1 = \ E [B, cuf = \ E [% p1% dC, cuf1 = \ E [C, copa = \ E [% i% p1% d;% p2% dH, cuu = \ E [% p1% dA, cuu1 = \ E [A, dch = \ E [% p1% dP, dch1 = \ E [P, dl = \ E [% p1% dM, dl1 = \ E [M, ech = \ E [% p1% dX, ed = \ E [J, el = \ E [K, el1 = \ E [1K, inicio = \ E [H, hpa = \ E [% i% p1% dG, ht = \ E [I, hts = \ EH, ich = \ E [% p1% d @, il = \ E [% p1% dL, il1 = \ E [L, ind = ^ J, indn = \ E [% p1% dS, invis = \ E [8m, kbs = ^ H, kcbt = \ E [Z, kcub1 = \ E [D, kcud1 = \ E [B, kcuf1 = \ E [C, kcuu1 = \ E [A, khome = \ E [H, kich1 = \ E [L, mc4 = \ E [4i, mc5 = \ E [5i, nel = \ r \ E [S, op = \ E [39; 49m, rep =% p1% c \ E [% p2% {1}% -% db, rev = \ E [7m, rin = \ E [% p1% dT, rmacs = \ E [10m, rmpch = \ E [10m, rmso = \ E [m, rmul = \ E [m, s0ds = \ E (B, s1ds = \ E) B, s2ds = \ E * B, s3ds = \ E + B, setab = \ E [4% p1% dm, setaf = \ E [3% p1% dm, sgr = \ E [0; 10%?% p1% t; 7%;%?% p2% t; 4%;%?% p3% t; 7%;%?% p4% t; 5%;%? % p6% t; 1%;%?% p7% t; 8%;%?% p9% t; 11%; m, sgr0 = \ E [0; 10m, smacs = \ E [11m, smpch = \ E [11m, smso = \ E [7m, smul = \ E [4m, tbc = \ E [3g, u6 = \ E [% i% d;% dR, u7 = \ E [6n, u8 = \ E [?% [; 0123456789] c, u9 = \ E [c, vpa = \ E [% i% p1% dd,Explore más, comience aquí tal vez https://en.wikipedia.org/wiki/Terminfo
Guía del programador para ncurses - google books
nota: ncurses proporciona interfaces para termcap, terminfo y, por supuesto, maldiciones.
fuente
echo -e "\e \033 \x1b " | od -t x1z- ¿Cuál es más legible?tput sgr0devuelve algo diferente de\e[0m, mira esto:a=$(tput sgr0); set | grep ^a=y mira el resultado. ¿También puede decir cuál es lasettermopción equivalente para\e[0m?\e[0mo lo mismo\e[mes para terminales de tipo ANSI, tput sgr0 podría proporcionarle algo completamente diferente si su terminal no es ANSI. No puede estar seguro ni siquiera para los terminales ANSI, ya que el que realmente está utilizando podría haberse configurado de manera diferente en la base de datos terminfo.TERM=ansi a=$(tput sgr0); set | grep ^a=y el resultado esa=$'\E[0;10m'. Esto se ve diferente de\e[0m\e(B\e[m: ¡espere diferencias!Creo que estás buscando el comando de consola "reset"
fuente
Puede encontrar el uso de esto en el .bash_logout remoto más apropiado:
Puede ser bueno tener esto en cada .bash_logout como una buena práctica general (y tal vez incluso en ~ / .profile)
fuente
Si coloca los colores que desea en el ~ / .bashrc de la cuenta remota, debería tener efecto al iniciar sesión y volver a su configuración local al salir.
fuente