How to set up multiseat on Centos 7

General support questions
charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/08 02:00:55

Hi All

I've just installed Centos 7 and it's picked up my two screens and configured them as a 'multi-head' as might be expected.
However, I want to set them up as 'multi-seats'.


Anyone done this on Centos 7?
Is it easy or a nightmare?
Any pointers?


Thanks in advance

Charlie101

charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

Re: How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/09 04:28:27

Update

The following link gives a basic description that appears to be largely still applicable.

http://code.lexarcana.com/posts/simple- ... ra-17.html

From information in this link I created the following udev rules:

/etc/udev/rules.d/72-seat2.rules

TAG=="seat", ENV{ID_FOR_SEAT}=="drm-pci-0000_02_00_0", ENV{ID_SEAT}="seat2"
TAG=="seat", ENV{ID_FOR_SEAT}=="graphics-pci-0000_02_00_0", ENV{ID_SEAT}="seat2"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_16_2-usb-0_1_4_1_1_0", ENV{ID_SEAT}="seat2"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_16_2-usb-0_1_4_4_1_0", ENV{ID_SEAT}="seat2"
TAG=="seat", ENV{ID_FOR_SEAT}=="input-pci-0000_00_16_2-usb-0_1_4_4_1_1", ENV{ID_SEAT}="seat2"
-------------------------------

With these rules the 2 seats appear to register and the login screen appears on each screen.
However when I login via seat 2 it initially starts to create a session but then crashes with the message:

Oh no! something has gone wrong.
A problem has occurred and the system can't recover.
Please log out and try again.

seat0 seems to work fine.

So part way there but seemingly no nearer.
Any advice greatly appreciated.

Charlie101

charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

Re: How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/09 15:18:16

Update

So, when I login on seat 2 I get a white screen with the error message above.
But I noticed when I logout I get a quick glimpse of the desktop present behind the white screen.

Hence it appears "everything" is executing and loading "correctly" or at least not "crashing"..
This suggested a permissions issue to me. So I logged in as root and it works, but only for root.
So it appears there is a permissions problem with seat2 but not with seat0 (primary seat).

Any suggestions on tracing this gratefully received.

Charlie101

charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

Re: How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/09 18:31:54

Update

Crash reports are getting generated and Redhat reporting tool popped up but crashed on the final 'send report' page. Oh joy!

Going to try and register a report with Centos manually.

Here is what looks like the point of the crash:

---------------------------------------------------------------------------------------------------
var_log_messages:

Code: Select all

:[System Logs]:
:Dec 08 21:43:27 localhost.localdomain polkitd[764]: Registered Authentication Agent for unix-session:c1 (system bus name :1.52 [gnome-shell --mode=gdm], object path /org/freedesktop/PolicyKit1/AuthenticationAge
nt, locale en_GB.UTF-8)
:Dec 08 21:43:27 localhost.localdomain polkitd[764]: Registered Authentication Agent for unix-session:c2 (system bus name :1.53 [gnome-shell --mode=gdm], object path /org/freedesktop/PolicyKit1/AuthenticationAge
nt, locale en_GB.UTF-8)
:Dec 08 21:43:46 localhost.localdomain polkitd[764]: Registered Authentication Agent for unix-session:1 (system bus name :1.102 [/usr/bin/gnome-shell], object path /org/freedesktop/PolicyKit1/AuthenticationAgent
, locale en_GB.utf8)
:Dec 08 21:45:19 localhost.localdomain kernel: gnome-shell[3783]: segfault at 0 ip 00007f1c83782279 sp 00007fff8d477fe0 error 4 in r600_dri.so[7f1c833e0000+5db000]
:Dec 08 21:45:20 localhost.localdomain abrt-hook-ccpp[3799]: Saved core dump of pid 3783 (/usr/bin/gnome-shell) to /var/tmp/abrt/ccpp-2014-12-08-21:45:19-3783 (19767296 bytes)
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: gnome-session[3519]: WARNING: Application 'gnome-shell-classic.desktop' killed by signal 11
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: WARNING: Application 'gnome-shell-classic.desktop' killed by signal 11
:Dec 08 21:45:20 localhost.localdomain kernel: gnome-shell[3812]: segfault at 0 ip 00007fa92798a279 sp 00007fffe1654c70 error 4 in r600_dri.so[7fa9275e8000+5db000]
:Dec 08 21:45:20 localhost.localdomain abrt-hook-ccpp[3818]: Not saving repeating crash in '/usr/bin/gnome-shell'
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: gnome-session[3519]: WARNING: Application 'gnome-shell-classic.desktop' killed by signal 11
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: gnome-session[3519]: WARNING: App 'gnome-shell-classic.desktop' respawning too quickly
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: WARNING: Application 'gnome-shell-classic.desktop' killed by signal 11
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: WARNING: App 'gnome-shell-classic.desktop' respawning too quickly
:Dec 08 21:45:20 localhost.localdomain gnome-session[3519]: Unrecoverable failure in required component gnome-shell-classic.desktop
:Dec 08 21:45:30 localhost.localdomain polkitd[764]: Registered Authentication Agent for unix-session:c3 (system bus name :1.174 [gnome-shell --mode=gdm], object path /org/freedesktop/PolicyKit1/AuthenticationAg
ent, locale en_GB.UTF-8)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

The complete report is too long to include here.


charlie101

charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

Re: How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/09 20:44:11

Update

Bug report reference:

https://bugs.centos.org/view.php?id=7981


Charlie101

rjt69
Posts: 27
Joined: 2013/07/12 18:03:14
Location: Omaha, NE
Contact:

Re: How to set up multiseat on Centos 7

Post by rjt69 » 2014/12/10 00:55:20

Excited someone is trying this again.

Have you tried two different user accounts?
Or tried having only one user logged-on and only on seat2?
Might help to compare the output of `id username1` `id username2` for group permission differences.
Post output of `sestatus`
Have you tried turning selinux off?

charlie101
Posts: 20
Joined: 2012/06/17 22:40:34

Re: How to set up multiseat on Centos 7

Post by charlie101 » 2014/12/10 03:04:35

Hi rjt69
Excited someone is trying this again.


Yes, it's really useful and efficient. It seems like a no-brainer in a number of use cases.
Makes me laugh when people contrast LSTP with multi-seat as if they were exclusive choices.
I guess a lot of people can't see beyond their own use case.

However, I think it needs to be made a little easier and consistent before the non-geek takes it up.
Although using it with systemd and udev seem quite straight forward and very promising (Plugable etc) good docs' are thin on the ground.
And what there is can be very confusing given the systemv vs upstart, vs systemd + gdm vs ldm vs ... + gnome vs kde vs lxde + X vs Xorg vs Wayland.
You practically have to be a linux expert to workout which docs might apply to your distribution/version/selection.
Have you tried two different user accounts?
Yes all permutations. Single user and two users and different users on each seat and in different orders.
Only root works on seat2 whichever way I try. So it definitely looks like an issue with the non-primary seat.
Might help to compare the output of `id username1` `id username2`
Compared them and they are the same. Besides, the alternation of users should have picked any such issues up.
Post output of `sestatus`
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

Have you tried turning selinux off?
Disabled selinux and it makes no difference.

Thanks for you help :) .

Charlie101.

rjt69
Posts: 27
Joined: 2013/07/12 18:03:14
Location: Omaha, NE
Contact:

Re: How to set up multiseat on Centos 7

Post by rjt69 » 2014/12/10 03:53:10

Code: Select all

Registered Authentication Agent for unix-session:c2
Does this appear in the log when someone attempts to logon to seat2? Is that 'c2' console 2? Or when X starts on seat2?

The third unix-session is different than the others because it is just a number, not 'cX' and then gnome-shell segfaults:

Code: Select all

unix-session:1
Does the X org log show anything?

rjt69
Posts: 27
Joined: 2013/07/12 18:03:14
Location: Omaha, NE
Contact:

Re: How to set up multiseat on Centos 7

Post by rjt69 » 2014/12/10 04:12:14

On seat2, i assume you can logon successfully to the TTY consoles:

Code: Select all

CTRL-ALT+F2

Code: Select all

CTRL-ALT+F5
The documentation you referenced manually starting X, or doing `init 3`, then `init 5`

Wondering if it is a Xwindow cookie that does not have the right permissions or if it is trying to use the same Xwindow cookie for both seats which would be a problem. These are often under /tmp/

Control Groups, otherwise known as cgroups is finally starting to be used to control system resource usage by a process. Excellent to control virtual machine resource usage, but also MultiSeat. For instance, cgroups should let you dictate that seat2 only gets 25% of the total RAM. Tab out cg to see some commands.
Last edited by rjt69 on 2014/12/10 04:42:03, edited 1 time in total.

rjt69
Posts: 27
Joined: 2013/07/12 18:03:14
Location: Omaha, NE
Contact:

Re: How to set up multiseat on Centos 7

Post by rjt69 » 2014/12/10 04:30:07

Code: Select all

loginctl --help
seems to be promising:

Code: Select all

loginctl list-sessions
loginctl show-seat
loginctl list-users

Post Reply