I know that I can add commands to eshell-visual-commands to for example make it so when I run "top" it runs in a temporary ansi-term buffer instead of the eshell buffer, so that programs that rely on complex terminal stuff work seamlessly with eshell.
But I'd like them to work when using eshell's tramp integration too. So I can cd to another machine with:
cd /ssh:myuser@myhost:/
Which then takes me to that machine, ls shows the right files, and everything working nice as long as I don't use a visual command. But as soon as I try to run top there I get a term buffer that's empty except for this output:
..: 1: exec: /ssh:myuser@myhost:/usr/bin/top: not found
I have verified /usr/bin/top exists on the machine, and that this happens even when using emacs -Q
so I think the issue is just that eshell-visual-commands assumes that whatever it gets back from running "which top" is what it should run in a term buffer, not understanding that that term buffer first needs to be ssh'd into the other machine. Has anybody else tackled making this work?