2017-09-21 1 views
0

Ich benutze Emacs Ess und Tramp, um Remote-Ausführung einige R-Skript. Ich habe normalerweise ein R-Skript auf einem Server, und ich führe es interaktiv auf meinem Server durch Emacs. Das funktioniert alles gut und gut.Passing-X Argument für ssh mit Emacs und Tramp

Allerdings kann ich nicht erreichen, dass die Plot-Fenster von meinem R-Skript erscheint. Ich möchte von Emacs das gleiche Verhalten erhalten, dass, wenn ich lief ssh -X [email protected]
und dann einige R interaktiv, mit Plot auf meinem lokalen Rechner erscheinen.

Ich habe meine .ssh/config geändert, um die ForwardX11 yes Option hinzufügen, die für eine direkte ssh Abfrage auf meinem Sever funktioniert aber nicht mit Emacs/Trumpf

Ich habe auch die Möglichkeit, versuchte Tramp-Default- anpassen Modus (siehe https://superuser.com/questions/609414/emacs-doesnt-use-ssh-config-when-accessing-files-on-a-remote-machine), aber das funktioniert auch nicht.

Ich kam auch in diese sehr ähnlichen Frage: How can I launch an x-window from emacs ess when running R on a server?

jedoch:

1) Die akzeptierte Antwort auf das forwardX Problem nicht eine direkte Antwort ist

2) Die zweite Antwort ist nicht arbeiten (mache ich etwas falsch? oder fehlt eine Konfiguration irgendwo?)

Vielen Dank für Ihre Hilfe,


bearbeiten Ich benutze Emacs 23.1.1 auf einem Ubuntu 16,04

Antwort

0
(with-eval-after-load 'tramp 
    (add-to-list 'tramp-methods 
       '("sshx11" 
       (tramp-login-program  "ssh") 
       (tramp-login-args   (("-l" "%u") ("-p" "%p") ("%c") 
               ("-e" "none") ("-X") ("%h"))) 
       (tramp-async-args   (("-q"))) 
       (tramp-remote-shell   "/bin/sh") 
       (tramp-remote-shell-login ("-l")) 
       (tramp-remote-shell-args ("-c")) 
       (tramp-gw-args    (("-o" "GlobalKnownHostsFile=/dev/null") 
               ("-o" "UserKnownHostsFile=/dev/null") 
               ("-o" "StrictHostKeyChecking=no") 
               ("-o" "ForwardX11=yes"))) 
       (tramp-default-port   22))) 
    (tramp-set-completion-function "sshx11" tramp-completion-function-alist-ssh)) 

Dies ist nur eine Kopie der "ssh" Methode, mit der "-X" hinzugefügt tramp-Login-args. Dann können Sie eine Datei/Verzeichnis mit C-x C-f /sshx11:[email protected]:path/to/target besuchen.

+0

Hallo, danke für die Antwort. Leider funktioniert es nicht. Nur um sicher zu sein, fügte ich diese Befehle in '.emacs' hinzu, öffne ein neues Dokument mit/sshx11: user @ host: path/to/target hat mein R-Skript gestartet und ein einfaches Plot erstellt. Nichts ist passiert. Also habe ich auch '" -X "' in 'tramp-login-args' hinzugefügt. Ich habe dann tatsächlich überprüft, diese ssh-Befehlszeile wird verwendet, um den Puffer zu betrachten, und es ist in Ordnung. Aber meine Handlung erscheint immer noch nicht in meiner R/Tramp-Sitzung. Könnte es ein Problem bei der Konfiguration meiner Emacs oder des Servers geben? –

+0

Da es scheint, dass mein Problem spezifisch für meine Computerkonfiguration ist, wenn andere bestätigen können, dass diese Lösung ihr Problem gelöst hat, bin ich glücklich, es als allgemeine Antwort auf das allgemeine Problem zu validieren. Obwohl ich mich selbst nicht überprüfen kann, warte ich lieber auf eine Bestätigung –

+0

Hoppla, ich habe das falsche Ding eingefügt. Es ist jetzt behoben. – jpkotta

Verwandte Themen