Re: console handling with tmux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2012-08-16 at 10:05 +0200, Vratislav Podzimek wrote:
> I have basically the same concern that Chris has.
> 
> On Wed, 2012-08-15 at 10:57 -0400, Will Woods wrote:
> > So now that we have tmux handling consoles for us, the rules for console
> > stuff have changed a little. Basically, anything in anaconda that deals
> > directly with VTs or /dev/tty* should be considered deprecated.
> Correct me if I'm wrong, but from what I've seen during testing,
> Anaconda's GUI is running on a tty6 outside of tmux. So in the GUI
> installation the basic initial step before everything else would be
> switching to tty1 where tmux runs. This is, however, not possible
> because Anaconda doesn't "own" tty1 and is not in the same process group
> as tmux (not sure if that'd help).

Ah, jeez. Good point. Surprised I forgot that X is actually on a
different VT.

But here's the thing: if anaconda (which doesn't own tty1) can run X,
and X can switch to tty6, then (in theory) anaconda should be able to
make it switch back, right?

So - what's the actual error message/return code from the ioctl?


As a bonus - here's some more detail about how the tmux setup works, for
reference.

Early in system startup, anaconda-generator does two things:

1) find the actual console device
2) set up anaconda-shell@.service on tty2 + the first virt console found
   of (hvc[01], xvc0, hvsi[012])

Normal system startup continues after that, leading up to
anaconda.target.

Once we've reached anaconda.target, anaconda.service starts tmux.
tmux starts anaconda, a shell, and the log windows, as configured in
tmux.conf:

            +---------------+
            | tmux (server) |-------
            +---------------+       \ 
           /       |      \          \ 
 +----------+  +-------+  +-----+  +------+
 | anaconda |  | shell |  | log |  | etc. |  ....
 +----------+  +-------+  +-----+  +------+ 

After that, anaconda-tmux@.service runs a tmux client on the actual
console device, e.g. tty1:

+------+   +---------------+   +---------------+
| tty1 |<--| tmux (client) |-->| tmux (server) |---...
+------+   +---------------+   +---------------+
                              /       |      \
                             ...     ...     ...

So, anaconda runs with a pty as its controlling terminal rather than a
real tty; the tmux client has the tty.


-w

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux