windows emacs tramp

Emacs 24.3 para Windows, código de bytes de Tramp: no se pudo encontrar un comando `ls ''adecuado



(4)

Tuve el mismo problema después de cambiar a Emacs 24.3. La solución fue actualizar al último Tramp 2.2.7. Aquí esta lo que hice:

  1. descargado http://ftp.gnu.org/gnu/tramp/tramp-2.2.7.tar.gz
  2. descomprimí el archivo en mi ~ / .emacs.d / src. Estoy usando emacs-starter-kit, que agrega este directorio y todos sus subdirectorios a la ruta de carga. De lo contrario, siga las instrucciones en el archivo INSTALL de Tramp.
  3. usó Cygwin bash para configurar y compilar los archivos. No uso Cygwin''s Emacs normalmente pero es conveniente tenerlo para ocasiones como esta.
  4. borré los archivos el y elc del viejo vagabundo en mi emacs / lisp / net por seguridad.
  5. reinició Emacs por supuesto.

Haga la versión tramp de Mx para asegurarse de que esté instalada correctamente. Ahora vagabundo funciona en todas partes (dired, eshell, shell, etc.).

24.2 funciona bien, pero 24.3 Bomp Tramp obtuvo el siguiente error al abrir archivos o directorios del sistema Linux remoto:

"byte-code: Couldn''t find a proper `ls'' command"

Abro el tramp trace y descubro que, todas las rutas de búsqueda y archivos remotos se extienden por algo, agregando una "c" adicional al principio. El resultado es que vagabundo no puede encontrar ningún comando ni archivo que quiera abrir.

16:04:51.768000 tramp-get-connection-property (7) # process-buffer nil 16:04:51.769000 tramp-set-file-property (8) # c:/bin file-directory-p nil 16:04:51.770000 tramp-get-file-property (8) # c:/usr/bin file-directory-p undef ... 16:04:59.531000 tramp-sh-handle-file-truename (5) # Check /c: 16:04:59.532000 tramp-get-file-property (8) # c:/c: file-attributes-integer undef ... 16:04:51.773000 tramp-get-connection-property (7) # process-name nil 16:04:51.773000 tramp-get-connection-property (7) # chunksize 0 16:04:51.773000 tramp-set-connection-property (7) # last-cmd-time (20809 28067 773000 0) 16:04:51.774000 tramp-send-string (10) # test -d c/:/usr/bin 2>/dev/null; echo tramp_exit_status $?

Alguien sabe algo sobre esto? Gracias por adelantado.


Usar eval-expression con (byte-compile-file ..) no funcionó para mí, pero lo siguiente fue:

  1. Abra emacs como administrador (haga clic con el botón derecho en el botón de emacs en la barra de tareas, haga clic con el botón derecho en el ícono de emacs en la ventana emergente emergente, haga clic en ''Ejecutar como administrador'')
  2. Use Alt-X para hacer la compilación en lugar de eval-expression: Mx byte-compile-file : c: / Archivos de programa / emacs-24.3 / lisp / net / tramp-sh.el
  3. Ingrese tramp-cleanup-all-connections en la ventana original de emacs, luego intente abrir nuevamente su archivo remoto.

Parece que esto es un error en el vagabundo pero no necesitas actualizar el vagabundo, todo lo que tienes que hacer es recompilar tramp-sh.el en un cuadro de Windows. Vea el informe de error aquí para más información.

Ingrese esto en el buffer de rayado:

(byte-compile-file "C:/Program Files/emacs/lisp/net/tramp-sh.el")

ajustando la ruta para que coincida con su instalación, luego escriba Ctrl-Meta-x para recompilar el archivo. Si se queja de permisos, es posible que deba reiniciar emacs utilizando la opción "ejecutar como administrador" en Windows.

Una vez recompilado el archivo, escriba Mx tramp-cleanup-all-connections para restablecer la caché de conexión de vagabundos. Esto cerrará cualquier conexión de vagabundo que haya abierto.


Fusionando la respuesta por @AlanThird y el comentario de @uscjeremy, esto es lo que funcionó para mí (GNU Emacs 24.3.1 (i386-mingw-nt5.1.2600) de 2013-03-17 en MARVIN, Windows XP / SP3 / 32) :

  1. Byte compile tramp-sh.el (adaptar ruta en consecuencia):

    (byte-compile-file "C:/Program Files (X86)/emacs/lisp/net/tramp-sh.el")

  2. Salga de Emacs.

  3. Eliminar el caché de Tramp: ~/.emacs.d/tramp

  4. Comience Emacs.

Vea también el informe de error # 14030 en gnu.org.