[systemd-devel] nspawn: No Return key in machinectl login?

Tobias Hunger tobias.hunger at gmail.com
Sat May 30 09:23:13 PDT 2015


Lennart,

this apparently is a problem with machinectl login: If I just use

nsenter --target <PID> --mount --uts --ipc --net

as root the return key works fine.

TERM=xterm with nsenter (no surprise considering that I run that from
a xterm;-), while it is vt220 in machinectl.

Any ideas?

Best Regards,
Tobias


On Tue, May 26, 2015 at 9:40 PM, Tobias Hunger <tobias.hunger at gmail.com> wrote:
> This is stty -a from outside the container:
>
> speed 38400 baud; rows 46; columns 114; line = 0;
> intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?;
> eol2 = M-^?; swtch = <undef>; start = ^Q;
> stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
> min = 1; time = 0;
> -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
> -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl
> -ixon -ixoff -iuclc ixany imaxbel -iutf8
> opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
> isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop
> -echoprt echoctl echoke
>
> This is stty -a inside the nspawn-container:
>
> speed 38400 baud; rows 46; columns 114; line = 0;
> intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
> eol2 = <undef>; swtch = <undef>; start = ^Q;
> stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
> min = 1; time = 0;
> -parenb -parodd -cmspar cs8 hupcl -cstopb cread -clocal -crtscts
> -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl
> -ixon -ixoff -iuclc -ixany -imaxbel iutf8
> opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
> isig icanon -iexten echo echoe echok -echonl -noflsh -xcase -tostop
> -echoprt -echoctl echoke
>
> The difference is:
> eol, eol2, -icrnl -ixany -imaxbel iutf8 -iexten -echoctl
>
> stty -F /dev/ptmx is identical inside and outside of the container --
> but I am not sure whether that is what you were asking in the second
> part of your reply.
>
> I tried running "stty eol ^D -F /dev/pts/0" inside the container and
> got a SIGSEGV. It works outside the container.
>
> Best Regards,
> Tobias
>
>
> On Tue, May 26, 2015 at 4:11 PM, Lennart Poettering
> <lennart at poettering.net> wrote:
>> On Sat, 23.05.15 00:09, Tobias Hunger (tobias.hunger at gmail.com) wrote:
>>
>>> Hello,
>>>
>>> I am having a problem with one of my containers set up with
>>> systemd-nspawn. For some reason the return key will not work most of
>>> the time (19 out of 20 attemps) after doing machinectl login into that
>>> machine.
>>>
>>> This effects not all programs: bash works, fish-shell does not. Sudo
>>> password entry does not work either. Git is broken (but hardly ever
>>> requires user input, so that is not that tragic;-), vi works fine.
>>>
>>> I only have this one one container image, even though it is built
>>> based on an image that is also used by container images that work
>>> fine. So I think the image should have all the important bits and
>>> pieces in place.
>>>
>>> I am kind of lost that close to the termcap:-) Does somebody have any
>>> ideas on how I can debug this?
>>
>> What does "stty -a" say?
>>
>> Consider comparing stty on the pty master (host side) as well as the
>> pty itself (container size) in the cases where this works, and where
>> it does not.
>>
>> Lennart
>>
>> --
>> Lennart Poettering, Red Hat


More information about the systemd-devel mailing list