Cómo usar Sublime sobre SSH
Estoy intentando usar Sublime Text 2 como editor cuando ingreso por SSH a mi servidor de trabajo, y estoy perplejo. Encontré este http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (entre muchas otras publicaciones) que parece que podría ayudar, pero no lo sigo exactamente. , particularmente con los valores que debo poner para la variable remota en la línea 5. Configuré "/Users/path/to/local/copy" en mi directorio raíz local, pero no sé si eso es correcto o si hay más hacer. ¿Alguna idea? Estoy en OSX10.8
Hay tres maneras:
Utilice el complemento SFTP (comercial) http://wbond.net/sublime_packages/sftp : personalmente lo recomiendo, ya que después de configurar las claves SSH públicas con contraseña es seguro, fácil y vale cada centavo http://opensourcehacker.com/2012/ 24/10/conceptos-básicos-de-inicio-de-sesión-sin-contraseña-ssh-para-desarrolladores/
Monte el control remoto como sistema de archivos local usando
osxfuse
ysshfs
como se menciona en los comentarios. Esto puede resultar un poco difícil, dependiendo de la versión de OSX y de sus habilidades con los sistemas de archivos UNIX.Hackear algo como rmate que edita archivos a través de un túnel remoto usando algún tipo de demonio local (muy difícil, engorroso, pero compatible con sudo) http://blog.macromates.com/2011/mate-and-rmate/
Además, en teoría, puedes instalar X11 en el servidor remoto y ejecutar Sublime allí a través de VNC o reenvío X11, pero esto sería muy lento.
Puedes usar rsub , que está inspirado en TextMate rmate
. De la descripción:
Rsub es una implementación de la función 'rmate' de TextMate 2 para Sublime Text 2, que permite editar archivos en un servidor remoto mediante reenvío/túnel de puertos SSH.
Aquí hay un buen tutorial sobre cómo configurarlo correctamente: (enlace roto) http://log.liminastudio.com/writing/tutorials/sublime-tunnel-of-love-how-to-edit-remote-files-with- texto-sublime-a-traves-de-un-tunel-ssh
Estoy en Windows y he usado 4 métodos: SFTP , WinSCP , Unison y Sublime Text en Linux con reenvío X11 a través de SSH a Windows (sí, puedes hacer esto sin configuraciones complicadas y usando una herramienta gratuita).
La cuarta forma es la mejor si puede instalar software en su máquina Linux.
La cuarta forma:
MobaXterm
- Instalar MobaXterm en Windows
- SSH a su máquina Linux desde MobaXterm
- En su máquina Linux, instale Sublime Text 3. Aquí se explica cómo hacerlo en Ubuntu
- En el símbolo del sistema, comience sublime con
subl
- ¡Eso es todo! Ahora tiene texto sublime ejecutándose en Linux, pero con su ventana ejecutándose en su escritorio de Windows. Esto es posible porque MobaXterm maneja el reenvío X11 a través de SSH por usted, por lo que no tiene que hacer nada extraño para que funcione. Puede haber un pequeño retraso, pero sus archivos nunca estarán desincronizados, porque los está editando directamente en la máquina Linux.
Nota: Al invocar subl si se queja de una determinada biblioteca, asegúrese de instalarlas para invocar correctamente sublimetext desde mobaxterm.
Si no puede instalar software en su máquina Linux, lo mejor es Unison. ¿Por qué?
- Es gratis
- Es rápido
- Es confiable y no le importa qué editor uses.
- Puedes crear listas de ignorados personalizadas
SFTP
Configuración: instale el paquete SFTP Sublime Text. Este paquete requiere una licencia.
- Crear una nueva carpeta
- Ábrelo como un proyecto de texto sublime.
- En la barra lateral, haga clic derecho en la carpeta y seleccione Map Remote.
- Edite el archivo sftp-config.json
- Haga clic derecho en la carpeta en el paso 1 y seleccione descargar.
- Trabaja localmente.
En sftp-config, normalmente configuro:
"upload_on_save": true,
"sync_down_on_open": true,
Esto, además de una terminal SSH para la máquina, me brinda una experiencia de edición remota bastante fluida.
WinSCP
- Instalar y ejecutar WinSCP
- Vaya a Preferencias (Ctrl+Alt+P) y haga clic en Transferir, luego en Agregar. Nombra el ajuste preestablecido.
- Configure el modo de transferencia en binario (no desea conversiones de línea)
- Establecer la modificación del archivo en "Sin cambios"
- Haga clic en el botón Editar junto a Máscara de archivo y configure sus archivos y carpetas de inclusión y exclusión (útil cuando tiene una carpeta .git/.svn presente o desea excluir la sincronización de productos de compilación).
- Haga clic en Aceptar
- Conéctese a su servidor remoto y navegue hasta la carpeta de interés
- Elija una carpeta vacía en su máquina local.
- Seleccione su ajuste preestablecido de transferencia recién creado.
- Finalmente, presione Ctrl+U (Comandos > Mantener actualizado el directorio remoto) y asegúrese de que "Sincronizar al iniciar" y "Actualizar subdirectorios" estén marcados.
A partir de ese momento, WinSCP mantendrá sus cambios sincronizados.
Trabaja en la carpeta local usando SublimeText. Solo asegúrese de que Sublime Text esté configurado para adivinar los finales de línea del archivo que se está editando.
Unísono
Descubrí que si el árbol de fuentes es enorme (alrededor de unos pocos cientos de MB con una jerarquía profunda), entonces el método WinSCP descrito anteriormente podría ser un poco lento. Puede obtener un rendimiento mucho mejor utilizando Unison . La desventaja es que Unison no es automático (debe activarlo presionando una tecla) y requiere que se ejecute un componente de servidor en su máquina Linux. La ventaja es que las transferencias son increíblemente rápidas, es muy confiable e ignorar archivos, carpetas y extensiones es increíblemente fácil de configurar.
Como seguimiento de la respuesta de @ubik, estos son tres pasos simples (únicos) para hacer que el comando 'subl' funcione en su servidor remoto:
[ Local ] Instale el
rsub
paquete en Sublime Text usando el Administrador de paquetes Sublime[ Local ] Ejecute el siguiente comando Bash (esto configurará un túnel SSH , que es la salsa secreta de rsub):
printf "Host *\n RemoteForward 52698 127.0.0.1:52698" >> ~/.ssh/config
[ Servidor ] Ejecute el siguiente comando Bash en su servidor remoto (esto instalará el
subl
comando Shell):sudo wget -O /usr/local/bin/subl https://raw.github.com/aurora/rmate/master/rmate sudo chmod +x /usr/local/bin/subl
¡Y voilá! Ahora estás usando Sublime Text sobre SSH.
Puede abrir un archivo de ejemplo en Sublime Text desde el servidor con algo comosubl ~/test.txt