All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lennart Poettering <mzxreary@0pointer.de>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: richard -rw- weinberger <richard.weinberger@gmail.com>,
	Richard Weinberger <richard@nod.at>,
	Ramkumar Ramachandra <artagnon@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] um: change defconfig to stop spawning xterm
Date: Wed, 24 Jul 2013 18:49:53 +0200	[thread overview]
Message-ID: <20130724164953.GW835@tango.0pointer.de> (raw)
In-Reply-To: <20130723075757.GM4165@ZenIV.linux.org.uk>

On Tue, 23.07.13 08:57, Al Viro (viro@ZenIV.linux.org.uk) wrote:

> 
> On Tue, Jul 23, 2013 at 07:47:07AM +0200, richard -rw- weinberger wrote:
> > Adding Al again, someone dropped him from the CC list...
> 
> FWIW, all this crap stems from the old decision to use major 4 for
> uml consoles.  And it was a bad decision, no arguments here.
> It's also a decision we are years too late to revert.
> 
> a) VT102, let alone the extensions to it, is simply wrong for uml;
> if it's understood by anything, it's on the host userland side.
> xterm(1) has a notion of two-dimensional array of characters on screen,
> organized in logical lines, etc.  So does screen(1).  So does
> drivers/tty/vt/* (i.e. the kernel side of virtual console).  uml
> console does *not* have such a notion - it passes a linear stream
> of octets, sight unseen, to whatever's on the other side of connection.
> Doing an equivalent of drivers/tty/vt/* would mean maintaining such
> a 2D array internally *AND* somehow passing updates to that beast
> to whatever's on the other side.  That could be done (after all,
> libcurses manages), but it won't be compatible with existing setups
> and it should be a separate driver, anyway.  Granted, it would've
> made a whole lot more sense in role of /dev/tty<n>, but it's too late
> for that now.

The UML tty devices are in most regards pretty much like serial TTYs
where there's also no meta-information available which terminal
emulation is actually spoken on it, and that's covered pretty much OK
everyhwere...

> b) changing the major of /dev/tty<n> on uml will break existing setups.
> Ain't feasible.  We probably can get away with making that controlled
> by kernel option, and it might make sense to try going that way, but
> I'm not entirely convinced it's worth bothering.  Up to uml maintainer...
> IMO if we go that way, we ought to pass the relevant part of config
> (i.e. is it xterm or pts or plain opened file) in the event udev
> gets, so that the userland would have at least a chance of dealing
> with another real problem - selecting TERM value for getty.

Which major/minor you use is irrelevant to userspace. The userspace API
however assumes that /dev/tty[1..63] refers to the tty devices of the
virtual console. As long as you provide some other TTY under that name
then the virtual console TTYs you simply provide a broken API to
userspace, and hence programs break. systemd does, gpm does, X11 does,
and everything else that interfaces with the VC via VC APIs does too.

Just pick a different name for the TTYs that UML uses, just not
/dev/tty[1..63] and everything is fine. That's what the virtualization
folks did with their hypervisor consoles, and is what we required from
the container folks too.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.

  reply	other threads:[~2013-07-24 16:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-19 18:20 [PATCH] um: change defconfig to stop spawning xterm Ramkumar Ramachandra
2013-07-19 18:44 ` Richard Weinberger
2013-07-19 19:44   ` Ramkumar Ramachandra
2013-07-22  9:45     ` Ramkumar Ramachandra
2013-07-22 10:38       ` Richard Weinberger
2013-07-22 10:43         ` Ramkumar Ramachandra
2013-07-22 11:48           ` Ramkumar Ramachandra
2013-07-22 22:32           ` Lennart Poettering
2013-07-23  5:40             ` Richard Weinberger
2013-07-23  5:47               ` richard -rw- weinberger
2013-07-23  7:57                 ` Al Viro
2013-07-24 16:49                   ` Lennart Poettering [this message]
2013-07-24 16:38               ` Lennart Poettering
2013-07-22 12:40       ` Al Viro
2013-07-22 13:02         ` Ramkumar Ramachandra
2013-07-22 13:20           ` Richard Weinberger
2013-07-22 13:42             ` Ramkumar Ramachandra
2013-07-22 14:08               ` Richard Weinberger
2013-07-22 15:33                 ` Ramkumar Ramachandra
2013-07-22 19:29                   ` Richard Weinberger
2013-07-22 20:01                     ` Ramkumar Ramachandra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130724164953.GW835@tango.0pointer.de \
    --to=mzxreary@0pointer.de \
    --cc=artagnon@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard.weinberger@gmail.com \
    --cc=richard@nod.at \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.