En una instalación limpia de Ubuntu 12.10, el terminal predeterminado de gnome informa que $ TERM es xterm donde realmente debería informar xterm-256color. ¿Cuál es la mejor manera de cambiar esto? Estoy evitando poner esto en mi .bashrc ya que eso solo es pedir problemas.
gnome-terminal
Freddy
fuente
fuente

xtermestá mal porque la mayoría de las aplicaciones no funcionarán en el modo de 256 colores a menos que seaxterm-256coloroscreen-256color(vim y tmux son las principales que me interesan). Al igual que @Freddy, preferiría no configurarlos en mi perfil de shell, porque puedo estar conectando desde un tipo de terminal diferente a través de SSH, y porque realmente es el trabajo del emulador de terminal configurar esto. Estoy sorprendido de que gnome-terminal no proporcione múltiples emulaciones.xterm-256colors.Respuestas:
Le recomendamos que no cambie sus scripts de inicio, especialmente
~/.bashrc. Toda la "detección terminal" con corriente$TERMo$COLORTERMen~/.profileno es más que una suposición, y puede, como usted ha dicho, causa problemas al utilizar otros terminales (por ejemplo, masilla o xterm). Se supone que el emulador de terminal debe establecerse$TERM, y esto no debe cambiarse desde el shell.El terminal Gnome, AFAIK, no ofrece una configuración para cambiarlo
TERM, pero le permite cambiar su comando de inicio, y eso es todo lo que necesita. Aquí está el truco:Luego use el siguiente comando:
Simplemente reemplácelo
/bin/bashcon su caparazón preferido si es diferente. Y no, no puede usar"$SHELL"en esa línea para la detección automática de shell;) Tiene que codificarlofuente
Para conectarse con un terminal que no puede hacer 256 colores.
Sería mucho mejor detectar el terminal específicamente con
$COLORTERM. Busque gnome-terminal, xfce4-terminal, etc., y luego configure la$TERMvariable enxterm-256color.Lo hago con:
fuente
COLORTERM.COLORTERM, puede confiarVTE_VERSION.Si bien es cierto que terminfo tiene xterm + 256color (
/usr/share/terminfo/x/xterm+256color), termcap solo tiene xterm (/usr/share/vte/termcap/xterm), por lo$TERMque no debería ser aconsejable cambiar.De todos modos,
$TERMno está configurado por gnome-terminal, sino por vte. El valor predeterminado para esa variable de entorno se puede cambiar en tiempo de compilación (dando una opción al script de configuración) o llamando a lavte_pty_set_term()función. Al observar las fuentes de gnome-terminal, veo quevte_pty_set_termnunca se llama, así que puedo decir que no hay formas de modificar$TERMeditando la configuración de gnome-terminal.Lo que debe hacer es colocar el siguiente código en su
~/.profile:fuente
==es una sintaxis de bash-only, no la use para fragmentos que se deben obtenersh(que es el caso~/.profilede los DE). Además, la sintaxis "x $ .." no es necesaria ya que está citando correctamente la expansión var.