2009-07-29 66 views
1
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=8.10 
DISTRIB_CODENAME=intrepid 
DISTRIB_DESCRIPTION="Ubuntu 8.10" 

這是服務器版本。TAB完成和mc問題

當我ssh到它,我會遇到以下問題:

問題1所

tab完成的行爲怪異的是無法使用的地步:

> 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 '*[email protected](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/ 

是否有辦法解決這個問題?

問題2

我用mc不少。我經常做一個Ctrl + O來隱藏面板並在shell中工作。在我的情況:

  1. Ctrl + O鍵隱藏面板
  2. 任何按鍵帶來的面板後面

有沒有辦法來解決這個問題呢?

謝謝!

+0

這不是一個真正的問題stackoverflow。你應該嘗試Ubuntu論壇。 – anderstornvig 2009-07-29 12:50:45

+0

我做到了。它是無聲的:) StackOveflow通常比任何其他論壇都更有幫助:) – Mamut 2009-07-29 13:10:13

+0

Unix shell是文本編輯器的補充,它們和IDE相當。我沒有看到很多人反對Visual Studio或Eclipse的配置問題。 – guns 2009-08-01 20:47:09

回答

4

好的。事實證明,這個解決方案是愚蠢而簡單的。關鍵是 - 在mc中沒有交互式shell。

答案就在這裏:http://www.ibiblio.org/mc/FAQ

6.6當我使用Ctrl-O我沒有得到一個子shell。我該如何解決?

只有bash,tcsh和zsh可以用作子殼。使用其中一個 炮彈作爲您的默認外殼,並將在GNU Midnight Commander中用作子外殼。

所以我決定換個殼:

> 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 

注/斌/慶典在passwd文件的末尾。這意味着外殼現在已經改變了。

當我登出後,再登錄 - 瞧,一切正常!

1

我會嘗試重新安裝所有bash包,特別是bash-completion:apt-get install --reinstall bash-completion,因爲它看起來像bash的某些部分被擰緊了。順便說一句,我想這應該去serverfault.com。

1

當我輸入以下內容切換到根目錄時,似乎權限問題已解決。看起來compgen無法讀取當我以普通用戶身份登錄時需要的目錄。

sudo su - 
0

「6.6當我使用Ctrl-O時,我沒有得到一個子shell,我該如何解決這個問題?

要使用Ctr + o您應該有SHELL =/bin/bash而不是SHELL =/bin/sh 添加到。bashrc export SHELL =/bin/bash