I use tramp-shell for ssh
to another machine. Setup as follows:
(defun spawn-shell (name)
"Invoke shell test"
(interactive "MName of shell buffer to create: ")
(pop-to-buffer (get-buffer-create name))
(shell (current-buffer))
)
(defun ssh-shell-impl (host)
(let ((host-name (ssh-username host)))
(let ((ssh-home-path (concat (concat (concat "/ssh:" host) ":/home/") host-name)))
(let ((default-directory ssh-home-path))
(find-file ssh-home-path)
(let ((shell-name (if (get-buffer "shell") (concat host-name "-shell") "shell")))
(spawn-shell shell-name)
)
)
)
)
)
(defun ssh-shell ()
(interactive)
(let ((host (read-string "Enter Host: ")))
(ssh-shell-impl host)
)
)
This works perfectly for everything except commands where the output amount is suppose to be interactive (think man tail
). Instead of outputting a portion and prompting to exit/more lines, the entire content is dumped.
Is there a way to get the interactive output on tramp-shell?
Emacs version info:
GNU Emacs 27.1