Zuerst starte ich eshell und gebe dann den Befehl cd /plink:<user>@<host>:/home/
dann bekomme ich diese Fehlermeldung
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Konzern. Alle Rechte vorbehalten.
Die Eingabeaufforderung wurde von Ihrem Administrator deaktiviert.
Drücken Sie eine beliebige Taste, um fortzufahren. . .
Ich versuche eine Verbindung mit plink herzustellen (was in meinem Pfad ist), auch nachdem ich den * Nachrichten * -Puffer durchgegangen bin, den ich gefunden habe.
Die lokale Shell-Eingabeaufforderung für (C: \ Windows \ system32 \ cmd.exe)
konnte nicht gefunden werden
Ich bin 90% sicher, dass dies, weil die cmd auf meinem Rechner deaktiviert wurde, weil, wenn ich das gleiche Setup auf einem anderen Computer versuchen, wo ich weiß, dass die cmd aktiviert ist, alles funktioniert.
Ich habe meine .emacs
Datei geändert, um
ich unterschiedliche Ergebnisse erhalten, aber die Ergebnisse Unsinn zu sein scheinen verschlüsselten (die dritte Zeile sieht aus wie es eine Aufforderung sein könnte, das \
und >
Zeichen sind an den richtigen Stellen ...).
ich es geschafft, eine ziemlich gute Beschreibung zu graben, was tramp-encoding-shell
beträgt, gibt es auch eine ähnliche Frage SO, und hier ist die tramp-encoding-shell
source/documentation auf github.
Aktualisieren
Hier ist, was mein Bildschirm sieht aus wie nach einer Plink Verbindung mit Powershell eingestellt als Vagabund-encoding-Shell erfolglos zu öffnen versuchen.
Also ich weiß TRAMP nicht, aber die Erklärung dessen, was Sie erhalten, ist, dass Windows PowerShell Sie Unicode (UTF16) zurücksenden, jedes Zeichen ist 16 Bits in diesem Fall der Buchstabe eine Null, plus die Tatsache, dass das Ende der Zeile ist Wagenrücklauf / Zeilenvorschub (0xa, Oxd).
Nun zu "emacs konnte keine lokale Shell-Eingabeaufforderung für PowerShell finden" Fehler gemäß der TRAMP-Dokumentation < Der Rat von Michael Albinus scheint vielversprechend zu sein.
6.4.2 Shell auf einem Remote-Host ausführen
Durch Aufruf der M-x-Shell in einem Puffer, der sich auf einen Remote-Host bezieht, wird die lokale Shell wie in shell-file-name
definiert ausgeführt. Dies kann auch ein gültiger Dateiname für eine Shell sein, die auf dem Remote-Host angewendet werden soll, aber es wird zumindest dann fehlschlagen, wenn Ihr lokaler und Remote-Host verschiedenen Systemtypen angehören, wie 'windows-nt' und 'gnu / linux'.
Sie müssen die Variable explicit-shell-file-name
auf den Shell-Dateinamen auf dem Remote-Host setzen, um diese Shell auf dem Remote-Host zu starten.
6.4.6 Ausführen von Remote-Prozessen auf Windows-Hosts Mit Hilfe des winexe ist es möglich, Prozesse auf einem entfernten Windows-Host auszuführen. TRAMP hat dies für Prozess-Datei und Start-Datei-Prozess implementiert.
Das variable tramp-smb-winexe-Programm muss den Dateinamen Ihres lokalen winexe-Befehls enthalten. Auf dem Remote-Host muss Powershell V2.0 installiert sein. Es wird verwendet, um den Remote-Prozess auszuführen.
Um eine entfernte Shell auf dem Windows-Host über die M-x-Shell zu öffnen, müssen Sie die Variablen explicit-shell-file-name und explicit - * - args setzen. Wenn Sie beispielsweise cmd ausführen möchten, müssen Sie Folgendes festlegen:
%Vor%Wenn Powershell als Remote Shell ausgeführt wird, sind die Einstellungen
%Vor%Tags und Links windows emacs powershell tramp plink