From: Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai ) - 2002-04-12 16:00:49
Ulrich tries to use Tramp with krlogin. There are users u1 and u2
and a remote host foo.
(start-process "p1" (get-buffer-create "p1")
"krlogin" "foo" "-l" "u1" "-x")
(start-process "p2" (get-buffer-create "p2")
"krlogin" "foo" "-l" "u2" "-x")
These two statements create two processes which are very similar,
except that p1 is logged in as user u1, and p2 is logged in as user
u1's login shell is tcsh, and when sending "stty -a\n" to the process
p1, one sees "-inlcr" and "icrnl". This means both "\n" and "\r" can
be used as command terminators, and the tcsh will see "\n" and
happily execute the command.
u2's login shell is /bin/sh, and when sending "stty -a\r" (\r!) to
the process p2, one sees "inlcr". (Not sure whether it's "icrnl" or
"-icrnl" -- Uli?) This means that "\r" needs to be used as a command
terminator, if you send "stty -a\n", then the remote shell will say
that "-a^M" is an unknown option (or something like this).
Is there any way that Tramp could find out what the remote end
expects? Or is there a way that Tramp could start krlogin in a
different way such that both users will see the same tty settings?
Maybe it would also help if someone showed me the connections between
Emacs and the krlogin process and the shell and the terminal.
It's amazing that this hasn't come up before.
PS: Uli, maybe u2 has an invocation of stty in some shell startup
Silence is foo!
>>>>> "Kai" =3D=3D Kai Gro=DFjohann <Kai.Grossjohann@...> wr=
Kai> u2's login shell is /bin/sh, and when sending "stty -a\r" (\r!) to
Kai> the process p2, one sees "inlcr". (Not sure whether it's "icrnl" =
Kai> "-icrnl" -- Uli?)
| stty -a
| speed 9600 baud; ... inlcr -igncr icrnl ...
Kai> PS: Uli, maybe u2 has an invocation of stty in some shell startup
| $ grep stty /etc/profile .[a-z]* || echo nope
I cannot write ~/.profile or similar - in case you wonder.