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

これはサーバーのバージョンです。

それにsshすると、次の問題が発生します。

問題1

タブ補完は、使用できなくなるほど奇妙な動作をします。

> 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/

それを修正する方法はありますか?

問題2

私はmcをかなりよく使います。私はよくCtrl+Oを実行して、パネルを非表示にし、シェルで作業します。私の場合:

  1. Ctrl+Oはパネルを非表示にします
  2. キーを押すとパネルが元に戻ります

それを修正する方法もありますか?

ありがとうございました!

4

4 に答える 4

4

Ok。解決策はばかげていて単純だったことがわかりました。重要なのは—mcにインタラクティブシェルがないことです。

答えはここにあります:http ://www.ibiblio.org/mc/FAQ

6.6 Ctrl-Oを使用すると、サブシェルが取得されません。これを修正するにはどうすればよいですか?

サブシェルとして使用できるのは、bash、tcsh、およびzshのみです。これらのシェルの1つをデフォルトのシェルとして使用すると、GNUMidnightCommanderでサブシェルとして使用されます。

そこで、シェルを変更することにしました。

> 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ファイルの最後にある/bin/bashに注意してください。これは、シェルが変更されたことを意味します。

ログアウトしてから再度ログインした後—出来上がり、すべてが機能します!

于 2009-08-01T20:38:38.100 に答える
1

すべてのbashパッケージ、特にbash-completion:を再インストールしようとしますapt-get install --reinstall bash-completion。これは、bashの一部がねじ込まれているように見えるためです。ところで、これはserverfault.comに行くべきだと思います。

于 2009-07-29T12:48:18.743 に答える
1

ルートに切り替えるために次のように入力すると、権限の問題が解決されたようです。通常のユーザーとしてログインしているときに、compgenが必要なディレクトリを読み取ることができないようです。

sudo su -
于 2009-09-05T19:27:27.090 に答える
0

「6.6Ctrl-Oを使用すると、サブシェルが取得されません。これを修正するにはどうすればよいですか?」

Ctr + oを使用するには、SHELL = / bin/shではなくSHELL=/ bin/bashが必要です。.bashrcに追加エクスポートSHELL=/ bin / bash

于 2015-08-20T12:42:37.363 に答える