Re: [gdm-list] User feedback on multi-seat gdm and ConsoleKit



On Sat, 2009-11-21 at 16:15 -0800, Wayne Whitney wrote:
> Hello,
> 
> I'm a long time multi-seat home user, since Fedora 7 at least.  I recently 
> updated to Fedora 12, which broke the gdm-2.20 based solution I had been 
> using.  So I decided to try the current multi-seat branches of gdm and 
> ConsoleKit, and I'm pleased to report partial success.  I'm sure I'm doing 
> some things wrong, though, since I'm used to the previous solution; any 
> guidance would be very welcome.
> 
> First let me say that I have an x86_64 machine with two ATI video cards, 
> two keyboards, and two mice.  I have configured xorg with two different 
> layouts, each one using one keyboard, one mouse, and one video card (via 
> IsolateDevice).  So all I really need gdm to do is run two instances of X 
> simultaneously and provide each with a greeter.
> 
> After figuring out the rudiments of git, I grabbed the appropriate 
> branches of gdm and ConsoleKit, configured them to match the Fedora RPM 
> configurations, and then installed them over the existing RPMS.  I was 
> able to complete the first two testings cases listed on the page 
> <http://wiki.genunix.org/wiki/index.php/testing_for_newgdm_consolekit_multiseat_multidisplay>.
Good to know you find the right place.

> 
> Then I decided to set up a simple configuration with two seat files in 
> seats.d, each with their own session file in sessions.d, and their own 
> display file in displays.d.  I've attached them at the end, stripped of 
> comments.  The main difference is that the display file for the secondary 
> seat runs Xorg with a different -layout option and with -sharevts and 
> -noswitch.
Your configurations seem good to me.

> 
> This works, in that I get two separate X processes, two greeters, and two 
> people can login.  There are a few rough edges, though:
> 
> 1) VT switching breaks things.  I'm not really clear how this should work; 
> I would think the VTs should be per seat, although this would require 
> multiconsole in the kernel.  Anyway VT switching appears to just affect 
> the first seat.  Ctrl-Alt-Fn to switch from either keyboard causes the 
> first seat to switch VTs; if I go to a text console, then that console get 
> keystrokes from both keyboards.  Worst is that if I then switch back to 
> VT7, I get the X session back on the primary seat, but it is now also 
> getting keystrokes from both keyboards.
Could be possible with your #3 issue.

> 
> 2) I can logout of the secondary seat and log back in fine.  However, for 
> some reason when I first log out of the primary seat, X gets respawned, 
> but I end up on VT1 instead of VT7.  So I have to manually switch back to 
> VT7.  Unfortunately this has the effect of tripping the first problem.
X respawned is desired behavior.  But should be on the same VT and
display you have configuraed in your .session. Should be related with
your #3 issue also. 

> 
> 3) My .display files have $vt as a command line option, but when I use ps 
> to look at the Xorg commands run, there is no vtX option passed to Xorg.
This is strange, could you move $vt at the end of Exec line and try
again? (I'm not sure whether Xorg accept "/usr/bin/Xorg $display $vt
-layout Layout0 -br -verbose -auth $auth -nolisten tcp")

To be simple, you could try the single session with your
00-primary.seat. To disable your second seat, you can switch the key
Hidden to true and restart your console-kit-daemon and gdm.
> 
> 4) Audio device ownership isn't getting set at all from either seat.
Current ConsoleKit does not finish implementation to assign the devices
for given seat. Sorry that I can not help you since I have bare
knowledge about the hardware thing.
> 
> 5) I don't know how to configure the greeters I end up with; I like to 
> disable sound
I do not think disable sould for greeter is supported, should be an
enhancement for GDM.

>  and avoid having to click "Login" before entering my 
> username.
Are you saying you can not use tab to switch the "Login" button? If so,
should be an A11y bug for GDM.

> 
> Yours, Wayne Whitney
> 
> 
> %%% 00-primary.seat %%%
> [Seat Entry]
> Version=1.0
> Name=Primary seat
> ID=StaticSeat0
> Description=Wayne's Desk
> Hidden=false
> Devices=
> Sessions=Local0;
> 
> %%% 01-secondary.seat %%%
> [Seat Entry]
> Version=1.0
> Name=Secondary seat
> ID=StaticSeat1
> Description=Diane's desk
> Hidden=false
> Devices=
> Sessions=Local1;
> 
> %%% Local0.session %%%
> [Session Entry]
> Name=Local0
> Type=LoginWindow
> Description=Local Login Screen
> DisplayTemplate=Local0
> [Local]
> display=:0
> vt=vt7
> 
> %%% Local1.session %%%
> [Session Entry]
> Name=Local1
> Type=LoginWindow
> Description=Local Login Screen
> DisplayTemplate=Local1
> [Local]
> display=:1
> vt=vt8
> 
> %%% Local0.display %%%
> [Display]
> Type=X11
> [X11]
> Exec=/usr/bin/Xorg $display $vt -layout Layout0 -br -verbose -auth $auth -nolisten tcp
> 
> %%% Local1.display %%%
> [Display]
> Type=X11
> [X11]
> Exec=/usr/bin/Xorg $display $vt -layout Layout1 -sharevts -novtswitch -br -verbose -auth $auth -nolisten tcp
> 
> 
> 
> 
> _______________________________________________
> gdm-list mailing list
> gdm-list gnome org
> http://mail.gnome.org/mailman/listinfo/gdm-list




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