2009-07-15 4 views
4

Ich möchte Matlab-Modus (Matlab.el) verwenden, um eine Matlab-Shell auszuführen. Das einzige Problem ist, dass sich Matlab auf einem Remote-Host befindet. Ist das überhaupt möglich? Wenn ja, bitte erläutern. Ich spiele gerade mit Tramp, aber ohne Erfolg.Ist es möglich, dass Emacs eine Matlab-Shell ausführt, die sich auf einem Remote-Server befindet?

Danke.

+0

Danke für die Antworten. Ich werde diese vorgeschlagene Lösung ausprobieren. – aduric

+0

ist Emacs lokal und Matlab remote ausgeführt? wenn das der Fall ist, keine Notwendigkeit für Tramp, siehe Antwort unter – second

Antwort

5

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

hatte ein Skript, das Matlab lädt, den Befehl geben konnte nicht einfach in matlab.el

so:

/home/Sekunde/remoteMatlab:

#!/bin/bash 
ssh orac matlab -nodisplay 

wo orac der Wirt, der Matlab hat, ist. Sie können hier Befehle an ssh übergeben. Ich verwende ssh config und Key-Authentifizierung so müssen nur den Hostnamen hier

in matlab.el,

(defcustom matlab-shell-command 

und stellen Sie finden

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

Ich habe Ihre Lösung versucht. Die Bash-Datei funktioniert aber wenn ich versuche Matlab über das Menü zu benutzen. Ich sehe es versucht, Matlab und nicht den angegebenen Pfad zu laufen " – Yotam

1

Ich bin nicht 100% sicher, was Sie tun, aber das scheint möglich. Wenn Sie Tramp (oder sshfs, meine persönliche Wahl) verwenden, um ein Skript auf einem Remote-Computer zu bearbeiten, können Sie es auf diesem Remote-Computer ausführen. Wenn Sie einen *shell* Puffer geöffnet haben, kann es leicht zu diesem Remote Gerät ssh'd werden. Wenn Sie etwas REPL-ähnliches tun, wo Emacs die Eingabe an diesen Puffer sendet, der über ssh mit einem Prozess verbunden ist, sollte es immer noch funktionieren. Wenn es mit einem Remote-Prozess über einen Socket kommuniziert, können Sie ssh-Weiterleitung verwenden, um das Socket als lokal erscheinen zu lassen.

Wie auch immer, es gibt nicht viel Abstand zwischen lokalen und Remote, so sollte dies alles funktionieren.

Endlich, um der (GNU) Parteilinie zu folgen ... haben Sie versucht Octave lokal laufen zu lassen?

1

@Yotham auf ein Beispiel: Ich kann noch nicht kommentieren auf früheren Antworten, aber Ihr Problem (Script arbeiten, Malab-Shell-Befehl in Emacs nicht) möglicherweise aufgrund der Tatsache, dass Sie nicht Ihre Matlab.elc Datei löschen/umbenennen?

Auf diese Weise erfährt Emacs nie von der Änderung, da es .elc über .el-Dateien für Geschwindigkeit bevorzugt.

Das gleiche Problem für mich gelöst.

prost tnt

Verwandte Themen