4 Stimmen

Ist es möglich, dass Emacs eine Matlab-Shell ausführt, die sich auf einem entfernten Server befindet?

Ich würde gerne den Matlab-Modus (matlab.el) verwenden, um eine Matlab-Shell zu starten. Das einzige Problem ist, dass sich Matlab auf einem entfernten Rechner befindet. Ist dies überhaupt möglich? Wenn ja, bitte erklären. Ich spiele gerade mit tramp herum, aber ohne Erfolg.

Gracias.

0 Stimmen

Vielen Dank für die Antworten. Ich werde diese Lösungsvorschläge ausprobieren.

0 Stimmen

Läuft emacs lokal und matlab remote? wenn das der Fall ist, brauchen Sie tramp nicht, siehe Antwort unten

5voto

second Punkte 26650

Ich habe gerade versucht, den Emacs-Matlab-Modus über ssh zu verwenden, kein Problem

Ich musste ein Skript erstellen, das Matlab lädt, ich konnte nicht einfach den Befehl in matlab.el angeben

also:

/home/second/remoteMatlab:

#!/bin/bash
ssh orac matlab -nodisplay

wobei orac der host ist, auf dem matlab läuft. hier können sie befehle an ssh weitergeben. ich verwende ssh config und key authentication, daher brauche ich hier nur den hostnamen

in matlab.el, finden Sie

    (defcustom matlab-shell-command 

und auf z.B.

(defcustom matlab-shell-command "/home/second/remoteMatlab"

0 Stimmen

Ich habe Ihre Lösung ausprobiert. Die Bash-Datei funktioniert, aber wenn ich versuche, Matlab über das Menü zu verwenden. Ich sehe, dass versucht wird, Matlab zu starten und nicht den angegebenen Pfad.

1voto

jrockway Punkte 40754

Ich bin mir nicht zu 100 % sicher, was Sie tun, aber das scheint möglich zu sein. Wenn Sie Tramp (oder sshfs, meine persönliche Wahl) verwenden, um ein Skript auf einem zu bearbeiten, können Sie es auch auf dem entfernten Rechner ausführen. Wenn haben Sie eine *shell* Puffer geöffnet ist, kann er einfach per SSH mit der entfernten Gegenstelle verbunden werden. Rechner. Wenn Sie etwas REPL-ähnliches machen, bei dem Emacs Eingaben an diesen Puffer sendet, der über ssh mit einem Prozess verbunden ist, sollte es trotzdem funktionieren. Wenn er mit einem entfernten Prozess über ein Socket kommuniziert, können Sie können Sie ssh-Weiterleitung verwenden, um den Socket lokal erscheinen zu lassen.

Wie auch immer, es gibt keinen großen Unterschied zwischen lokal und fern, also sollte dies alles klappen.

Und schließlich, um der (GNU-)Parteilinie zu folgen... haben Sie es mit Octave versucht, das lokal läuft?

1voto

TNT Punkte 2301

@Yotham : Ich kann noch nicht auf frühere Antworten eingehen, aber Ihr Problem (Skript funktioniert, malab-shell-Befehl in emacs nicht) könnte darauf zurückzuführen sein, dass Sie Ihre Datei matlab.elc nicht gelöscht/umbenannt haben?

Auf diese Weise erfährt emacs nie von der Änderung, da er aus Geschwindigkeitsgründen .elc-Dateien gegenüber .el-Dateien bevorzugt.

Das gleiche Problem wurde bei mir gelöst.

Prost tnt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X