Midnight Commander:用户运行命令或脚本/可执行文件

Midnight Commander:用户运行命令或脚本/可执行文件

当我使用 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

相关内容