9 votos

La salida de ls no tiene color al hacer SSH a otra máquina con iTerm2, pero sí con Terminal

Como dice el título, cuando hago ssh a mi servidor Fedora de trabajo con iTerm2 no obtengo la salida de color ls. Cuando hago ssh al mismo servidor con la aplicación Terminal predeterminada de OS X, la salida en color de ls funciona perfectamente.

EDIT: Toda la otra salida de ls está en color correctamente. Tanto iTerm2 como Terminal muestran ls localmente en color, y Terminal funciona correctamente cuando hago SSH a la máquina de trabajo.

La única vez que no obtengo la salida de ls en color es cuando uso iTerm2 para hacer SSH a mi máquina de trabajo. Terminal produce la salida de ls en color cuando hago SSH a mi máquina de trabajo y también lo hace PuTTY en Windows.

Cuando hago SSH a mi máquina de trabajo desde iTerm2, 'ls -G' tampoco hace ninguna diferencia. Todavía no hay coloración en la salida de ls.

Además, cuando hago SSH a mi máquina de trabajo desde iTerm2, lo único que no veo en color es la salida de ls. Mi indicador está en color, vim funciona con color y si hago echo $TERM veo xterm-256color.

¿Alguna idea?

11voto

user4416 Puntos 41

La salida de ls con colores (ls -G) no es la opción predeterminada. Ejecute el siguiente comando en su terminal para habilitar los colores de ls de forma predeterminada:

echo "alias ls='ls -G'" >> ~/.bashrc
source ~/.bashrc

Esta y todas las sesiones futuras en la terminal ahora mostrarán los colores correctamente.


Si aún no ve los colores en su sesión remota (o local), siga estos pasos:

En iTerm, verifique que esté enviando un tipo de terminal que admita colores. Abra la ventana de preferencias -> Perfiles -> Predeterminado -> Terminal. Recomiendo poner xterm-256color como Tipo de Terminal.

Preferencias de Terminal

Mientras esté conectado a la máquina remota, ejecute ls -G y abra nuevamente las preferencias de iTerm: ventana de preferencias -> perfiles -> Predeterminado -> Colores. Ajuste los Colores ANSI y reduzca el contraste mínimo hasta que los colores en la ventana de la terminal comiencen a mostrarse.

Colores de Terminal

Si el sistema remoto admite ls --color=always, elimine cualquier alias existente en ~/.profile o ~/.bashrc y actualice de la siguiente manera:

echo "alias ls='ls --color=always'" >> ~/.bashrc

9voto

Tuve el mismo problema. Descubrí que el tema de color que usé en iTerm (solarized) redefinió los colores que ls utilizaba en el host de ssh, lo que los hacía imposibles de distinguir.

Puedes intentar lo siguiente para verificar si este no es tu caso:

LS_COLORS="di=07;31" ls    # esto mostrará los directorios en negro sobre rojo 

Si esto muestra colores, es posible que necesites redefinir los colores en la máquina Linux. El siguiente comando define (algunos) colores de ls a ser similares a los predeterminados de OS-X:

LS_COLORS="di=00;34:ln=00;35:so=00;32:pi=01;33:ex=00;31:bd=00;34" ls

Para editar los colores en Linux, consulta la página de manual de dircolors. También puedes leer lo siguiente sobre cómo configurar colores desde .bashrc: https://github.com/seebi/dircolors-solarized#installation

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X