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
xterm
está mal porque la mayoría de las aplicaciones no funcionarán en el modo de 256 colores a menos que seaxterm-256color
oscreen-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$TERM
o$COLORTERM
en~/.profile
no 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/bash
con 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$TERM
variable 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$TERM
que no debería ser aconsejable cambiar.De todos modos,
$TERM
no 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_term
nunca se llama, así que puedo decir que no hay formas de modificar$TERM
editando 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~/.profile
de los DE). Además, la sintaxis "x $ .." no es necesaria ya que está citando correctamente la expansión var.