当我使用 putty 登陆 CentOS (6.4) 并以普通用户(非 root)身份启动 mc 时,我会从 putty 窗口弹出:服务器意外关闭网络连接。如果您习惯在 mc 中从命令行执行程序和运行命令,那么这不会很烦人。每当我尝试通过输入/双击执行任何内容或尝试从命令行调用程序时,我都会收到此信息。当我使用 sudo 运行要执行的程序时,它会很好地打开它,但我喜欢输入/单击方法,并且不想总是输入文件名。
这是我的 /etc/mc 文件夹:
drwxr-xr-x. 121 root root 12288 Nov 14 10:59 ..
-rw-r--r--. 1 root root 12278 Aug 22 2010 cedit.menu
-rw-r--r--. 1 root root 788 Aug 22 2010 edit.indent.rc
-rw-r--r--. 1 root root 247 Aug 22 2010 edit.spell.rc
drwxr-xr-x. 2 root root 4096 Oct 15 10:50 extfs
-rw-r--r--. 1 root root 1024 Aug 22 2010 filehighlight.ini
-rw-r--r--. 1 root root 226 Aug 22 2010 mc.charsets
-rw-r--r--. 1 root root 17353 Aug 22 2010 mc.ext
-rw-r--r--. 1 root root 7936 Aug 22 2010 mc.keymap
-rw-r--r--. 1 root root 7936 Aug 22 2010 mc.keymap.default
-rw-r--r--. 1 root root 7913 Aug 22 2010 mc.keymap.emacs
-rw-r--r--. 1 root root 1979 Aug 22 2010 mc.lib
-rw-r--r--. 1 root root 9556 Aug 22 2010 mc.menu
-rw-r--r--. 1 root root 10126 Aug 22 2010 mc.menu.sr
-rw-r--r--. 1 root root 6259 Aug 22 2010 Syntax
来自 /user/bin 的 mc
-rwxr-xr-x. 1 root root 988432 Aug 22 2010 mc
例如,这里有一个我想以普通用户身份通过 mc 执行的文件:
-rwxrwxr-x 1 root hUSERS 205780 Jun 11 16:03 DBU3L
我在一个论坛上看到一个名为 sam 的程序也许可以使用,但如果可以通过更改一些权限或 mc 参数来解决这个问题,我就不想重新发明轮子了。
这些是 Putty 日志的最后几行:
[44m*DBU3L[23;3H[1;1H[39m[49m[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K
[K[1;80H[?1002l[?1001r[?1l>[24;1H(B[m[39;49m
[K
[?1049l>[?47l8[m$ ./DBU3L
答案1
您可以尝试记录您的会话,也许它会显示崩溃的原因。您尝试过其他ssh
客户端吗?
答案2
问题是我有一个自定义登录 shell 脚本,而不是从 mc 执行程序时调用的 /bin/bash。
因此,我简单地在登录 shell 脚本中添加了一个检查,以查看是否从 mc 调用了登录 shell:
mc=`ps $PPID | grep mc`
if [ ! -z "$mc" -a "$mc"!=" " ]
then
clear
cmd="$1 $2 $3 $4 $5"
cmd=`echo $cmd | cut -c 4-`
bash -c "$cmd"
exit
fi