views:

515

answers:

3
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"

This is the server version.

When I ssh into it, I encounter the following problems:

Problem 1

tab completion behaves weird to the point of being unusable:

> cd ~/<press TAB>
-sh: <( compgen -d -- '/home/dmitriid/' ): No such file or directory

> vi ~/.<press TAB>
<( compgen -d -- '/home/dmitriid/.' ): No such file or directory
-sh: <( eval compgen -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|
JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' -- 
$(quote_readline $cur) ): No such file or directory

> nano ~/.<press TAB>
./              .bash_logout    .mc/            .viminfo
../             .bashrc         .mysql_history  
.aptitude/      .erlang.cookie  .profile        
.bash_history   .gitconfig      .ssh/

Is there a way to fix that?

Problem 2

I use mc quite a lot. I often do a Ctrl+O to hide panels and work in the shell. In my case:

  1. Ctrl + O hides panels
  2. Any keypress brings the panels back

Is there a way to fix that as well?

Thank you!

+1  A: 

I'd try to reinstall all bash packages, especially bash-completion: apt-get install --reinstall bash-completion, because it looks like some part of bash is screwed. Btw, I guess this should go to serverfault.com.

liori
I'll try that.Thank you for the link to serverfault
Mamut
+1  A: 

Ok. It turns out the solution was dumb and simple. The key was — no interactive shell in mc.

The answer lies here: http://www.ibiblio.org/mc/FAQ

6.6 When I use Ctrl-O I don't get a subshell. How do I fix this?

Only bash, tcsh and zsh can be used as subshell. Use one of those shells as your default shell, and it will be used as subshell in GNU Midnight Commander.

So I decided to change the shell:

> which bash
/bin/bash
> sudo chsh -s /bin/bash my_user_name
> grep ^my_user_name /etc/password
my_user_name:x:1002:1002::/home/my_user_name:/bin/bash

Note /bin/bash at the end of the passwd file. It means the shell is now changed.

After i logged out and then logged back in — voila, everything works!

Mamut
Thanks! Solved the same problem for me - my shell had defaulted to /bin/sh
Alan Donnelly
+1  A: 

When I typed the following to switch to root, then it seemed that the permissions problem was resolved. Looks like compgen isn't able to read the directories it needs to when I'm logged in as an regular user.

sudo su -