After installing prebuild mc binary to Mojave (link and link 2), and trying to run mc under root with sudo command, I got error:

$sudo mc
common.c unimplemented subshell type 1
read (subshell_pty...): No such file or directory (2)

It appears that mc requires to match precompiled shell version, e.g. /bin/bash to be the one.

In order to resolve this, its is required to change default root shell from sh to bash, and do it with following command:

sudo dscl . -change /Users/root UserShell /bin/sh /bin/bash

To revert back in case you have some problems, just reverse the parameters:

sudo dscl . -change /Users/root UserShell /bin/bash /bin/sh

Just in case above commands do not work, may be default shell was already changed. Check it with command:

dscl . -read /Users/root UserShell

Hope it will save tons of time for you.

| improve this answer | |

Midnight Commander is still actively developed. But this default shell bug has been ongoing for years. Apple switched Catalina to use zsh but default /bin/sh is still there for backwards compatibility of bourne shell scripts. Other OSes are impacted by this shell issue. Some use the Dash shell to be /bin/sh, etc.

Newer console file managers such as lf, ranger, broot, vifm, nnn, fff, etc., etc., etc. are worth a look.

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .