* Multiple consoles
@ 2012-01-09 21:11 Phillip Susi
2012-01-09 21:21 ` Samuel Thibault
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Phillip Susi @ 2012-01-09 21:11 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel
I was considering some questions I read about setting up a multi-seat
system where you have two separate sets of displays, keyboards, mice,
and X servers. The problem someone noticed is that if you run the
second X server on tty8, then you have to switch the console to tty8 to
activate it, which disables the primary X server.
It occurred to me that there ought to be an entirely separate set of
virtual consoles bound to the second seat, and the second X server ought
to run on one of those vcs. Or of course, you could choose to log into
the console and not bother with X.
Looking at drivers/tty/vt/vt.c, it appears that it was written assuming
that there is just one linux console. It appears to use global
variables for keeping track of which vc is active, etc, rather than
creating one or more console devices, and store the vc multiplexing
information in those devices. So to fix this, vt.c and keyboard.c would
need significantly refactored to remove the global variables and create
a console device to bind vcs, keyboards, and displays to, and then you
could create a second one if you wanted.
Does this make sense or am I missing something?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Multiple consoles
2012-01-09 21:11 Multiple consoles Phillip Susi
@ 2012-01-09 21:21 ` Samuel Thibault
2012-01-09 21:32 ` Phillip Susi
2012-01-09 22:07 ` Geert Uytterhoeven
2012-01-09 22:22 ` Alan Cox
2 siblings, 1 reply; 6+ messages in thread
From: Samuel Thibault @ 2012-01-09 21:21 UTC (permalink / raw)
To: Phillip Susi; +Cc: Greg KH, linux-kernel
Phillip Susi, le Mon 09 Jan 2012 16:11:36 -0500, a écrit :
> Does this make sense or am I missing something?
It used to be planned, but nobody took the job, because X doesn't need
this (see option -sharevts).
Samuel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Multiple consoles
2012-01-09 21:21 ` Samuel Thibault
@ 2012-01-09 21:32 ` Phillip Susi
2012-01-09 21:56 ` Samuel Thibault
0 siblings, 1 reply; 6+ messages in thread
From: Phillip Susi @ 2012-01-09 21:32 UTC (permalink / raw)
To: Samuel Thibault, Greg KH, linux-kernel
On 1/9/2012 4:21 PM, Samuel Thibault wrote:
> Phillip Susi, le Mon 09 Jan 2012 16:11:36 -0500, a écrit :
>> Does this make sense or am I missing something?
>
> It used to be planned, but nobody took the job, because X doesn't need
> this (see option -sharevts).
If you do that, you can't use vcs. AFAICS, there won't be any on the
second seat, and if you switch the first seat back to a vc, it will read
input from both keyboards. And what about magic-sysrq? A SAK on either
keyboard will kill the primary X won't it?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Multiple consoles
2012-01-09 21:32 ` Phillip Susi
@ 2012-01-09 21:56 ` Samuel Thibault
0 siblings, 0 replies; 6+ messages in thread
From: Samuel Thibault @ 2012-01-09 21:56 UTC (permalink / raw)
To: Phillip Susi; +Cc: Greg KH, linux-kernel
Phillip Susi, le Mon 09 Jan 2012 16:32:14 -0500, a écrit :
> On 1/9/2012 4:21 PM, Samuel Thibault wrote:
> >Phillip Susi, le Mon 09 Jan 2012 16:11:36 -0500, a écrit :
> >>Does this make sense or am I missing something?
> >
> >It used to be planned, but nobody took the job, because X doesn't need
> >this (see option -sharevts).
>
> If you do that, you can't use vcs.
Yes, but it has usually been considered not being a problem.
Samuel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Multiple consoles
2012-01-09 21:11 Multiple consoles Phillip Susi
2012-01-09 21:21 ` Samuel Thibault
@ 2012-01-09 22:07 ` Geert Uytterhoeven
2012-01-09 22:22 ` Alan Cox
2 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2012-01-09 22:07 UTC (permalink / raw)
To: Phillip Susi; +Cc: Greg KH, linux-kernel, James Simmons
On Mon, Jan 9, 2012 at 22:11, Phillip Susi <psusi@cfl.rr.com> wrote:
> I was considering some questions I read about setting up a multi-seat system
> where you have two separate sets of displays, keyboards, mice, and X
> servers. The problem someone noticed is that if you run the second X server
> on tty8, then you have to switch the console to tty8 to activate it, which
> disables the primary X server.
>
> It occurred to me that there ought to be an entirely separate set of virtual
> consoles bound to the second seat, and the second X server ought to run on
> one of those vcs. Or of course, you could choose to log into the console
> and not bother with X.
>
> Looking at drivers/tty/vt/vt.c, it appears that it was written assuming that
> there is just one linux console. It appears to use global variables for
> keeping track of which vc is active, etc, rather than creating one or more
> console devices, and store the vc multiplexing information in those devices.
> So to fix this, vt.c and keyboard.c would need significantly refactored to
> remove the global variables and create a console device to bind vcs,
> keyboards, and displays to, and then you could create a second one if you
> wanted.
>
> Does this make sense or am I missing something?
The linux-console project tried to fix this (CC James added).
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Multiple consoles
2012-01-09 21:11 Multiple consoles Phillip Susi
2012-01-09 21:21 ` Samuel Thibault
2012-01-09 22:07 ` Geert Uytterhoeven
@ 2012-01-09 22:22 ` Alan Cox
2 siblings, 0 replies; 6+ messages in thread
From: Alan Cox @ 2012-01-09 22:22 UTC (permalink / raw)
To: Phillip Susi; +Cc: Greg KH, linux-kernel
> It occurred to me that there ought to be an entirely separate set of
> virtual consoles bound to the second seat, and the second X server ought
> to run on one of those vcs. Or of course, you could choose to log into
> the console and not bother with X.
X can do it without consoles.
> Looking at drivers/tty/vt/vt.c, it appears that it was written assuming
> that there is just one linux console. It appears to use global
> variables for keeping track of which vc is active, etc, rather than
> creating one or more console devices, and store the vc multiplexing
> information in those devices. So to fix this, vt.c and keyboard.c would
> need significantly refactored to remove the global variables and create
> a console device to bind vcs, keyboards, and displays to, and then you
> could create a second one if you wanted.
Yes - in theory (you'd also have to sort out some of the passing of
variables around so that the code knew which 'console group' it belonged
to.
> Does this make sense or am I missing something?
It makes sense but it's one of a set of three problems with the tty/vt
layer IMHO
- A vt/tty is linked to a framebuffer of some sort, so you can't just
create abstract ones plumbed into arbitary objects. Really the vt
emulator ought to be separate from the consoles.
- You can only have one set of vts
- The locking needs a rework, particularly the handling of crashes where
sometimes we deadlock on the oops reporting.
and the framebuffer layer has some problems with locking and mode setting,
with hotplug, and with a complete inability to handle scatter-gather
backed consoles.
Alan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-01-09 22:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-09 21:11 Multiple consoles Phillip Susi
2012-01-09 21:21 ` Samuel Thibault
2012-01-09 21:32 ` Phillip Susi
2012-01-09 21:56 ` Samuel Thibault
2012-01-09 22:07 ` Geert Uytterhoeven
2012-01-09 22:22 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).