Diferentes resultados para ls al acceder a Ubuntu a través de SSH desde diferentes clientes (Windows-PuTTy, Mac-Terminal)

15

Considere la siguiente estructura de directorios, impresa en la pantalla usando ls -l "$dir"( $dires una variable bash que representa una carpeta en el mismo servidor, unos niveles más arriba), en un servidor remoto de Ubuntu (más precisamente, Ubuntu 16.04.4 LTS (GNU / Linux 4.4 .0-116-generico x86_64)):

-rw-r--r-- 1 user group     12 Apr  2 12:34 FILE1
-rwxr--r-- 1 user group    287 Apr 23  2017 File_
-rw-r--r-- 1 user group      0 Apr 21  2017 file_1
-rw-r--r-- 1 user group    272 Apr  3 22:16 myFile
-rw-r--r-- 1 user group  47633 Apr 11 14:01 myFile.txt
-rw-r--r-- 1 user group  37030 Apr 11 14:16 myfile1
-rw-r--r-- 1 user group      0 Apr 11 21:23 nothing_here
-rw-r--r-- 1 user group      2 Apr 22  2017 small_file
-rwxr-x--- 1 user group 262529 Apr  8 15:31 story

Esto viene de un MacBook, y usa el terminal incorporado y la instalación sshinmediata de (OS X Versión 10.13.3, como me dice el terminal).

Considere, en comparación, el mismo servidor al que se accede desde una máquina Windows que ejecuta PuTTy versión 0.70:

-rwxr--r-- 1 user group    287 Apr 23  2017 File_
-rw-r--r-- 1 user group      0 Apr 21  2017 file_1
-rw-r--r-- 1 user group     12 Apr  2 12:34 FILE1
-rw-r--r-- 1 user group    272 Apr  3 22:16 myFile
-rw-r--r-- 1 user group  37030 Apr 11 14:16 myfile1
-rw-r--r-- 1 user group  47633 Apr 11 14:01 myFile.txt
-rw-r--r-- 1 user group      0 Apr 11 21:23 nothing_here
-rw-r--r-- 1 user group      2 Apr 22  2017 small_file
-rwxr-x--- 1 user group 262529 Apr  8 15:31 story

Observe la clasificación diferente de los primeros 6 archivos en cada imagen.

Teniendo en cuenta que los comandos se ejecutan en el servidor y no en las computadoras cliente, no se esperaría ninguna diferencia entre las dos salidas. Entonces, ¿por qué no son idénticos?

Edición 1: como se menciona en los comentarios, lo he verificado y el terminal de Mac está configurado xterm-256colormientras que el de Windows está configurado xterm. Un cambio rápido de la configuración de la Mac xtermno tuvo efecto.

Edición 2: como se menciona en los comentarios, he intentado ejecutar whereis ls, lo que proporciona la ubicación razonable que esperarías encontrar ls, es decir bin/ls.

Edición 3: Eliminé las imágenes del terminal, las cambié por un código con el formato adecuado según esta meta publicación .

Edición 4: se agregaron citas "$dir"para evitar problemas con los espacios.

t0mgs
fuente
Por favor, recuerde citar la variable, así: ls -l "$dir". Sin esto, si el nombre de la carpeta contuviera un espacio, obtendría un resultado sin sentido.
Paddy Landau
@ PaddyLandau tienes razón. Editado eso.
t0mgs

Respuestas:

30

Orden de clasificación se define por las variables de entorno local LC_ALL, LC_COLLATEy LANG(en este orden, siendo el primero el más fuerte). Estas son también algunas de las pocas variables que el cliente ssh puede configurar típicamente. Verifique y compare estas variables. Es posible que desee establecerlos en un valor bien definido en el servidor (por ejemplo, en .bash_profile), o asegurarse de que sus clientes ssh establezcan el mismo valor consistente.

egmont
fuente
4

Lo que finalmente funcionó fue la subsección "Detener reenvío de configuración regional desde el cliente" en esta respuesta . Simplemente comente la SendEnv LANG LC_*línea debajo Hostdel archivo local /etc/ssh/ssh_config . Puede encontrar alguna explicación sobre lo que hace aquí .

t0mgs
fuente