tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tramp mosh method


From: Ted Zlatanov
Subject: Re: Tramp mosh method
Date: Tue, 24 Apr 2012 08:17:23 -0400
User-agent: Gnus/5.130004 (Ma Gnus v0.4) Emacs/24.1.50 (gnu/linux)

On Mon, 23 Apr 2012 15:00:17 +0200 Michael Albinus <address@hidden> wrote: 

>> I tried adding this to my setup but the `mosh' method complains any host
>> is not remote.  Could you advise?  Is it the removal of the "-p" command
>> so there is no %p in the login args?

MA> The removal of the "p" arg shouldn't harm.

MA> During my test, mosh blamed me that I don't use UTF-8 encoding. So I've
MA> changed your settings to

MA> (add-to-list
MA>  'tramp-methods
MA>  '("mosh"
MA>    (tramp-login-program "env LC_ALL=en_US.UTF-8 /usr/bin/mosh")
MA>    (tramp-login-args (("address@hidden")))
MA>    (tramp-async-args (()))
MA>    (tramp-remote-shell "/bin/sh")
MA>    (tramp-remote-shell-args ("-c"))
MA>    (tramp-gw-args ())
MA>    (tramp-default-port 22)))

With this exact `add-to-list' call, I still get the "host is not remote" error:

Debugger entered--Lisp error: (file-error "Host `anyhost' looks like a remote 
host, `mosh' can only use the local host")
  signal(file-error ("Host `anyhost' looks like a remote host, `mosh' can only 
use the local host"))
  (cond ((and completion (zerop (length localname)) (memq operation (quote 
(file-exists-p file-directory-p)))) t) ((and completion (zerop (length 
localname)) (memq operation (quote (expand-file-name file-name-as-directory)))) 
filename) (t (signal (car err) (cdr err))))
  (condition-case err (let ((sf (symbol-function foreign))) (when (and (listp 
sf) (eq (car sf) (quote autoload))) (let ((default-directory 
(tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) 
(quote nomessage)))) (apply foreign operation args)) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
operation %s" (append (list operation) args))) (signal (car err) (cdr err))) 
(error (cond ((and completion (zerop (length localname)) (memq operation (quote 
(file-exists-p file-directory-p)))) t) ((and completion (zerop (length 
localname)) (memq operation (quote (expand-file-name file-name-as-directory)))) 
filename) (t (signal (car err) (cdr err))))))
  (if foreign (condition-case err (let ((sf (symbol-function foreign))) (when 
(and (listp sf) (eq (car sf) (quote autoload))) (let ((default-directory 
(tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) 
(quote nomessage)))) (apply foreign operation args)) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
operation %s" (append (list operation) args))) (signal (car err) (cdr err))) 
(error (cond ((and completion (zerop (length localname)) (memq operation (quote 
...))) t) ((and completion (zerop (length localname)) (memq operation (quote 
...))) filename) (t (signal (car err) (cdr err)))))) (tramp-run-real-handler 
operation args))
  (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method 
v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname 
(tramp-file-name-localname v))) (if foreign (condition-case err (let ((sf 
(symbol-function foreign))) (when (and (listp sf) (eq (car sf) (quote 
autoload))) (let ((default-directory ...)) (load (cadr sf) (quote noerror) 
(quote nomessage)))) (apply foreign operation args)) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
operation %s" (append (list operation) args))) (signal (car err) (cdr err))) 
(error (cond ((and completion (zerop ...) (memq operation ...)) t) ((and 
completion (zerop ...) (memq operation ...)) filename) (t (signal (car err) 
(cdr err)))))) (tramp-run-real-handler operation args)))
  (with-parsed-tramp-file-name filename nil (if foreign (condition-case err 
(let ((sf (symbol-function foreign))) (when (and (listp sf) (eq (car sf) (quote 
autoload))) (let ((default-directory ...)) (load (cadr sf) (quote noerror) 
(quote nomessage)))) (apply foreign operation args)) ((debug quit) (let 
(tramp-message-show-message) (tramp-message v 1 "Interrupt received in 
operation %s" (append (list operation) args))) (signal (car err) (cdr err))) 
(error (cond ((and completion (zerop ...) (memq operation ...)) t) ((and 
completion (zerop ...) (memq operation ...)) filename) (t (signal (car err) 
(cdr err)))))) (tramp-run-real-handler operation args)))
  (let* ((filename (tramp-replace-environment-variables (apply (quote 
tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (with-parsed-tramp-file-name filename nil (if foreign 
(condition-case err (let ((sf (symbol-function foreign))) (when (and (listp sf) 
(eq ... ...)) (let (...) (load ... ... ...))) (apply foreign operation args)) 
((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt 
received in operation %s" (append ... args))) (signal (car err) (cdr err))) 
(error (cond ((and completion ... ...) t) ((and completion ... ...) filename) 
(t (signal ... ...))))) (tramp-run-real-handler operation args))))
  (progn (let* ((filename (tramp-replace-environment-variables (apply (quote 
tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (with-parsed-tramp-file-name filename nil (if foreign 
(condition-case err (let ((sf ...)) (when (and ... ...) (let ... ...)) (apply 
foreign operation args)) ((debug quit) (let (tramp-message-show-message) 
(tramp-message v 1 "Interrupt received in operation %s" ...)) (signal (car err) 
(cdr err))) (error (cond (... t) (... filename) (t ...)))) 
(tramp-run-real-handler operation args)))))
  (unwind-protect (progn (let* ((filename (tramp-replace-environment-variables 
(apply (quote tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (with-parsed-tramp-file-name filename nil (if foreign 
(condition-case err (let (...) (when ... ...) (apply foreign operation args)) 
((debug quit) (let ... ...) (signal ... ...)) (error (cond ... ... ...))) 
(tramp-run-real-handler operation args))))) (set-match-data 
save-match-data-internal (quote evaporate)))
  (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let* 
((filename (tramp-replace-environment-variables (apply ... operation args))) 
(completion (tramp-completion-mode-p)) (foreign 
(tramp-find-foreign-file-name-handler filename))) (with-parsed-tramp-file-name 
filename nil (if foreign (condition-case err (let ... ... ...) (... ... ...) 
(error ...)) (tramp-run-real-handler operation args))))) (set-match-data 
save-match-data-internal (quote evaporate))))
  (save-match-data (let* ((filename (tramp-replace-environment-variables (apply 
(quote tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (with-parsed-tramp-file-name filename nil (if foreign 
(condition-case err (let ((sf ...)) (when (and ... ...) (let ... ...)) (apply 
foreign operation args)) ((debug quit) (let (tramp-message-show-message) 
(tramp-message v 1 "Interrupt received in operation %s" ...)) (signal (car err) 
(cdr err))) (error (cond (... t) (... filename) (t ...)))) 
(tramp-run-real-handler operation args)))))
  (if tramp-mode (save-match-data (let* ((filename 
(tramp-replace-environment-variables (apply (quote 
tramp-file-name-for-operation) operation args))) (completion 
(tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler 
filename))) (with-parsed-tramp-file-name filename nil (if foreign 
(condition-case err (let (...) (when ... ...) (apply foreign operation args)) 
((debug quit) (let ... ...) (signal ... ...)) (error (cond ... ... ...))) 
(tramp-run-real-handler operation args))))) (tramp-run-real-handler operation 
args))
  tramp-file-name-handler(file-directory-p "/mosh:anyhost:/home/tzz")
  file-directory-p("/mosh:anyhost:/home/tzz")
  find-file-noselect("/mosh:anyhost:/home/tzz" nil nil t)
  find-file("/mosh:anyhost:/home/tzz" t)

Is it something I should debug?

MA> Likely, tramp-async-args and tramp-gw-args are not needed. Then there
MA> was still an error when calling mosh from Tramp:

MA> mosh-server: terminalframebuffer.cc:54:
MA> Terminal::Framebuffer::Framebuffer(int,\
MA>  int): Assertion `s_height > 0' failed.^M
MA> Abort (core dumped)^M
MA> Connection to localhost closed.^M^M
MA> /usr/bin/mosh: Did not find mosh server startup message.

MA> I have no idea what to set in order to satisfy this assertion.

I tried setting LINES and COLUMNS in the usual Unix way but the error
above blocks me from testing it.

Ted




reply via email to

[Prev in Thread] Current Thread [Next in Thread]