Packages
9541
Comment:
|
12067
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<Include(MultiseatTeam/MenuBar)>> |
|
Line 8: | Line 10: |
lightdm:: The lightdm package in the PPA contains some patches that make it possible to support multiseat, although at the moment you must configure the seats manually (see the instructions below). Automatic multiseat support has not yet been added (see [[https://launchpad.net/bugs/1190581|bug #1190581]]). other packages:: The PPA contains some packages from saucy that have been backported to raring to complete logind support. The initial list of packages came from [[https://launchpad.net/~ubuntu-core-dev/+archive/logind/+packages|the ubuntu-core-dev team's logind PPA]]. Please contact the Ubuntu Multiseat team if you are aware of any additional packages that need backporting to raring. |
|
Line 12: | Line 11: |
== lightdm == The `lightdm` package in the PPA contains some patches that make it possible to support multiseat, although at the moment you must configure the seats manually (see the instructions below). Automatic multiseat support has not yet been added (see [[https://launchpad.net/bugs/1190581|bug #1190581]]). == xorg-server == The `xorg-server` package in the multiseat PPA includes patches and changes for the following issues: * [[https://launchpad.net/bugs/1209008|bug #1209008]]: fix card detection on non-`seat0` seats '''(sent upstream - review needed)''' * [[https://launchpad.net/bugs/659793|bug #659793]]: pass `--enable-kdrive-evdev` to `configure` (needed for Xephyr-based multiseat setup) * bug #???: enable Xephyr window placement using `-screen WxH+X+Y` option '''(sent upstream - review needed)''' * bug #???: introduce `MatchSeat` capability in `xorg.conf` '''(sent upstream - review needed)''' * [[https://launchpad.net/bugs/1228095|bug #1228095]]: enable defaults for non-`seat0` seats (no need to use `systemd-multi-seat-x` wrapper) '''(upstreamed - see commits [[http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b53|c73c36b53]] and [[http://cgit.freedesktop.org/xorg/xserver/commit/?id=46cf2a6093|46cf2a6093]])''' * [[https://launchpad.net/bugs/1243138|bug #1243138]]: disable unit tests because buildd hangs on `xvfb-run` test == gdm == The `gdm` package in the multiseat PPA includes patches and changes for the following issues: * bug #???: Add patch to fix automatic/timed login in multiseat context * bug #???: Add patch to explicitly set variable `XDG_VTNR` for `seat0` (needed to avoid getting inactive graphical sessions for `seat0` in some multiseat setups) == Others == The PPA contains some packages from saucy that have been backported to raring to complete logind support. The initial list of packages came from [[https://launchpad.net/~ubuntu-core-dev/+archive/logind/+packages|the ubuntu-core-dev team's logind PPA]]. Please contact the Ubuntu Multiseat team if you are aware of any additional packages that need backporting to raring. |
|
Line 52: | Line 67: |
Modify your `lightdm.conf` and make sure you have an entry per seat. Add `xdg-seat=<seatname>` to each seat and add `xserver-vt=0` to each seat EXCEPT `seat0`. Example: | Modify your `lightdm.conf` and make sure you have an entry per seat. Add `xdg-seat=<seatname>` to each seat and add `xserver-vt=0` to each seat EXCEPT `seat0`. Also, add `user-authority-in-system-dir=true` to the `SeatDefaults` section. This prevents LightDM from trying to use the same Xauthority file for all seats, which causes permission denied problems. If you do not use the version of X from the multiseat PPA, you will need to tell LightDM to start `/lib/systemd/systemd-multi-seat-x` instead of `X`. This program is a small wrapper around `X` that prevents input events on non-`seat0` seats from going to `seat0` and disables VT switching on non-`seat0` seats. It is only available in Ubuntu 13.10 (saucy) and newer. Example: |
Line 54: | Line 75: |
[SeatDefaults] user-authority-in-system-dir=true # for saucy and newer: the following line is only needed if you're not # using the version of X from the multiseat PPA (but it shouldn't hurt # if you are) xserver-command=/lib/systemd/systemd-multi-seat-x |
|
Line 151: | Line 179: |
* `lightdm`: update to newer upstream version 2014-02-16:: * update `lightdm` configuration instructions 2014-02-17:: * saucy `xorg-server`: update to newer upstream version * updated `xorg-server` section at this wiki page. |
Contents
Introduction
The MultiseatTeam maintains packages in the multiseat PPA. These packages are Ubuntu packages that have been patched to improve support for multiseat.
Status
TODO: document what patches have been applied to what packages, whether those patches have been submitted upstream, and whether they have been accepted upstream
lightdm
The lightdm package in the PPA contains some patches that make it possible to support multiseat, although at the moment you must configure the seats manually (see the instructions below). Automatic multiseat support has not yet been added (see bug #1190581).
xorg-server
The xorg-server package in the multiseat PPA includes patches and changes for the following issues:
bug #1209008: fix card detection on non-seat0 seats (sent upstream - review needed)
bug #659793: pass --enable-kdrive-evdev to configure (needed for Xephyr-based multiseat setup)
bug #???: enable Xephyr window placement using -screen WxH+X+Y option (sent upstream - review needed)
bug #???: introduce MatchSeat capability in xorg.conf (sent upstream - review needed)
bug #1228095: enable defaults for non-seat0 seats (no need to use systemd-multi-seat-x wrapper) (upstreamed - see commits c73c36b53 and 46cf2a6093)
bug #1243138: disable unit tests because buildd hangs on xvfb-run test
gdm
The gdm package in the multiseat PPA includes patches and changes for the following issues:
- bug #???: Add patch to fix automatic/timed login in multiseat context
bug #???: Add patch to explicitly set variable XDG_VTNR for seat0 (needed to avoid getting inactive graphical sessions for seat0 in some multiseat setups)
Others
The PPA contains some packages from saucy that have been backported to raring to complete logind support. The initial list of packages came from the ubuntu-core-dev team's logind PPA. Please contact the Ubuntu Multiseat team if you are aware of any additional packages that need backporting to raring.
Instructions
1. Name Your Seats
Come up with names for your seats. You must have a primary seat named seat0. All other seat names must begin with seat (see the rules for seat naming). Note that VT switching (and thus fast user switching) is (currently) only possible on seat0.
2. Configure Seat Hardware
Assign hardware devices to your seats by setting up udev rules. Note that all hardware is assigned to seat0 by default, so you only need to assign hardware to other seats.
Important notes:
For every seat other than seat0, you MUST:
set ID_SEAT to the name of the seat
- add a tag named after the seat
Unless you are you are using open-source video drivers, you will probably be required to create a rule that adds the master-of-seat tag to the seat's (main) video card.
Use udevadm trigger after you edit your rules to make them take effect, and udevadm info --export-db to see what udev did with your devices (to debug your rules).
- You MUST NOT have any newlines in a rule.
Example #1
Example system #1 has two seats (seat0 and seat1) and uses open-source video drivers. The file /etc/udev/rules.d/99-multiseat.rules was created and the following rules were added to it:
# assign USB ports TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:1d.7/usb2/*", ENV{ID_SEAT}="seat1", TAG+="seat1" # assign video cards TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:07.0/0000:03:00.0/*", ENV{ID_SEAT}="seat1", TAG+="seat1"
Example #2
Example system #2 has two seats (seat0 and seat1) and uses the proprietary NVIDIA driver. The file /etc/udev/rules.d/99-multiseat.rules was created and the following rules were added to it:
# assign USB ports TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/*", ENV{ID_SEAT}="seat1", TAG+="seat1" # assign video cards TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/*", ENV{ID_SEAT}="seat1", TAG+="seat1" # add master-of-seat tag to video cards TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:01.0/0000:01:00.0/*", TAG+="master-of-seat" TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/*", TAG+="master-of-seat"
3. Configure lightdm
Modify your lightdm.conf and make sure you have an entry per seat. Add xdg-seat=<seatname> to each seat and add xserver-vt=0 to each seat EXCEPT seat0.
Also, add user-authority-in-system-dir=true to the SeatDefaults section. This prevents LightDM from trying to use the same Xauthority file for all seats, which causes permission denied problems.
If you do not use the version of X from the multiseat PPA, you will need to tell LightDM to start /lib/systemd/systemd-multi-seat-x instead of X. This program is a small wrapper around X that prevents input events on non-seat0 seats from going to seat0 and disables VT switching on non-seat0 seats. It is only available in Ubuntu 13.10 (saucy) and newer.
Example:
[SeatDefaults] user-authority-in-system-dir=true # for saucy and newer: the following line is only needed if you're not # using the version of X from the multiseat PPA (but it shouldn't hurt # if you are) xserver-command=/lib/systemd/systemd-multi-seat-x [Seat:0] xdg-seat=seat0 [Seat:1] xdg-seat=seat1 xserver-vt=0
4. Install PPA Packages
Upgrade to the packages in the multiseat PPA by running the following commands:
sudo apt-add-repository ppa:ubuntu-multiseat/ppa sudo apt-get update sudo apt-get upgrade
5. (raring only) install libpam-systemd
The libpam-systemd package replaces libpam-xdg-support.
6. Reboot
7. Profit!
Known Issues
DVB device ACLs and MythTV: udev and logind want only logged-in users to have access to attached DVB devices. This is accomplished by setting up /dev ACLs when a user logs in. Unfortunately, this conflicts with MythTV, which always wants access to the TV tuner device(s). I'm not exactly sure how to fix this. Modifying /lib/udev/rules.d/70-uaccess.rules and 70-udev-acl.rules and commenting out the dvb lines seems to work, but is fragile -- those files will be replaced the next time systemd-services and udev are upgraded. udev apparently doesn't provide a way to remove a tag once one has been set, so putting a new file in /etc/udev/rules.d won't work. Anyone have any ideas?
bug #976124: On some systems, only one user can be logged in by typing a password at a time. All other users must be automatically logged in via LightDM's autologin-user setting.
Due to a technical limitation in Linux's virtual terminal subsystem and how it interacts with X, only seat0 can switch users. To switch users on another seat you must first log out and then log back in as the other user. Perhaps Mir, Wayland, and/or kmscon will address this.
LightDM is unaware that user switching is unsupported on non-seat0 seats. It will allow you to try to switch, but fails to switch.
bug #1190581: Automatic multiseat support has not yet been implemented.
ChangeLog
- 2013-07-11
- initial upload of packages for raring
- initial draft of instructions
- 2013-07-12
- update instructions
- update known issues
- 2013-07-14
interpret LightDM xserver-vt=0 setting to mean -sharevts
- add documentation for the new LightDM settings
- improve LightDM logging
- update instructions
- update known issues
backport newer upstream (saucy) packages to get better logind support
add backported acpi-support package to drop consolekit dependency
- 2013-07-15
- update known issues
- 2013-07-17
- update known issues
update dbus
- 2013-07-18
backport newer indicator-session
remove known issues that I believe are fixed by the newer indicator-session
- 2013-07-20
upload lightdm for saucy
- 2013-08-04
update lightdm to the latest upstream version
lightdm: change xserver-seat setting name to xdg-seat
other miscellaneous internal lightdm cleanups in preparation for submission upstream
- 2013-08-07
migrate PPA from https://launchpad.net/~a7x/+archive/multiseat
add instruction to tag each seat's video card with master-of-seat
- update known issues
- 2013-08-08
add unity-greeter with fix for bug #1201122 integrated
add xorg-server with fix for bug #1209008 integrated
- update known issues
- 2013-08-10
update patch for unity-greeter
- 2013-08-14
update xorg-server and unity-greeter for saucy
update lightdm multiseat patch from multiseat bzr branch
- 2013-10-19
raring dbus: cherry-pick changes from saucy 1.6.12-0ubuntu6 and 1.6.12-0ubuntu7
raring network-manager: cherry-pick bluetooth bug fix from saucy 0.9.8.0-0ubuntu22 (also raring 0.9.8.0-0ubuntu6.1)
raring policykit-1: update to latest saucy version
saucy unity-greeter: remove; new upstream version has been released with multiseat change integrated
xorg-server: apply fix for bug #1209008 to latest version
raring gnome-screensaver, gnome-settings-daemon: update to newer saucy versions to get logind fixes
lightdm: apply multiseat patches to latest version
- 2013-10-23
saucy xorg-server: add fix for bug #1228095, include evdev driver support in kdrive, and add a new MatchSeat option. See: http://lists.x.org/archives/xorg-devel/2013-September/037945.html and http://lists.x.org/archives/xorg-devel/2013-September/037946.html
- 2013-10-24
- update instructions
raring xorg-server: add fix for bug #1228095, include evdev driver suport in kdrive, and add a new MatchSeat option (to match saucy xorg-server)
add saucy gdm with support for automatic login in multiseat setups. see: https://bugzilla.gnome.org/show_bug.cgi?id=704581
- 2013-10-25
backport newer saucy gdm to raring to get logind support; add multiseat automatic login patch that was just added to the saucy version of gdm
- 2013-11-01
saucy gdm: add patch to prevent getting inactive graphical session for seat0. PROBLEMS MAY STILL OCCUR WITH USER-SWITCHING ON seat0!!! See: https://bugzilla.redhat.com/show_bug.cgi?id=1018196
- 2013-11-07
lightdm: update to newer upstream version
- 2013-12-27
raring systemd: cherry-pick changes made for 198-0ubuntu12 (to get org.freedesktop.login1 dbus service)
- 2014-02-14
moved instructions, known issues, and changelog from https://launchpad.net/~ubuntu-multiseat/+archive/ppa to this wiki page
lightdm: update to newer upstream version
- 2014-02-16
update lightdm configuration instructions
- 2014-02-17
saucy xorg-server: update to newer upstream version
updated xorg-server section at this wiki page.
MultiseatTeam/Packages (last edited 2015-03-17 15:49:33 by bb42d0d7)