Red Hat Bugzilla – Bug 77070
backspace does not work, but only in vim
Last modified: 2007-04-18 12:48:04 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.6 (X11; Linux i686; U;) Gecko/20020830
Description of problem:
If a user is set to tcsh as their default shell, and they start a vnc session,
and then within the vnc session use vim, within vim the backspace doesn't work,
and instead yeilds "^?". The delete key does however work.
Out side of vim, backspace works perfectly fine. It works in netscape, the
command line, whatever. Its just within vim that it doesn't work.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Set an account to have tcsh as their default shell
2. log in to that account, and start a vnc session
3. use vncviewer to view that session
4. start vim
5. hit the backspace key
Actual Results: hitting the backspace key outputs ^? to the screen. Hitting
the delete key (which should be ^?) actually works correctly - it deletes
characters to the right.
Expected Results: hitting the delete key should delete the character to the
left, not give a ^?
This problem occurs in all the systems here that are running the 7.x series. I
have tried server things, and don't have a clue why it is behaving this way.
This *only* happens with the combination of tcsh as the default shell, and then
using vi within a vncsession. vi from a ssh sheell works fine.
In fact, if 2 servers are set up the same, and a person has the problem on
either server, if they simply log in to one server and start a vncsession there,
then log in to the vnc session and within that vncsession ssh over to the other
server, on the other server vim will work fine. This works either direction
(start on 1, go to 2, start on 2, go to 1).
"I have tried server things" should have been typed "I have tried several
things." It was just a typo.
Those "things" mostly consisted of installing various versions of vim, starting
people out in bash and then using "exec tcsh" in their bashrc.
Also, an update...somehow one of the developers has accomplished making bash
behave improperly as well (I changed him from tcsh to bash due to this problem,
and he was workign fine until recently).
I'm open to hear any suggestions.
added the vnc maintainer to CC:
Tim, do you have an idea what's going on here ?
VNC doesn't really support proper keyboard layout configuration, due to the way
its protocol works. The best thing is to make sure that the keyboard layout on
the local machine (where the viewer is) matches that at the remote machine
(where the server is).
I don't see that behaviour on the machine I just tried (Red Hat Linux 8.0);
perhaps it's a bug that has since been fixed?
so the only solution is to change all my servers to RH 8.0? That doesn't work
I just tried it on an 8.0 box, and you're right that it is ok there. However,
its not ok on 7.0-7.3, and I don't think you'll find most of the user base for
linux in server applications is at 8.0 just quite yet.
I'm not entirely sure how it could be a keyboard issue, as they all work
perfectly fine unless someone with tcsh as their default shell tries to use vi
in a vnc session. If the person using tcsh in vnc does anything else, backspace
works perfectly fine. And if the person starts a vnc session on one server,
ssh's over to a different server, and starts vi there, it works fine. Its when
they use vi on the server that is actually running the vnc session their using,
and if they're default shell is tcsh, that there is a problem. Change those
things in any way, and it works fine.
Are there not any other suggestions I could try? I have 7.0 boxes here still,
and until recetly still had a 6.2 box. Going through the trouble of going to a
different "version" when all the versions are are collections of tools (that get
updated seperately) seems a bit overkill to fix a backspace issue...
Does it work as expected when you call 'stty erase ^H' before you start vi ?
Closing due to inactivity. Please reopen if this problem still exists