Öffnen einer Remote-Datei mit TextWrangler

8

Meine aktuelle Lösung zum Bearbeiten von Dateien auf einem Remote-Webserver besteht darin, Fetch zu verwenden, um den Remote-Computer zu durchsuchen, und TextWrangler, um die Änderungen vorzunehmen. Aber da ich mich beim Navigieren auf der Kommandozeile auf dem entfernten Rechner wohler fühle (aber nicht komfortabel genug, um VIM zu benutzen ...), würde ich gerne etwas wie 'open filename.txt' auf dem entfernten Rechner eingeben können und habe TextWrangler auf meinem lokalen Rechner geöffnet. Ich habe den Begriff "Reverse Tunneling" als Option gehört, aber ich habe keine Ahnung, was ich als nächstes tun soll. Alle Vorschläge werden sehr geschätzt - danke!

    
Mike 01.09.2009, 21:51
quelle

6 Antworten

4

Persönlich benutze ich Cyberduck als meinen S / FTP-Browser. In den Einstellungen von Cyberduck können Sie einen Standardtext-Editor definieren, um entfernte Dateien zu bearbeiten. Jetzt kann ich einfach Cmd + K drücken, wenn ich eine Datei ausgewählt habe, und sie wird in TextWrangler geöffnet. Beim Speichern werden die Änderungen automatisch in die Remote-Datei übertragen.

    
Alan 11.09.2009 14:47
quelle
3

Ich wollte eigentlich dasselbe machen, und niemand hat es aufgeschrieben, also habe ich das heute herausgefunden.

Es gibt 2 erforderliche und 3 optionale Teile:

  1. Aktivieren Sie ssh login auf beiden Computern (erforderlich)
  2. Richten Sie einen SSH-Tunnel vom Remote-Rechner zu Ihrem Rechner ein (erforderlich)
  3. Richten Sie einen Alias ​​für den SSH-Tunnel ein (optional)
  4. Richten Sie auf dem Remote-Computer (optional) einen Alias ​​für TextWrangler ein
  5. Richten Sie SSH-Schlüssel ein, damit Sie nicht jedes Mal Ihr Passwort eingeben müssen (optional)

Sie müssen in der Lage sein, ssh von lokal nach remote auszuführen, um die Befehle auszuführen, und Sie müssen in der Lage sein, ssh von remote zu lokal zu senden, damit Befehle an TextWrangler gesendet werden können.

Um den SSH-Tunnel einzurichten, müssen Sie einen Befehl auf Ihrem lokalen Rechner ausführen wie:

%Vor%

Die Flags -f und -N setzen ssh in den Hintergrund und lassen Sie auf Ihrem Rechner. Das Flag -R bindet einen Port auf dem Remotecomputer an einen Port auf Ihrem lokalen Computer. Alles, was die entfernte Maschine an Port 10022 kontaktiert, wird an Port 22 Ihres lokalen Computers gesendet. Der Remote-Port kann alles sein, was Sie wollen, aber Sie sollten einen Port & gt; 1024 um Konflikte zu vermeiden und du musst nicht root sein. Ich habe 10022 gewählt, weil es dem Standardanschluss von ssh von 22 ähnelt. Ersetzen Sie die Klammern durch Ihren Benutzernamen und den Computernamen.

Sie müssen das nach der Anmeldung einmal ausführen. Um den Befehl für Sie einfacher zu machen, können Sie in Ihrem Bash-Profil einen Alias ​​hinzufügen. Fügen Sie Ihrem lokalen ~/.bash_profile Folgendes hinzu:

%Vor%

Natürlich können Sie den gewünschten Aliasnamen auswählen.

Sobald Sie den Tunnel eingerichtet haben, können Sie einen Befehl wie diesen auf dem entfernten Rechner verwenden:

%Vor%

Das Flag -p gibt an, Port 10022 zu verwenden (oder den Port, den Sie zuvor gewählt haben). Dies führt dazu, dass der Remote-Computer eine Verbindung zu Ihrem lokalen Computer herstellt und den Befehl in Anführungszeichen ausführt, ohne eine interaktive SSH-Sitzung zu öffnen. Der Befehl in den Anführungszeichen ist der Befehl, den Sie auf Ihrem lokalen Computer ausführen würden, um die Remote-Datei in TextWrangler zu öffnen.

Um den Befehl für Sie einfacher zu machen, können Sie eine Funktion in Ihrem Bash-Profil hinzufügen. Fügen Sie Ihrem Remote ~/.bash_profile Folgendes hinzu:

%Vor%

Dies setzt voraus, dass die TextWrangler-Befehlszeilentools nicht auf dem Remotecomputer installiert sind. Wenn Sie dies tun, sollten Sie die Funktion etwas anderes als edit nennen. Zum Beispiel tw . Hier betrachtet ${1:0:1} das erste Zeichen des ersten Parameters der Funktion, was der Dateipfad sein sollte. Wenn es nicht mit / beginnt, ermitteln wir den absoluten Pfad, indem wir das aktuelle Arbeitsverzeichnis ( pwd ) am Anfang hinzufügen. Wenn Sie sich jetzt auf dem Remotecomputer in /home/jdoe/some/directory/ befinden und edit some/other/directory/file.txt ausführen, wird Folgendes auf Ihrem lokalen Computer ausgeführt:

%Vor%

Schließlich sollten Sie die ssh-Tasten in beide Richtungen einrichten, damit Sie nicht jedes Mal zur Eingabe eines Passworts aufgefordert werden. Hier ist eine Anleitung, die jemand anderes geschrieben hat: Ссылка

    
chibimagic 07.02.2011 08:24
quelle
2

Ich glaube nicht, dass dies das Öffnen von der Kommandozeile erlaubt, aber

Eclipse mit Remote-System -Explorer unterstützt auch die Bearbeitung von Dateien via SSH-Verbindung

    
cghamburg 14.11.2012 08:26
quelle
1

Ich denke, was Sie meinen, heißt "X11 Forwarding" über ssh. Sehen Sie sich die Hilfeseite ssh_config (5) für die Konfiguration an (oder verwenden Sie einfach 'ssh' mit dem Parameter '-X'). Soweit ich weiß, funktioniert dies nur mit X11-Programmen (gvim, xemacs, etc.), da der Editor tatsächlich auf dem Host läuft, mit dem Sie sich verbinden - nur die Anzeige geschieht auf Ihrem lokalen Rechner. Daher ist TextWrangler keine Option, da es kein X11-Programm ist.

Ich benutze Interarchy (von nolobe) für die Remote-Bearbeitung. Es ist ein ziemlich fortgeschrittener FTP / SFTP-Client, der Ihnen eine Finder-ähnliche Ansicht Ihrer Remote-Dateien bietet und Ihnen erlaubt, Ihren Lieblings-Editor zu verwenden, um an diesen Dateien zu arbeiten.

Wenn Sie nicht für solch ein Programm bezahlen möchten, gibt es ein Open-Source-Programm namens "Fugu" von der Universität von Michigan, das Sie auch verwenden können.

    
Kai Bäsler 08.09.2009 18:58
quelle
0

FileZilla bietet diese Funktionalität ebenfalls an. Sie können es hier herunterladen . Sobald Sie sich mit Ihrem sftp verbunden haben, können Sie mit der rechten Maustaste auf die Textdatei klicken und sie mit dem Texteditor Ihrer Wahl öffnen.

    
PGilbert 01.09.2015 22:56
quelle
0
___ answer4919234 ___

Ich wollte eigentlich dasselbe machen, und niemand hat es aufgeschrieben, also habe ich das heute herausgefunden.

Es gibt 2 erforderliche und 3 optionale Teile:

  1. Aktivieren Sie ssh login auf beiden Computern (erforderlich)
  2. Richten Sie einen SSH-Tunnel vom Remote-Rechner zu Ihrem Rechner ein (erforderlich)
  3. Richten Sie einen Alias ​​für den SSH-Tunnel ein (optional)
  4. Richten Sie auf dem Remote-Computer (optional) einen Alias ​​für TextWrangler ein
  5. Richten Sie SSH-Schlüssel ein, damit Sie nicht jedes Mal Ihr Passwort eingeben müssen (optional)

Sie müssen in der Lage sein, ssh von lokal nach remote auszuführen, um die Befehle auszuführen, und Sie müssen in der Lage sein, ssh von remote zu lokal zu senden, damit Befehle an TextWrangler gesendet werden können.

Um den SSH-Tunnel einzurichten, müssen Sie einen Befehl auf Ihrem lokalen Rechner ausführen wie:

%Vor%

Die Flags -f und -N setzen ssh in den Hintergrund und lassen Sie auf Ihrem Rechner. Das Flag -R bindet einen Port auf dem Remotecomputer an einen Port auf Ihrem lokalen Computer. Alles, was die entfernte Maschine an Port 10022 kontaktiert, wird an Port 22 Ihres lokalen Computers gesendet. Der Remote-Port kann alles sein, was Sie wollen, aber Sie sollten einen Port & gt; 1024 um Konflikte zu vermeiden und du musst nicht root sein. Ich habe 10022 gewählt, weil es dem Standardanschluss von ssh von 22 ähnelt. Ersetzen Sie die Klammern durch Ihren Benutzernamen und den Computernamen.

Sie müssen das nach der Anmeldung einmal ausführen. Um den Befehl für Sie einfacher zu machen, können Sie in Ihrem Bash-Profil einen Alias ​​hinzufügen. Fügen Sie Ihrem lokalen osascript <<EOF tell application "TextWrangler" activate open location {""} end tell EOF Folgendes hinzu:

%Vor%

Natürlich können Sie den gewünschten Aliasnamen auswählen.

Sobald Sie den Tunnel eingerichtet haben, können Sie einen Befehl wie diesen auf dem entfernten Rechner verwenden:

%Vor%

Das Flag -p gibt an, Port 10022 zu verwenden (oder den Port, den Sie zuvor gewählt haben). Dies führt dazu, dass der Remote-Computer eine Verbindung zu Ihrem lokalen Computer herstellt und den Befehl in Anführungszeichen ausführt, ohne eine interaktive SSH-Sitzung zu öffnen. Der Befehl in den Anführungszeichen ist der Befehl, den Sie auf Ihrem lokalen Computer ausführen würden, um die Remote-Datei in TextWrangler zu öffnen.

Um den Befehl für Sie einfacher zu machen, können Sie eine Funktion in Ihrem Bash-Profil hinzufügen. Fügen Sie Ihrem Remote bind '"\et":"sh ~/bin/textwrangler.sh \"sftp://myusername:@my.server:22222/\""' Folgendes hinzu:

%Vor%

Dies setzt voraus, dass die TextWrangler-Befehlszeilentools nicht auf dem Remotecomputer installiert sind. Wenn Sie dies tun, sollten Sie die Funktion etwas anderes als Alt-t nennen. Zum Beispiel %code% . Hier betrachtet %code% das erste Zeichen des ersten Parameters der Funktion, was der Dateipfad sein sollte. Wenn es nicht mit %code% beginnt, ermitteln wir den absoluten Pfad, indem wir das aktuelle Arbeitsverzeichnis ( %code% ) am Anfang hinzufügen. Wenn Sie sich jetzt auf dem Remotecomputer in %code% befinden und %code% ausführen, wird Folgendes auf Ihrem lokalen Computer ausgeführt:

%Vor%

Schließlich sollten Sie die ssh-Tasten in beide Richtungen einrichten, damit Sie nicht jedes Mal zur Eingabe eines Passworts aufgefordert werden. Hier ist eine Anleitung, die jemand anderes geschrieben hat: Ссылка

    
___ qstnhdr ___ Öffnen einer Remote-Datei mit TextWrangler ___ answer1395714 ___

Ich denke, was Sie meinen, heißt "X11 Forwarding" über ssh. Sehen Sie sich die Hilfeseite ssh_config (5) für die Konfiguration an (oder verwenden Sie einfach 'ssh' mit dem Parameter '-X'). Soweit ich weiß, funktioniert dies nur mit X11-Programmen (gvim, xemacs, etc.), da der Editor tatsächlich auf dem Host läuft, mit dem Sie sich verbinden - nur die Anzeige geschieht auf Ihrem lokalen Rechner. Daher ist TextWrangler keine Option, da es kein X11-Programm ist.

Ich benutze Interarchy (von nolobe) für die Remote-Bearbeitung. Es ist ein ziemlich fortgeschrittener FTP / SFTP-Client, der Ihnen eine Finder-ähnliche Ansicht Ihrer Remote-Dateien bietet und Ihnen erlaubt, Ihren Lieblings-Editor zu verwenden, um an diesen Dateien zu arbeiten.

Wenn Sie nicht für solch ein Programm bezahlen möchten, gibt es ein Open-Source-Programm namens "Fugu" von der Universität von Michigan, das Sie auch verwenden können.

    
___ answer1411343 ___

Persönlich benutze ich Cyberduck als meinen S / FTP-Browser. In den Einstellungen von Cyberduck können Sie einen Standardtext-Editor definieren, um entfernte Dateien zu bearbeiten. Jetzt kann ich einfach Cmd + K drücken, wenn ich eine Datei ausgewählt habe, und sie wird in TextWrangler geöffnet. Beim Speichern werden die Änderungen automatisch in die Remote-Datei übertragen.

    
___ qstntxt ___

Meine aktuelle Lösung zum Bearbeiten von Dateien auf einem Remote-Webserver besteht darin, Fetch zu verwenden, um den Remote-Computer zu durchsuchen, und TextWrangler, um die Änderungen vorzunehmen. Aber da ich mich beim Navigieren auf der Kommandozeile auf dem entfernten Rechner wohler fühle (aber nicht komfortabel genug, um VIM zu benutzen ...), würde ich gerne etwas wie 'open filename.txt' auf dem entfernten Rechner eingeben können und habe TextWrangler auf meinem lokalen Rechner geöffnet. Ich habe den Begriff "Reverse Tunneling" als Option gehört, aber ich habe keine Ahnung, was ich als nächstes tun soll. Alle Vorschläge werden sehr geschätzt - danke!

    
___ answer32342136 ___

FileZilla bietet diese Funktionalität ebenfalls an. Sie können es hier herunterladen . Sobald Sie sich mit Ihrem sftp verbunden haben, können Sie mit der rechten Maustaste auf die Textdatei klicken und sie mit dem Texteditor Ihrer Wahl öffnen.

    
___ answer13375260 ___

Ich glaube nicht, dass dies das Öffnen von der Kommandozeile erlaubt, aber

Eclipse mit Remote-System -Explorer unterstützt auch die Bearbeitung von Dateien via SSH-Verbindung

    
___ tag123terminal ___ Eine Terminal- oder Befehlszeilenschnittstelle ist eine reine Textschnittstelle für die Interaktion mit einem Betriebssystem oder einer Software. Ein Benutzer gibt typischerweise Befehle in das Terminal ein, um bestimmte Aufgaben auszuführen. ___ antwort43335890 ___

Minimale Antwort

Sie können Applescript verwenden. Also von der Kommandozeile aus:

%Vor%

Hinweise

  1. Offensichtlich würden Sie kein Here-Dokument bei jedem Aufruf eingeben wollen, also würde ich vorschlagen, diese Logik in ein normales Shell-Skript zu schreiben: %Code%

Rufen Sie das Skript dann so auf:

%Vor%
  1. Die Angabe eines hostqualifizierten Pfads kann jedes Mal mühsam werden, also entweder den Code in Ihrem Skript festschreiben oder den Skriptaufruf an einen Tastaturbefehl über Ihre Shell binden. Für bash: %Code% Jetzt generieren Sie den Großteil des Befehls durch Drücken von %code%
___ tag123textwrangler ___ TextWrangler ist der "kleine Bruder" von BBEdit, einem professionellen HTML- und Texteditor für den Macintosh. ___
Sridhar-Sarnobat 11.04.2017 02:38
quelle

Tags und Links