misc/mc problem

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

For a week or a couple of weeks, after upgrade of misc/mc port, I can't start mc from ordinary user, only from root. I tried doing it from different shells. The error states:
Code:
common.c: unimplemented subshell type 1
read (subshell_pty...): No error: 0 (0)
May be something wrong was during upgrade with it's configuration files? Where can I look for the solution?
 

Roric

Member


Messages: 21

What shell are you using as normal user?

Code:
echo $SHELL
You may have to kill all of the current shell sessions under that user. You can use pgrep to find all PIDs of the shell running and then kill them off.

Then check and see if you are able to start mc.
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

As I've mentioned, I'd tried different shells. The default one for that user is /bin/sh, also I've tried to start from the default one: /usr/local/bin/bash, /bin/csh, /bin/tcsh. All with the same error.
For the root default is /bin/csh.
 

Juha Nurmela

Well-Known Member

Reaction score: 121
Messages: 401

mc-4.8.15 (as a package and as a port with default options) and pdksh v5.2.14.2 99/07/13.2, no problemo. Doesn't help at all, but.... solidarity?

Juha
 

chrbr

Aspiring Daemon

Reaction score: 246
Messages: 678

I guess the issue is related to the subshell. Now I have compiled misc/mc with the options
Code:
DOCS          : off 
EDITOR        : off 
ICONV         : on
NCURSES       : off 
NLS           : on
SFTP          : on
SLANG         : on
SMB           : off 
SUBSHELL      : off 
X11           : off
and it woks with sh as login shell. It might be that the command line below the file manager window is out of function now. I have never used it. May be this is of some help.

EDIT: The command line below the file manager stiil works similar compared to mc installed as binary in a jail. The test was just a ping to the host. I have no idea about the purpose of the SUBSHELL option.
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

Suppose, SUBSHELL means working command line prompt after Ctrl+O. It have not worked for ordinary user (or in /bin/sh terminal window?) for quite a long time, so I used to it. But I need it for root!
Dilemma: to have subshell in root session and not to be able to even start misc/mc in /bin/sh for ordinary user, OR not to have subshell for any users, but to be able to start it.
Or to change shell for ordinary users…
 

chrbr

Aspiring Daemon

Reaction score: 246
Messages: 678

Dear YuryG,
thank you for the information. Now I understand the problem. A work around would be to change the login shell for normal users to /bin/csh. It might help to modify the patch /usr/ports/misc/mc/files/patch-upstreamticket2742-detect-csh-as-tcsh-by-name.patch to add support of /bin/sh. I think woodsb02 knows what to do. If you have time you can file a problem report at http://www.freebsd.org/support/bugreports.html. I will try to help, too.
 

chrbr

Aspiring Daemon

Reaction score: 246
Messages: 678

Dear YuryG,
how about using Ctrl+Z to put misc/mc in the background? With fg misc/mc is put in the foreground again. This would not require the subshell. This method works for me with misc/mc started from a terminal. I forgot that option yesterday. Of course there might be a difference compared to the subshell funtion.
 

chrbr

Aspiring Daemon

Reaction score: 246
Messages: 678

Dear YuryG ,
now I have an additonal work arround.
Dilemma: to have subshell in root session and not to be able to even start misc/mc in /bin/sh for ordinary user
You can keep the subshell for root and let the users start misc/mc by mc -u, may be set an alias in their profiles. Then root has misc/mc with subshell and the users can use misc/mc but without subshell. May be this is an option.
 

chrbr

Aspiring Daemon

Reaction score: 246
Messages: 678

Hello YuryG,
first thank you for the problem report. I think now you have compiled misc/mc with subshell disabled. I have had enabled it now to dig in the problem. While digging I found the -u option in mc(1). It seems to work only when the subshell is active.
 

aragats

Daemon

Reaction score: 535
Messages: 1,282

I'm on FreeBSD 11-CURRENT, mc(1) 4.8.15 was installed with pkg[(8).
I tested it with sh, csh and bash (fresh logins). It works in all, but in sh the subshell does not work.
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

I'm on FreeBSD 11-CURRENT, mc(1) 4.8.15 was installed with pkg[(8).
I tested it with sh, csh and bash (fresh logins). It works in all, but in sh the subshell does not work.
Why not mc-4.8.16_1? I could start misc/mc in previous upgrades. (But not SUBSHELL in /bin/sh login user shell.)
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

Hello YuryG,
first thank you for the problem report. I think now you have compiled misc/mc with subshell disabled. I have had enabled it now to dig in the problem. While digging I found the -u option in mc(1). It seems to work only when the subshell is active.
Thank you! This variant with mc -u works.
 

aragats

Daemon

Reaction score: 535
Messages: 1,282

Kind of work-around: launch mc with a command (or make an alias):
SHELL=/bin/csh mc
 

user0

Member

Reaction score: 3
Messages: 88

When I got this error
Code:
common.c: unimplemented subshell type 1
I read this thread and changed the shell used by KDE's Konsole to the statically linked /usr/local/bin/bash from the ports. But still getting the error.
There is no error under su though.
Is it possible to run mc without having to add -u under FreeBSD?
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

As far as I could get, changing console is not that workarounds. It needs user SHELL to be not sh. Try to change launcher command (if that is possible in KDE).
Kind of work-around: launch mc with a command (or make an alias):
SHELL=/bin/csh mc
 

user0

Member

Reaction score: 3
Messages: 88

Yeah, that's what I said: the user shell is now bash. Globally and in KDE Konsole.
 
OP
OP
Y

YuryG

Well-Known Member

Reaction score: 24
Messages: 395

No, you need user system shell to be not sh. Either enter cited command in KDE launcher (not sure how), or change SHELL for the user via pw. Simply making KDE to start terminal with some other shell doesn't help.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 8,001
Messages: 31,432

This probably helps, from /usr/local/doc/mc/doc/FAQ:
Code:
6.6 When I use Ctrl-O I don't get a subshell.  How do I fix this?

   Only bash, tcsh and zsh can be used as subshell.  Use one of those
   shells as your default shell, and it will be used as subshell in GNU
   Midnight Commander.

6.7 Ctrl-O doesn't work at all.  What happens?

   Ctrl-O works if either the subshell is used or the terminal can save
   the output of the commands so it can be restored.  If neither is
   true, there is absolutely nothing interesting behind the panels!

   Only few terminals support screen saving.  It's xterm, rxvt and other
   xterm-like terminals and virtual terminals on Linux and FreeBSD.
 

user0

Member

Reaction score: 3
Messages: 88

I am not sure I understand the terminology.
In my installation the login shell has been replaced globally for all users from sh to bash.
Why does MC still not work without -u?
 
Top