249 votes

Comment utiliser Sublime en SSH

J'essaie d'utiliser Sublime Text 2 comme éditeur lorsque je me connecte en SSH à mon serveur de travail, et je suis dans l'impasse. J'ai trouvé ceci http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (parmi de nombreux autres messages) qui semble pouvoir m'aider, mais je ne le suis pas exactement, en particulier en ce qui concerne les valeurs que je dois entrer pour la variable distante à la ligne 5. J'ai défini "/Users/path/to/local/copy" sur mon répertoire racine local, mais je ne sais pas si c'est correct ou s'il y a autre chose à faire. Avez-vous des idées ? Je suis sous OSX10.8

13 votes

J'ai trouvé plus facile d'utiliser osxfuse y sshfs sur mon mac pour monter localement des répertoires distants et ensuite les éditer via ST2.

0 votes

Il existe un plugin ST2 populaire pour sftp. Voici une explication plus détaillée d'un système auquel je pense qu'AGS fait référence : superuser.com/questions/134140/ . J'ai eu un problème avec le chargement automatique à la connexion, et j'ai dû utiliser un login script de contournement fait avec Platypus. J'ai également eu besoin d'une meilleure version de macfuse -- je vais voir si je peux trouver le lien si vous êtes intéressé.

0 votes

Avec Snow Leopard (10.6.8), j'avais besoin d'un noyau mis à jour pour MacFuse (macfuse-core-10.5-2.1.9.dmg) -- voici le lien vers l'endroit où je l'ai obtenu : blog.urbaninsight.com/2011/04/18/ Si vous êtes intéressé, cela devrait vous éviter bien des maux de tête.

169voto

Mikko Ohtamaa Points 20940

Il y a trois façons de procéder :

De plus, en théorie, vous pouvez installer X11 sur le serveur distant et y exécuter Sublime via VNC ou la redirection X11, mais cela n'aurait aucun intérêt.

1 votes

Voir aussi la question relative à superuser.com superuser.com/questions/581292/

11 votes

Le combo SSHFS/osxfuse a fonctionné pour moi ! Merci. Pour les autres personnes ayant ce problème : github.com/osxfuse/osxfuse/wiki/SSHFS

0 votes

Est-ce qu'un utilisateur avec le plugin sftp peut utiliser des outils comme les shells interactifs et repl comme dans emacs ?

107voto

ubik Points 2361

Vous pouvez utiliser rsub qui s'inspire de l'approche de TextMate. rmate . D'après la description :

Rsub est une implémentation de la fonction 'rmate' de TextMate 2 pour Sublime Text 2, permettant aux fichiers d'être édités sur un serveur distant en utilisant la redirection de port SSH / tunnelling.

Voici un bon tutoriel sur la façon de le mettre en place correctement.

2 votes

Je suis également d'accord pour dire que faire fonctionner rsub est un jeu d'enfant, et permet sudo, ce qui est génial. J'ai rencontré quelques problèmes pour le faire fonctionner correctement, mais SO avait la réponse à cela aussi : stackoverflow.com/questions/18938950/

9 votes

Veuillez marquer cette réponse au lieu de la première puisque celle-ci est gratuite

0 votes

Le guide a fonctionné à la perfection, même pour une personne totalement novice en matière de terminaux comme moi. Merci !

68voto

C.. Points 10739

Je suis sous Windows et j'ai utilisé 4 méthodes : SFTP , WinSCP , Unison y Sublime Text sur Linux avec transfert de X11 vers Windows via SSH (oui, vous pouvez le faire sans configurations compliquées et en utilisant un outil gratuit).

La quatrième méthode est la meilleure si vous pouvez installer des logiciels sur votre machine Linux.

La quatrième voie :

MobaXterm

  1. Installer MobaXterm sur Windows
  2. SSH à votre box Linux depuis MobaXterm
  3. Sur votre machine linux, installez Sublime Text 3. Voici comment faire sur Ubuntu
  4. À l'invite de commande, démarrez sublime avec subl
  5. Voilà, c'est fait ! Vous avez maintenant sublime text fonctionnant sous Linux, mais avec sa fenêtre fonctionnant sur votre bureau Windows. Ceci est possible parce que MobaXterm s'occupe de la redirection de X11 via SSH pour vous, vous n'avez donc pas besoin de faire quoi que ce soit pour le faire fonctionner. Il peut y avoir un petit décalage, mais vos fichiers ne seront jamais désynchronisés, car vous les éditez directement sur la machine Linux.

Note : Lorsque vous invoquez subl, s'il se plaint d'une certaine bibliothèque, assurez-vous de l'avoir installée pour invoquer sublimetext avec succès depuis mobaxterm.

Si vous ne pouvez pas installer de logiciel sur votre boîte Linux, le meilleur est Unison. Pourquoi ?

  • C'est gratuit.
  • C'est rapide.
  • Il est fiable et se moque de l'éditeur que vous utilisez.
  • Vous pouvez créer des listes d'ignorés personnalisées

SFTP

Installation : Installez le SFTP Paquet Sublime Text. Ce paquet nécessite une licence.

  1. Créer un nouveau dossier
  2. Ouvrez-le comme un projet Sublime Text.
  3. Dans la barre latérale, faites un clic droit sur le dossier et sélectionnez Map Remote.
  4. Modifier le fichier sftp-config.json
  5. Cliquez avec le bouton droit de la souris sur le dossier de l'étape 1 et sélectionnez télécharger.
  6. Travailler localement.

Dans le sftp-config, je mets habituellement :

"upload_on_save": true,
"sync_down_on_open": true,

Ceci, en plus d'un terminal SSH sur la machine, me donne une expérience d'édition à distance assez transparente.

WinSCP

  1. Installer et exécuter WinSCP
  2. Allez dans les Préférences (Ctrl+Alt+P) et cliquez sur Transfert, puis sur Ajouter. Nommez le préréglage.
  3. Définissez le mode de transfert en binaire (vous ne voulez pas de conversions de lignes).
  4. Définir la modification du fichier à "Aucun changement"
  5. Cliquez sur le bouton Editer à côté de Masque de fichier et configurez vos fichiers et dossiers d'inclusion et d'exclusion (utile lorsque vous avez un dossier .git/.svn présent ou que vous voulez exclure les produits de construction de la synchronisation).
  6. Cliquez sur OK
  7. Connectez-vous à votre serveur distant et accédez au dossier qui vous intéresse.
  8. Choisissez un dossier vide sur votre machine locale.
  9. Sélectionnez le préréglage des paramètres de transfert que vous venez de créer.
  10. Enfin, appuyez sur Ctrl+U (Commandes > Maintenir le répertoire distant à jour) et assurez-vous que les cases "Synchroniser au démarrage" et "Mettre à jour les sous-répertoires" sont cochées.

À partir de ce moment-là, WinSCP maintiendra vos modifications synchronisées.

Travaillez dans le dossier local en utilisant SublimeText. Assurez-vous simplement que SublimeText est configuré pour deviner les fins de ligne du fichier en cours d'édition.

Unison

J'ai constaté que si l'arbre source est massif (environ quelques centaines de Mo avec une hiérarchie profonde), la méthode WinSCP décrite ci-dessus peut être un peu lente. Vous pouvez obtenir de bien meilleures performances en utilisant Unison . L'inconvénient est qu'Unison n'est pas automatique (vous devez le déclencher en appuyant sur une touche) et qu'un composant serveur doit être exécuté sur votre machine linux. Le côté positif est que les transferts sont incroyablement rapides, qu'il est très fiable et que les fichiers, dossiers et extensions à ignorer sont incroyablement faciles à configurer.

0 votes

+1 pour le SFTP setup lien. Je ne savais pas si SFTP était un logiciel Windows ou un package Sublime.

0 votes

J'utilise sftp pour ST2, PuTTY, et un peu de FileZilla pour faire bonne mesure. C'est la meilleure configuration que j'ai trouvée après en avoir essayé plusieurs. Cependant, je n'aime pas avoir à conserver un jeu de fichiers local. Je préfère largement ST aux éditeurs de terminal comme vi ou nano - faire ST3 sur le serveur lui-même semble être une bonne affaire. merci pour le tuyau -

0 votes

Si vous êtes un cyber-canard ( cyberduck.io/?l=fr ), sublimetext s'intègre très bien.

36voto

user456584 Points 8772

Pour faire suite à la réponse de @ubik, voici les trois étapes simples (uniques) pour faire fonctionner la commande 'subl' sur votre serveur distant :

  1. [ Local ] Installer le rsub dans Sublime Text en utilisant l'option Gestionnaire de paquets Sublime

  2. [ Local Exécutez la commande Bash suivante (cela créera un fichier de type Tunnel SSH qui est la sauce secrète de rsub) :

    printf "Host *\n    RemoteForward 52698 127.0.0.1:52698" >> ~/.ssh/config
  3. [ Serveur Exécutez la commande Bash suivante sur votre serveur distant (cela installera la commande shell 'subl') :)

    sudo wget -O /usr/local/bin/subl https://raw.github.com/aurora/rmate/master/rmate; sudo chmod +x /usr/local/bin/subl

Et voilà ! Vous utilisez maintenant Sublime Text via SSH.

Vous pouvez ouvrir un fichier d'exemple dans Sublime Text à partir du serveur avec quelque chose comme subl ~/test.txt

1 votes

Je n'arrête pas de recevoir : /usr/local/bin/subl: connect: Connection refused /usr/local/bin/subl: line 200: /dev/tcp/localhost/52698: Connection refused Unable to connect to TextMate on localhost:52698 . Vous en pensez quoi ?

1 votes

Oui : ajoutez -R 52698:localhost:52698 à votre commande ssh. Voir ici : stackoverflow.com/questions/18938950/

0 votes

Conseil de débutant que j'ai trouvé utile : N'oubliez pas de faire tourner Sublime sur votre machine locale. Cela permet de démarrer le serveur.

12voto

bizi Points 419

Je suis sur MacOS, et le moyen le plus pratique pour moi est d'utiliser CyberDuck qui est gratuit (également disponible pour Windows). Vous pouvez vous connecter à votre système de fichiers SSH distant et modifier votre fichier à l'aide de votre éditeur local. CyberDuck télécharge le fichier dans un emplacement temporaire sur votre système d'exploitation local et l'ouvre avec votre éditeur. Une fois que vous avez enregistré le fichier, CyberDuck le télécharge automatiquement sur votre système distant. Cela semble transparent comme si vous modifiez votre fichier distant à l'aide de votre éditeur local. Les développeurs de Cyberduck font également MountainDuck pour monter des systèmes de fichiers distants.

1 votes

J'ai upvoted, bien que cela ne fonctionne pas avec sudo ... (les fichiers qui ont besoin d'un accès super utilisateur pour écrire)

1 votes

Je suis venu pour poster cette solution exacte. Tant que vous utilisez CyberDuck, elle est très pratique. Cependant, n'oubliez pas qu'elle ne fonctionne que lorsque CyberDuck est en cours d'exécution. Vous pouvez également utiliser la même méthode pour ouvrir des fichiers dans d'autres éditeurs, mais j'ai constaté qu'ils ne fonctionnent pas tous de manière fiable et peuvent perdre la connexion ou passer silencieusement à l'enregistrement local uniquement au lieu de l'enregistrement à distance (par exemple Microsoft Excel). Je n'ai jamais eu un seul problème avec Sublime, cependant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X