Re: console handling with tmux

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

 



On Thu, 2012-08-16 at 15:45 -0400, Will Woods wrote:
> 
> 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?
What happens when starting X is a mystery to me, but switching to new
tty is usually not a problem.

> 
> So - what's the actual error message/return code from the ioctl?
errno is 22: "Invalid argument". Which seems like problem with the file
descriptor (0) used in the ioctl call -- I think it happens because: 

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

which means descriptor 0 is not the tty1 anymore. However, I've tried to
use the 'chvt' command and it works. So we could:

a) move vtActivate to iutil.py and implement it as a chvt call
b) try to patch isys.vtActivate to use a new file descriptor (to tty1)

Since I'm not sure b) would work, I'm for a). Opinions?

> 
> 
> 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.
Thanks for the explanation. I believe it would be good to place it
somewhere on our FedoraWiki pages together with a list of basic tmux
commands/hotkeys.

-- 
Vratislav Podzimek

Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic

_______________________________________________
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