2017-09-21 1 views
0

J'utilise emacs ess et tramp pour exécuter à distance un script R. J'ai généralement un script R sur un serveur, et je l'exécute de manière interactive sur mon serveur, via emacs. Ce travail tout bien et bien.Passage de l'argument -X pour ssh avec emacs et tramp

Cependant, je n'arrive pas à faire apparaître les fenêtres de tracé de mon script R. Je voudrais obtenir de emacs le même comportement que si je courais ssh -X [email protected]
et puis faire un peu de R interactivement, avec intrigue apparaissant sur ma machine locale.

J'ai modifié mon .ssh/config pour ajouter l'option ForwardX11 yes qui fonctionne pour une requête ssh directe sur mon sever mais pas avec emacs/atout

J'ai aussi essayé la possibilité de personnaliser clochard-default- mode` (voir https://superuser.com/questions/609414/emacs-doesnt-use-ssh-config-when-accessing-files-on-a-remote-machine) mais cela ne marche pas non plus.

Je suis également venu sur cette question très similaire: How can I launch an x-window from emacs ess when running R on a server?

Cependant:

1) La réponse acceptée n'est pas une réponse directe au problème forwardX

2) La deuxième réponse est non travailler (suis-je en train de faire quelque chose de mal? ou de manquer une configuration quelque part?)

Merci pour votre aide,


modifier J'utilise Emacs 23.1.1 sur une Ubuntu 16,04

Répondre

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)) 

Ceci est juste une copie de la méthode "ssh", avec le "-X" ajouté à vagabonder-login-args. Ensuite, vous pouvez visiter un fichier/répertoire avec C-x C-f /sshx11:[email protected]:path/to/target.

+0

Salut, merci pour la réponse. Malheureusement, cela ne fonctionne pas. Juste pour être sûr, j'ai ajouté ces commandes dans '.emacs', ouvrez un nouveau document avec/sshx11: utilisateur @ hôte: chemin/vers/cible a commencé mon script R et a fait un simple intrigue. Rien ne s'est passé. J'ai donc ajouté '' -X ''dans' tramp-login-args'. J'ai alors vérifié que cette ligne de commande ssh est utilisée en regardant le tampon et c'est ok. Mais mon intrigue n'apparaît toujours pas dans ma session R/tramp. Peut-il y avoir un problème dans la configuration de mes emacs ou du serveur? –

+0

Comme il semble que mon problème peut être spécifique à la configuration de mon ordinateur, si d'autres peuvent confirmer que cette solution a résolu leur problème, je suis heureux de le valider comme une réponse générale au problème général. Bien que je ne puisse pas vérifier moi-même je préfère attendre une confirmation –

+0

Oups, j'ai collé la mauvaise chose. C'est corrigé maintenant. – jpkotta