summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzr-builddeb/default.conf2
-rw-r--r--NEWS11
-rw-r--r--configure.ac2
-rw-r--r--debian/50-greeter-wrapper.conf2
-rw-r--r--debian/50-xserver-command.conf3
-rw-r--r--debian/changelog1620
-rw-r--r--debian/compat1
-rw-r--r--debian/control137
-rw-r--r--debian/copyright76
-rw-r--r--debian/gir1.2-lightdm-1.install1
-rw-r--r--debian/guest-account152
-rw-r--r--debian/liblightdm-gobject-1-0.install1
-rw-r--r--debian/liblightdm-gobject-1-0.symbols76
-rw-r--r--debian/liblightdm-gobject-1-dev.install5
-rw-r--r--debian/liblightdm-gobject-1-doc.install1
-rw-r--r--debian/liblightdm-qt-3-0.install1
-rw-r--r--debian/liblightdm-qt-dev.install3
-rw-r--r--debian/liblightdm-qt5-3-0.install1
-rw-r--r--debian/liblightdm-qt5-3-dev.install3
-rw-r--r--debian/lightdm-greeter-session36
-rw-r--r--debian/lightdm-session98
-rw-r--r--debian/lightdm.config71
-rw-r--r--debian/lightdm.dirs3
-rw-r--r--debian/lightdm.init112
-rw-r--r--debian/lightdm.install16
-rw-r--r--debian/lightdm.lightdm-autologin.pam11
-rw-r--r--debian/lightdm.lightdm-greeter.pam11
-rw-r--r--debian/lightdm.pam14
-rw-r--r--debian/lightdm.postinst98
-rw-r--r--debian/lightdm.postrm47
-rw-r--r--debian/lightdm.preinst13
-rw-r--r--debian/lightdm.prerm58
-rw-r--r--debian/lightdm.templates24
-rw-r--r--debian/lightdm.upstart58
-rw-r--r--debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch21
-rw-r--r--debian/patches/04_language_handling.patch54
-rw-r--r--debian/patches/series2
-rw-r--r--debian/po/POTFILES.in1
-rw-r--r--debian/po/ca.po99
-rw-r--r--debian/po/cs.po96
-rw-r--r--debian/po/da.po112
-rw-r--r--debian/po/de.po111
-rw-r--r--debian/po/el.po113
-rw-r--r--debian/po/es.po97
-rw-r--r--debian/po/eu.po101
-rw-r--r--debian/po/fi.po38
-rw-r--r--debian/po/fr.po106
-rw-r--r--debian/po/gl.po85
-rw-r--r--debian/po/it.po102
-rw-r--r--debian/po/ja.po102
-rw-r--r--debian/po/ko.po77
-rw-r--r--debian/po/ml.po80
-rw-r--r--debian/po/nl.po102
-rw-r--r--debian/po/pl.po80
-rw-r--r--debian/po/pothead.in30
-rw-r--r--debian/po/pt.po64
-rw-r--r--debian/po/pt_BR.po103
-rw-r--r--debian/po/ro.po112
-rw-r--r--debian/po/ru.po102
-rw-r--r--debian/po/sk.po82
-rw-r--r--debian/po/sv.po103
-rw-r--r--debian/po/ta.po77
-rw-r--r--debian/po/templates.pot50
-rw-r--r--debian/po/tr.po93
-rw-r--r--debian/po/vi.po89
-rw-r--r--debian/po/zh_CN.po92
-rwxr-xr-xdebian/rules37
-rw-r--r--debian/source/format1
-rw-r--r--debian/source_lightdm.py28
-rw-r--r--debian/tests/control3
-rw-r--r--debian/tests/upstream-tests8
-rw-r--r--debian/watch3
-rw-r--r--liblightdm-gobject/session.c2
-rw-r--r--po/af.po4
-rw-r--r--po/an.po4
-rw-r--r--po/ar.po4
-rw-r--r--po/ast.po4
-rw-r--r--po/az.po4
-rw-r--r--po/be.po4
-rw-r--r--po/bg.po4
-rw-r--r--po/bn.po4
-rw-r--r--po/bo.po4
-rw-r--r--po/br.po4
-rw-r--r--po/bs.po4
-rw-r--r--po/ca.po4
-rw-r--r--po/ca@valencia.po4
-rw-r--r--po/ckb.po4
-rw-r--r--po/cs.po4
-rw-r--r--po/da.po4
-rw-r--r--po/de.po4
-rw-r--r--po/el.po4
-rw-r--r--po/en_AU.po4
-rw-r--r--po/en_CA.po4
-rw-r--r--po/en_GB.po4
-rw-r--r--po/eo.po4
-rw-r--r--po/es.po4
-rw-r--r--po/et.po4
-rw-r--r--po/eu.po4
-rw-r--r--po/fa.po4
-rw-r--r--po/fi.po4
-rw-r--r--po/fo.po4
-rw-r--r--po/fr.po4
-rw-r--r--po/fy.po4
-rw-r--r--po/gd.po4
-rw-r--r--po/gl.po4
-rw-r--r--po/gu.po4
-rw-r--r--po/he.po4
-rw-r--r--po/hi.po4
-rw-r--r--po/hr.po4
-rw-r--r--po/hu.po4
-rw-r--r--po/ia.po4
-rw-r--r--po/id.po4
-rw-r--r--po/is.po4
-rw-r--r--po/it.po4
-rw-r--r--po/ja.po4
-rw-r--r--po/kk.po4
-rw-r--r--po/km.po4
-rw-r--r--po/kn.po4
-rw-r--r--po/ko.po4
-rw-r--r--po/ku.po4
-rw-r--r--po/lb.po4
-rw-r--r--po/lt.po4
-rw-r--r--po/lv.po4
-rw-r--r--po/mhr.po4
-rw-r--r--po/mi.po4
-rw-r--r--po/ml.po4
-rw-r--r--po/mr.po4
-rw-r--r--po/ms.po4
-rw-r--r--po/my.po4
-rw-r--r--po/nb.po4
-rw-r--r--po/nl.po4
-rw-r--r--po/nn.po4
-rw-r--r--po/oc.po4
-rw-r--r--po/pa.po4
-rw-r--r--po/pl.po4
-rw-r--r--po/pt.po4
-rw-r--r--po/pt_BR.po4
-rw-r--r--po/ro.po4
-rw-r--r--po/ru.po4
-rw-r--r--po/sc.po4
-rw-r--r--po/sd.po4
-rw-r--r--po/shn.po4
-rw-r--r--po/si.po4
-rw-r--r--po/sk.po4
-rw-r--r--po/sl.po4
-rw-r--r--po/sq.po4
-rw-r--r--po/sr.po4
-rw-r--r--po/sv.po4
-rw-r--r--po/ta.po4
-rw-r--r--po/te.po4
-rw-r--r--po/tg.po4
-rw-r--r--po/th.po4
-rw-r--r--po/tl.po4
-rw-r--r--po/tr.po4
-rw-r--r--po/ug.po4
-rw-r--r--po/uk.po4
-rw-r--r--po/uz.po4
-rw-r--r--po/vi.po4
-rw-r--r--po/wae.po4
-rw-r--r--po/zh_CN.po4
-rw-r--r--po/zh_HK.po4
-rw-r--r--po/zh_TW.po4
-rw-r--r--src/Makefile.am2
-rw-r--r--src/display-server.c23
-rw-r--r--src/display-server.h1
-rw-r--r--src/greeter.c54
-rw-r--r--src/lightdm.c8
-rw-r--r--src/logger.c81
-rw-r--r--src/logger.h60
-rw-r--r--src/seat-unity.c78
-rw-r--r--src/seat-xlocal.c20
-rw-r--r--src/seat-xremote.c14
-rw-r--r--src/seat.c178
-rw-r--r--src/seat.h1
-rw-r--r--src/session-config.c12
-rw-r--r--src/session-config.h2
-rw-r--r--src/session.c63
-rw-r--r--src/session.h1
-rw-r--r--src/x-server-local.c22
-rw-r--r--src/x-server-xvnc.c22
-rw-r--r--src/x-server.c17
-rw-r--r--tests/Makefile.am12
-rw-r--r--tests/data/sessions/named.desktop5
-rw-r--r--tests/scripts/additional-config.conf2
-rw-r--r--tests/scripts/autologin-guest-fail-setup-script.conf2
-rw-r--r--tests/scripts/autologin-guest-in-background.conf4
-rw-r--r--tests/scripts/autologin-guest-logout.conf4
-rw-r--r--tests/scripts/autologin-guest-timeout.conf4
-rw-r--r--tests/scripts/autologin-guest.conf2
-rw-r--r--tests/scripts/autologin-in-background.conf4
-rw-r--r--tests/scripts/autologin-invalid-session.conf2
-rw-r--r--tests/scripts/autologin-invalid-user.conf2
-rw-r--r--tests/scripts/autologin-logout.conf4
-rw-r--r--tests/scripts/autologin-new-authtok.conf2
-rw-r--r--tests/scripts/autologin-password.conf2
-rw-r--r--tests/scripts/autologin-previous-session.conf2
-rw-r--r--tests/scripts/autologin-session-crash.conf4
-rw-r--r--tests/scripts/autologin-session-error.conf2
-rw-r--r--tests/scripts/autologin-timeout-in-background.conf4
-rw-r--r--tests/scripts/autologin-timeout.conf4
-rw-r--r--tests/scripts/autologin-xserver-crash.conf4
-rw-r--r--tests/scripts/autologin.conf2
-rw-r--r--tests/scripts/cancel-authentication.conf2
-rw-r--r--tests/scripts/change-authentication.conf2
-rw-r--r--tests/scripts/console-kit.conf6
-rw-r--r--tests/scripts/crash-authenticate.conf2
-rw-r--r--tests/scripts/cred-error.conf2
-rw-r--r--tests/scripts/cred-expired.conf2
-rw-r--r--tests/scripts/cred-unavail.conf2
-rw-r--r--tests/scripts/dbus.conf4
-rw-r--r--tests/scripts/denied.conf2
-rw-r--r--tests/scripts/expired.conf2
-rw-r--r--tests/scripts/greeter-allow-guest.conf2
-rw-r--r--tests/scripts/greeter-default-session.conf2
-rw-r--r--tests/scripts/greeter-fail-start.conf2
-rw-r--r--tests/scripts/greeter-hide-users.conf2
-rw-r--r--tests/scripts/greeter-show-manual-login.conf2
-rw-r--r--tests/scripts/greeter-show-remote-login.conf2
-rw-r--r--tests/scripts/greeter-wrapper.conf2
-rw-r--r--tests/scripts/greeter-xserver-crash.conf4
-rw-r--r--tests/scripts/group-membership.conf2
-rw-r--r--tests/scripts/home-dir-on-authenticate.conf2
-rw-r--r--tests/scripts/home-dir-on-session.conf2
-rw-r--r--tests/scripts/keyboard-layout.conf2
-rw-r--r--tests/scripts/language-env.conf2
-rw-r--r--tests/scripts/language-no-accounts-service.conf2
-rw-r--r--tests/scripts/language.conf2
-rw-r--r--tests/scripts/lock-seat-console-kit.conf59
-rw-r--r--tests/scripts/lock-seat-return-session-console-kit.conf74
-rw-r--r--tests/scripts/lock-seat-return-session.conf10
-rw-r--r--tests/scripts/lock-seat.conf7
-rw-r--r--tests/scripts/lock-session-no-password.conf7
-rw-r--r--tests/scripts/lock-session-return-session.conf10
-rw-r--r--tests/scripts/lock-session.conf7
-rw-r--r--tests/scripts/login-crash-authenticate.conf2
-rw-r--r--tests/scripts/login-guest-disabled.conf2
-rw-r--r--tests/scripts/login-guest-fail-setup-script.conf4
-rw-r--r--tests/scripts/login-guest-logout.conf6
-rw-r--r--tests/scripts/login-guest-no-setup-script.conf2
-rw-r--r--tests/scripts/login-guest.conf4
-rw-r--r--tests/scripts/login-info-prompt.conf2
-rw-r--r--tests/scripts/login-invalid-session.conf2
-rw-r--r--tests/scripts/login-invalid-user.conf2
-rw-r--r--tests/scripts/login-logout.conf6
-rw-r--r--tests/scripts/login-long-password.conf2
-rw-r--r--tests/scripts/login-long-username.conf2
-rw-r--r--tests/scripts/login-manual-previous-session.conf4
-rw-r--r--tests/scripts/login-manual.conf4
-rw-r--r--tests/scripts/login-multi-info-prompt.conf2
-rw-r--r--tests/scripts/login-multi-prompt.conf2
-rw-r--r--tests/scripts/login-new-authtok.conf4
-rw-r--r--tests/scripts/login-no-password.conf4
-rw-r--r--tests/scripts/login-pam.conf4
-rw-r--r--tests/scripts/login-pick-session.conf4
-rw-r--r--tests/scripts/login-previous-session.conf4
-rw-r--r--tests/scripts/login-remember-session.conf8
-rw-r--r--tests/scripts/login-remote-session.conf4
-rw-r--r--tests/scripts/login-session-crash.conf6
-rw-r--r--tests/scripts/login-two-factor.conf2
-rw-r--r--tests/scripts/login-wrong-password.conf2
-rw-r--r--tests/scripts/login-xserver-crash.conf6
-rw-r--r--tests/scripts/login.conf4
-rw-r--r--tests/scripts/mir-autologin.conf2
-rw-r--r--tests/scripts/mir-session.conf2
-rw-r--r--tests/scripts/no-accounts-service.conf2
-rw-r--r--tests/scripts/no-config.conf2
-rw-r--r--tests/scripts/no-console-kit-or-login1.conf2
-rw-r--r--tests/scripts/no-console-kit.conf2
-rw-r--r--tests/scripts/no-keyboard-layout.conf2
-rw-r--r--tests/scripts/no-language.conf2
-rw-r--r--tests/scripts/no-login1.conf2
-rw-r--r--tests/scripts/open-file-descriptors.conf4
-rw-r--r--tests/scripts/pam.conf2
-rw-r--r--tests/scripts/plymouth-active-vt.conf2
-rw-r--r--tests/scripts/plymouth-inactive-vt.conf2
-rw-r--r--tests/scripts/power-no-console-kit.conf2
-rw-r--r--tests/scripts/power-no-login1.conf2
-rw-r--r--tests/scripts/power-no-services.conf2
-rw-r--r--tests/scripts/power.conf2
-rw-r--r--tests/scripts/restart-authentication.conf2
-rw-r--r--tests/scripts/script-hook-fail-session-setup.conf2
-rw-r--r--tests/scripts/script-hooks.conf4
-rw-r--r--tests/scripts/session-env.conf2
-rw-r--r--tests/scripts/session-stderr-backup.conf10
-rw-r--r--tests/scripts/session-stderr-multi-write.conf2
-rw-r--r--tests/scripts/session-stderr.conf2
-rw-r--r--tests/scripts/session-stdout.conf2
-rw-r--r--tests/scripts/switch-to-greeter-new-session-logout-new.conf11
-rw-r--r--tests/scripts/switch-to-greeter-new-session-logout-old.conf23
-rw-r--r--tests/scripts/switch-to-greeter-new-session.conf9
-rw-r--r--tests/scripts/switch-to-greeter-return-session-logout.conf12
-rw-r--r--tests/scripts/switch-to-greeter-return-session.conf10
-rw-r--r--tests/scripts/switch-to-greeter.conf7
-rw-r--r--tests/scripts/switch-to-guest.conf7
-rw-r--r--tests/scripts/switch-to-user-existing-session.conf2
-rw-r--r--tests/scripts/switch-to-user-logout.conf9
-rw-r--r--tests/scripts/switch-to-user-no-password.conf7
-rw-r--r--tests/scripts/switch-to-user.conf7
-rw-r--r--tests/scripts/switch-to-users.conf12
-rw-r--r--tests/scripts/system-xauthority.conf2
-rw-r--r--tests/scripts/unity-autologin.conf2
-rw-r--r--tests/scripts/unity-compositor-command.conf2
-rw-r--r--tests/scripts/unity-compositor-fail-ready.conf2
-rw-r--r--tests/scripts/unity-compositor-fail-start.conf2
-rw-r--r--tests/scripts/unity-login.conf4
-rw-r--r--tests/scripts/unity-mir-autologin.conf2
-rw-r--r--tests/scripts/unity-mir-greeter-mir-session.conf4
-rw-r--r--tests/scripts/unity-mir-greeter-x-session.conf4
-rw-r--r--tests/scripts/unity-mir-session-x-greeter.conf4
-rw-r--r--tests/scripts/unity-plymouth.conf2
-rw-r--r--tests/scripts/unity-switch.conf11
-rw-r--r--tests/scripts/upstart-autologin.conf (renamed from tests/scripts/login1.conf)16
-rw-r--r--tests/scripts/upstart-login.conf49
-rw-r--r--tests/scripts/user-renamed-invalid.conf2
-rw-r--r--tests/scripts/user-renamed.conf2
-rw-r--r--tests/scripts/users.conf2
-rw-r--r--tests/scripts/util-path.conf2
-rw-r--r--tests/scripts/xauthority.conf2
-rw-r--r--tests/scripts/xdg-current-desktop.conf28
-rw-r--r--tests/scripts/xserver-no-share.conf4
-rw-r--r--tests/src/Makefile.am2
-rw-r--r--tests/src/initctl.c21
-rw-r--r--tests/src/libsystem.c4
-rw-r--r--tests/src/test-gobject-greeter.c13
-rwxr-xr-xtests/src/test-python-greeter12
-rw-r--r--tests/src/test-qt-greeter.cpp17
-rw-r--r--tests/src/test-runner.c68
-rw-r--r--tests/src/test-session.c16
-rwxr-xr-xtests/test-lock-seat-console-kit2
-rwxr-xr-xtests/test-lock-seat-return-session-console-kit2
-rwxr-xr-xtests/test-login12
-rwxr-xr-xtests/test-upstart-autologin2
-rwxr-xr-xtests/test-upstart-login2
-rwxr-xr-xtests/test-xdg-current-desktop2
334 files changed, 6738 insertions, 599 deletions
diff --git a/.bzr-builddeb/default.conf b/.bzr-builddeb/default.conf
new file mode 100644
index 00000000..6c96a984
--- /dev/null
+++ b/.bzr-builddeb/default.conf
@@ -0,0 +1,2 @@
+[BUILDDEB]
+split = True
diff --git a/NEWS b/NEWS
index a8d6e272..3b06afa4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+Overview of changes in lightdm 1.7.9
+
+ * Correctly set XDG_VTNR for unity sessions that are not autologin.
+
+Overview of changes in lightdm 1.7.8
+
+ * Add support for Mir sessions and greeters.
+ * Set XDG_VTNR for unity sessions.
+ * Fix desktop-session-start upstart signal not being emitted since 1.7.5.
+ * Fix greeter log broken in 1.7.5.
+
Overview of changes in lightdm 1.7.7
* Fix uninitialized pointer introduced in 1.7.3
diff --git a/configure.ac b/configure.ac
index 728557ef..f5edbf85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(lightdm, 1.7.7)
+AC_INIT(lightdm, 1.7.9)
AC_CONFIG_MACRO_DIR(m4)
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
diff --git a/debian/50-greeter-wrapper.conf b/debian/50-greeter-wrapper.conf
new file mode 100644
index 00000000..20f9d09e
--- /dev/null
+++ b/debian/50-greeter-wrapper.conf
@@ -0,0 +1,2 @@
+[SeatDefaults]
+greeter-wrapper=/usr/lib/lightdm/lightdm-greeter-session
diff --git a/debian/50-xserver-command.conf b/debian/50-xserver-command.conf
new file mode 100644
index 00000000..c7b2507a
--- /dev/null
+++ b/debian/50-xserver-command.conf
@@ -0,0 +1,3 @@
+[SeatDefaults]
+# Dump core
+xserver-command=X -core
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 00000000..e4d59dde
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1620 @@
+lightdm (1.7.9-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Correctly set XDG_VTNR for unity sessions that are not autologin.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 30 Jul 2013 18:35:21 +0100
+
+lightdm (1.7.8-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Add support for Mir sessions and greeters.
+ - Set XDG_VTNR for unity sessions.
+ - Fix desktop-session-start upstart signal not being emitted since 1.7.5.
+ - Fix greeter log broken in 1.7.5.
+ * debian/liblightdm-gobject-1-0.symbols:
+ - Updated
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 30 Jul 2013 15:27:58 +0100
+
+lightdm (1.7.7-0ubuntu2) saucy; urgency=low
+
+ * debian/lightdm.init:
+ - Use correct path to daemon (LP: #1204713)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 25 Jul 2013 14:25:48 +1200
+
+lightdm (1.7.7-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Fix uninitialized pointer introduced in 1.7.3
+ - Enable compile warnings and fix code generating warnings
+ * debian/patches/50_ubuntu_fix_uninitialised_pointer.patch:
+ - Applied upstream:
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 23 Jul 2013 11:23:47 +1200
+
+lightdm (1.7.6-0ubuntu2) saucy; urgency=low
+
+ * src/main.c: fix up an unitialised pointer in configuration directory
+ handling. (LP: #1203711)
+
+ -- Andy Whitcroft <apw@canonical.com> Mon, 22 Jul 2013 11:36:05 +0100
+
+lightdm (1.7.6-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ [ 1.7.6 ]
+ - Restore greeter hints that were regressed in 1.7.5.
+ - Don't run greeters through session wrapper - regression in 1.7.5
+ [ 1.7.5 ]
+ - Quit Plymouth correctly when using the unity seat type (LP: #1192051)
+ - Release the VT when the system compositor fails to start
+ - Load sessions and greeters from /usr/share/lightdm/sessions and
+ /usr/share/lightdm/greeters. The existing directories are checked
+ if the sessions are not in these directories.
+ - Refactor the Display class so that it merges with the Seat class
+ - Support running the greeter and session in different display servers
+ instead of re-using the same one during a login.
+ - Add more regression tests
+ - Documentation fixes
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 22 Jul 2013 17:13:19 +1200
+
+lightdm (1.7.4-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Set XDG_SEAT and XDG_VTNR environment variables.
+ - Add initial support for Unity (i.e. Mir based) seats.
+ - Add a greeter wrapper option.
+ * debian/50-xserver-command.conf:
+ * debian/patches/05_add_xserver_core_option.patch:
+ - Use a conf file to replace X server core patch
+ * debian/50-greeter-wrapper.conf
+ * debian/patches/03_launch_dbus.patch
+ - Use a conf file to greeter wrapper patch
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 01 Jul 2013 15:47:21 +1200
+
+lightdm (1.7.3-0ubuntu2) saucy; urgency=low
+
+ * debian/guest-account: disable screen locking in a more reliable way.
+ Rather than trying to write a key for another user, while setting up the
+ guest user account, just set up an autostart desktop that will set it
+ during the login (lp: #951000)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 25 Jun 2013 22:30:04 +0200
+
+lightdm (1.7.3-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Load configuration from /etc/lightdm/lightdm.conf.d. (LP: #1190425)
+ - Fix compile warnings
+ - Fix tests not running from install directory inside checkout.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 21 Jun 2013 14:39:27 +1200
+
+lightdm (1.7.2-0ubuntu1) saucy; urgency=low
+
+ * New upstream release:
+ - Fix .pc file for liblightdm-qt5-3
+ - Add a new option "autologin-in-background" which lets an autologin happen
+ in a second display while still showing the greeter.
+ - Stop if fail to create default seat
+ - Add option to set seat type in lightdm-set-defaults
+ - Stop using g_file_set_contents - it can leave intermediate files around
+ - Make tests work without installing them
+ - Fix distcheck
+ * debian/patches/06_fix_qt_pcfiles.patch:
+ * debian/patches/07_lp1189948.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 17 Jun 2013 14:08:46 +1200
+
+lightdm (1.7.0-0ubuntu6) saucy; urgency=low
+
+ * install apparmor abstractions as 064 (LP: #1189948)
+ - debian/patches/07_lp1189948.patch: adjust Makefile.am and Makefile.in
+ to use install --mode=0644
+ - debian/lightdm.postinst: chmod apparmor abstractions to 0644 on upgrade
+
+ -- Jamie Strandboge <jamie@ubuntu.com> Tue, 11 Jun 2013 14:11:34 -0500
+
+lightdm (1.7.0-0ubuntu5) saucy; urgency=low
+
+ * Drop XS-Testsuite header. We don't actually have any autopkgtests right
+ now (they are commented out in debian/tests/control and are broken).
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 06 Jun 2013 06:58:11 +0200
+
+lightdm (1.7.0-0ubuntu4) saucy; urgency=low
+
+ * Install some files in liblightdm-qt-dev, so it's somewhat useful.
+
+ -- Adam Conrad <adconrad@ubuntu.com> Fri, 24 May 2013 00:31:31 -0600
+
+lightdm (1.7.0-0ubuntu3) saucy; urgency=low
+
+ * Switch to unversioned -dev package for liblightdm-qt to match Debian and
+ avoid having to change other packages synced from Debian
+ * Swtich Conflicts to Breaks and add liblightdm-qt-3-dev to Breaks/Replaces
+
+ -- Scott Kitterman <scott@kitterman.com> Fri, 24 May 2013 00:37:06 -0400
+
+lightdm (1.7.0-0ubuntu2) saucy; urgency=low
+
+ * Cherry-pick patches from upstream to fix liblightdm-qt{,5} pcfiles.
+ * Refresh patches to apply cleanly
+
+ -- Iain Lane <iain.lane@canonical.com> Tue, 07 May 2013 17:36:29 +0100
+
+lightdm (1.7.0-0ubuntu1) saucy; urgency=low
+
+ [ Robert Ancell ]
+ * New upstream release:
+ - Use logind instead of ConsoleKit if it is available
+ - Use Q_SLOTS and Q_SIGNALS instead of slots and signals.
+ - Ignore stale X server locks
+ - Pass through system locale or set locale from AccountsService/.dmrc
+ - Fix bug where seat failure before D-Bus acquired would not stop daemon
+ * debian/control:
+ - liblightdm-qt-2 -> liblightdm-qt-3
+ * debian/patches/06_qt_no_keywords.patch:
+ - Applied upstream
+
+ [ Gunnar Hjalmarsson ]
+ * debian/patches/04_language_options.patch:
+ - Applied upstream
+ * debian/patches/04_language_handling.patch:
+ - Set LANGUAGE instead of LANG, since the Language property in
+ accountsservice as patched for Ubuntu does not contain a valid
+ locale name.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 02 May 2013 10:20:02 -0700
+
+lightdm (1.6.0-0ubuntu2.1) raring-proposed; urgency=low
+
+ * lightdm.upstart: Add a start condition on plymouth-ready, and
+ drop conditions already handled by plymouth-splash (LP: #982889).
+ * control: Depend on the new plymouth version that provides plymouth-ready.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com> Tue, 23 Apr 2013 12:10:28 +0300
+
+lightdm (1.6.0-0ubuntu2) raring; urgency=low
+
+ * debian/patches/06_qt_no_keywords.patch:
+ - Don't use Qt keywords like slots and signals in headers. Instead,
+ use Q_SLOTS and Q_SIGNALS. This avoids breaking builds of projects
+ that define QT_NO_KEYWORDS.
+
+ -- Michael Terry <mterry@ubuntu.com> Mon, 15 Apr 2013 11:31:15 -0400
+
+lightdm (1.6.0-0ubuntu1) raring; urgency=low
+
+ * New upstream bugfix release:
+ - Allow VNC command to be specified in lightdm.conf
+ - Register enums with QObject meta type system.
+ * debian/watch:
+ - Watch for .xz releases
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 15 Apr 2013 11:01:22 +1200
+
+lightdm (1.5.3-0ubuntu1) raring; urgency=low
+
+ * New upstream bugfix release:
+ - Fix build with gobject-introspection 1.35.9
+ - Fix authentication cancel regression caused in 1.5.2 (LP: #1163456)
+ * debian/patches/fix-ftbfs-gir-scanner.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 03 Apr 2013 15:55:16 +1300
+
+lightdm (1.5.2-0ubuntu2) raring; urgency=low
+
+ * Pass --symbol-prefix via LightDM_1_gir_SCANNERFLAGS rather than
+ LightDM_1_gir_CFLAGS, fixing build failure with
+ gobject-introspection >= 1.35.9.
+
+ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com> Tue, 02 Apr 2013 12:51:14 +0100
+
+lightdm (1.5.2-0ubuntu1) raring; urgency=low
+
+ * New upstream bugfix release:
+ * Fix stale X server being left behind when using LockSession D-Bus API
+ (LP: #1005813)
+ * Adjust AppArmor profile to also work with logind
+ * Don't use GIO to access X authority files - it uses GVFS which is
+ unnecessary overhead/complexity
+ * Handle over/underflows when reading from greeter
+ * Improve warning message when XDMCP packet has length mismatch
+ * Only report test command line if it fails
+ * Add more regression tests
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 27 Mar 2013 14:44:44 +1300
+
+lightdm (1.5.1-0ubuntu2) raring; urgency=low
+
+ * debian/lightdm.upstart: Clear the virtual terminal after starting lightdm
+ so startup messages are not displayed when switching users or when
+ suspending (LP: #967229)
+
+ -- Brian Murray <brian@ubuntu.com> Thu, 21 Mar 2013 14:33:46 -0700
+
+lightdm (1.5.1-0ubuntu1) raring; urgency=low
+
+ * New upstream release:
+ [ 1.5.0 ]
+ - Add man page for lightdm-set-defaults (LP: #1044485)
+ - Use xzip for distribution, don't distribute old metadata
+ - Correctly check if display is active when session quits
+ - Relicense liblightdm to LGPL-2/LGPL-3 so GPL-2 code can link against it
+ - Selectively lock memory rather than calling mlockall for main daemon
+ [ 1.5.1 ]
+ - QLightDM: Add Qt5 version of the library: liblightdm-qt5-2 (LP: #1117355)
+ - QLightDM: Add some missing role names in UsersModel
+ - QLightDM: Add a backgroundPath role to UsersModel
+ - QLightDM: Fix potential crash in QLightDM::UsersModel closedown.
+ - Improve guest session apparmor
+ - Run each test in its own /tmp dir so they can't interfere with eachother
+ - Fix script hooks no longer working with latest glib (LP: #1128474)
+ - Fix display clean up code
+ * debian/control:
+ - Use standards version 3.9.4
+ - Drop bzr branch
+ - Build-depend on qtbase5-dev
+ - Add new Qt 5 packages
+ * debian/patches/08_lp1059510.patch:
+ * debian/patches/09_lp577919-fix-chromium-launch.patch:
+ * debian/patches/10_selective_mlock.patch:
+ * debian/patches/11_runtime_dir_access.patch:
+ - Applied upstream
+ * debian/source/format:
+ - Use 3.0
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 08 Mar 2013 11:06:52 +1300
+
+lightdm (1.4.0-0ubuntu5) raring; urgency=low
+
+ * Add 11_runtime_dir_access.patch: Allow guest session to write
+ /run/user/<username>/. (LP: #1131139)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 25 Feb 2013 14:44:18 +0100
+
+lightdm (1.4.0-0ubuntu4) raring; urgency=low
+
+ * Update pam configs to call pam_env last and use user_readenv=1
+ explicitly, so that ~/.pam_environment can always be read even when
+ home directories are encrypted with ecryptfs. LP: #952185.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 12 Feb 2013 12:57:29 -0800
+
+lightdm (1.4.0-0ubuntu3) raring; urgency=low
+
+ [ Michael Terry ]
+ * debian/02_disable_tests.patch, debian/rules:
+ - Drop patch, disable test suite during build by just overriding
+ dh_auto_test. This way we can still manually run tests
+ * debian/control, debian/tests:
+ - Add dep8 tests to run upstream test suite. The suite only works once
+ lightdm is installed into PREFIX. So we must run via dep8.
+ Disabled for now until the next upstream release.
+ * debian/patches/05_add_xserver_core_option.patch:
+ - Modify test X server to also accept -core
+ * debian/patches/10_selective_mlock.patch:
+ - Backport patch from upstream to not use mlockall for the daemon
+ (LP: #1074279)
+ * debian/rules:
+ - Use ./autogen.sh when running dh_autoreconf
+
+ [ Matt Fischer ]
+ * debian/lightdm.install:
+ - Remove duplicate entry /usr/share/man
+ - Install apport hook
+ * debian/lightdm.postinst:
+ - Fix ownership of /var/lib/lightdm
+ * debian/lightdm.postrm:
+ - Correctly remove /var/lib/lightdm on uninstall
+ * debian/source_lightdm.py:
+ - Update apport hook
+
+ -- Michael Terry <mterry@ubuntu.com> Thu, 31 Jan 2013 11:05:23 -0500
+
+lightdm (1.4.0-0ubuntu2) quantal; urgency=low
+
+ * debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch:
+ - Fix 2d->3d transition to handle new support for accountsservice
+ LP: #1059137
+
+ -- Michael Terry <mterry@ubuntu.com> Tue, 09 Oct 2012 10:26:43 -0400
+
+lightdm (1.4.0-0ubuntu1) quantal; urgency=low
+
+ * New upstream stable release.
+ * debian/liblightdm-gobject-1-0.symbols:
+ - Updated
+ * debian/patches/06_add_remote_login_hint.patch:
+ * debian/patches/07_fix_types_in_vapi.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 05 Oct 2012 17:33:21 +1300
+
+lightdm (1.3.3-0ubuntu5) quantal; urgency=low
+
+ * debian/patches/08_lp1059510.patch: allow owner 'rw' access to
+ /{,var/}run/user/guest-*/dconf/user. Also allow owner writes to sockets in
+ /{,var/}run/user/guest-*/keyring-*/. (LP: #1059510)
+ * debian/patches/09_lp577919-fix-chromium-launch.patch: allow launch of
+ chromium-browser from guest session. (LP: #577919)
+
+ -- Jamie Strandboge <jamie@ubuntu.com> Mon, 01 Oct 2012 10:15:51 -0500
+
+lightdm (1.3.3-0ubuntu4) quantal; urgency=low
+
+ * debian/patches/06_add_remote_login_hint.patch,
+ debian/liblightdm-gobject-1-0.symbols:
+ - Add a greeter hint to disable remote login support, and turn it
+ on by default.
+
+ -- Michael Terry <mterry@ubuntu.com> Tue, 11 Sep 2012 11:42:17 -0400
+
+lightdm (1.3.3-0ubuntu3) quantal; urgency=low
+
+ * debian/patches/06_disable_remote_login.patch:
+ - Drop patch, thereby enabling Remote Login support (LP: #1040221)
+
+ -- Michael Terry <mterry@ubuntu.com> Fri, 07 Sep 2012 11:40:01 -0400
+
+lightdm (1.3.3-0ubuntu2) quantal; urgency=low
+
+ * debian/patches/07_fix_types_in_vapi.patch:
+ - Patch from upstream to fix a broken vapi when trying to use
+ a couple enums
+
+ -- Michael Terry <mterry@ubuntu.com> Thu, 06 Sep 2012 17:26:01 -0400
+
+lightdm (1.3.3-0ubuntu1) quantal; urgency=low
+
+ [ Robert Ancell ]
+ * New upstream release:
+ - Add a new remote session type. These sessions create a temporary local
+ account and authenticate against a remote server. The session is an
+ application that accesses that remote session (e.g. VNC, RDP etc)
+ - Support multiple simultaneous PAM prompts (LP: #1043593)
+ - Set utmp ut_host field to the X display address (LP: #1027760)
+ - Correctly reap unused authentication sessions (LP: #990661)
+ * debian/liblightdm-gobject-1-0.symbols:
+ - Updated
+
+ [ Michael Terry ]
+ * debian/patches/06_disable_remote_login.patch:
+ - Always return an error when trying to log in to remote sessions,
+ until the FFe is granted (which is bug 1040221)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 30 Aug 2012 10:15:16 +1200
+
+lightdm (1.3.2-0ubuntu3) quantal; urgency=low
+
+ [ Christopher James Halse Rogers ]
+ * debian/patches/05_add_xserver_core_option.patch:
+ - Pass '-core' to the X server, which will cause it to dump core when
+ crashing. This will trigger apport, so we'll get more reliable crash
+ reports from X server crashes.
+
+ [ Didier Roche ]
+ * debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch:
+ - unity-2d is not supported anymore and won't be port to gsettings,
+ transition people using the 2d session to the 3d one. llvmpipe
+ will be use if no hardware acceleration is available (LP: #1035261)
+ * debian/patches/01_transition_gnome_ubuntu_desktop.patch:
+ - removed, not needed anymore
+
+ [ Scott Kitterman ]
+ * Add lightdm-kde-greeter as an alternate recommends for lightdm
+
+ -- Didier Roche <didrocks@ubuntu.com> Wed, 15 Aug 2012 08:41:55 +0200
+
+lightdm (1.3.2-0ubuntu2) quantal; urgency=low
+
+ * Update guest-account script to not depend on Gnome and to set
+ various KDE settings LP: #1028552
+
+ -- Jonathan Riddell <jriddell@ubuntu.com> Tue, 07 Aug 2012 16:37:49 +0100
+
+lightdm (1.3.2-0ubuntu1) quantal; urgency=low
+
+ * New upstream release:
+ - Handle clearenv() not being defined
+ - Fix compilation with GCC 4.7
+ - Expose remaining properties in QLightDM::Greeter
+ - Fix utmp records being written before child process created
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 17 Jul 2012 18:44:05 +1200
+
+lightdm (1.3.1-0ubuntu2) quantal; urgency=low
+
+ * debian/control:
+ - Add build-depends on yelp-tools
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 21 Jun 2012 15:22:59 +1200
+
+lightdm (1.3.1-0ubuntu1) quantal; urgency=low
+
+ * New upstream release:
+ - Don't set PAM_XDISPLAY or PAM_XAUTHDATA if not supported
+ - Add lock-memory option, enabled by default, to prevent paging memory
+ to disk.
+ - Write utmp records for sessions
+ - Install PAM configuration
+ - Run greeters inside the "lightdm-greeter" PAM service
+ - Handle setresgid and setresuid not being available
+ - Use xsession directory from lightdm.conf in liblightdm
+ * debian/rules:
+ - Install lightdm-greeter PAM config
+ * debian/lightdm.lightdm-greeter.pam:
+ - PAM configuration for greeters
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 21 Jun 2012 11:47:33 +1200
+
+lightdm (1.2.1-0ubuntu1) precise-proposed; urgency=low
+
+ * New upstream release:
+ - Fix wrapper path in AppArmor profile (broken since 1.1.1)
+ - Add show-manual-login and allow-guest options to lightdm-set-defaults
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 18 Apr 2012 18:37:47 +1000
+
+lightdm (1.2.0-0ubuntu2) precise; urgency=low
+
+ * Fix wrapper path in AppArmor profile. This got broken in 1.1.1. Patch also
+ committed upstream, and cherry-picked (r1487) (LP: #975901)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 10 Apr 2012 11:06:03 +0200
+
+lightdm (1.2.0-0ubuntu1) precise; urgency=low
+
+ * New upstream release.
+ - Backup .xsession-errors on login (LP: #951597)
+ - Handle failures in pam_setcred
+ - Open log files in append mode (LP: #951597)
+ - Add extra checks in liblightdm so that it doesn't send invalid messages
+ to the daemon (LP: #969023)
+ - Fix gdmflexiserver not being added to the path (broken since 1.1.4)
+ (LP: #953554)
+ - Fix PAM conversations after authentication from locking up sessions
+ (LP: #956848)
+ - Fix PAM informational messages locking up autologin
+ - Change XDMCP manage timeout from 10ms to 126s (maximum specified in the
+ XDMCP specification)
+ - Fix greeter-show-guest example (LP: #972711)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 05 Apr 2012 17:26:50 +1000
+
+lightdm (1.1.9-0ubuntu2) precise; urgency=low
+
+ * debian/lightdm-session:
+ - include some Xsession macros used by Xsession.d scripts (lp: #900221)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 29 Mar 2012 12:52:34 +0200
+
+lightdm (1.1.9-0ubuntu1) precise; urgency=low
+
+ [ Gunnar Hjalmarsson ]
+ * debian/guest-account: Add trailing '/' to the line
+ "gs_skel=/etc/guest-session/skel" (LP: #956152).
+
+ [ Robert Ancell ]
+ * New upstream release:
+ * Add --show-users/--hide-users to lightdm-set-defaults
+ * Call initgroups before pam_setcred - this allows pam_setcred to change
+ group membership correctly (LP: #880104)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 22 Mar 2012 16:48:59 +1100
+
+lightdm (1.1.8-0ubuntu1) precise; urgency=low
+
+ * New upstream release:
+ - Handle PAM interactions that have more than one message in one callback
+ (LP: #951460)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 15 Mar 2012 12:57:30 +1100
+
+lightdm (1.1.7-0ubuntu2) precise; urgency=low
+
+ * debian/guest-account: Fix arbitrary file deletion in removal of guest
+ files in /tmp. Use find/xargs with 0 separators instead of spaces.
+ (LP: #953044, CVE-2012-0943)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 13 Mar 2012 14:53:10 +0100
+
+lightdm (1.1.7-0ubuntu1) precise; urgency=low
+
+ * New upstream release.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 09 Mar 2012 15:28:40 +1100
+
+lightdm (1.1.6-0ubuntu1) precise; urgency=low
+
+ * Upload the new version to Ubuntu
+ * Reshuffle a bit the vcs to use merge upstream correctly
+
+ [ Robert Ancell ]
+ * New upstream release:
+ - Fix session wrapper working the same as it did in 1.1.3 (lp: #944736)
+ - Stop file descriptors leaking into the session processes (lp: #927060)
+
+ [ Martin Pitt ]
+ * debian/control: Fix liblightdm-gobject-1-doc architecture to "all".
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 06 Mar 2012 13:45:29 +0100
+
+lightdm (1.1.4.is.1.1.3-0ubuntu3) precise; urgency=low
+
+ * debian/lightdm.postinst: Drop the disable-while-typing gsettings call
+ again. The Unity greeter already disables the mouse plugin these days, and
+ other known greeters do not use g-s-d.
+ * debian/lightdm.dirs: Really add /etc/X11/, revision 1077 did not actually
+ do it. (LP: #921169)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 05 Mar 2012 13:10:46 +0100
+
+lightdm (1.1.4.is.1.1.3-0ubuntu2) precise; urgency=low
+
+ [ Matt Fischer ]
+ * debian/lightdm.dirs:
+ - Add /etc/X11/ so lightdm.postinst doesn't fail on systems without X
+ installed (LP: #921169)
+
+ [ Martin Pitt ]
+ * debian/lightdm.postinst: Disable disable-while-typing touchpad setting for
+ GNOME; we do not really need this feature in lightdm, and multiple
+ syndaemon instances cause the touchpad to stop working sometimes. Add
+ libglib2.0-bin dependency for this. (LP: #868400)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 05 Mar 2012 12:36:04 +0100
+
+lightdm (1.1.4.is.1.1.3-0ubuntu1) precise; urgency=low
+
+ * Revert to 1.1.3 until we can figure out proper solution to bug 944736
+
+ -- Michael Terry <mterry@ubuntu.com> Fri, 02 Mar 2012 15:03:26 -0500
+
+lightdm (1.1.4-0ubuntu1) precise; urgency=low
+
+ * New upstream release.
+ - Change session directory once user permissions are set so it works
+ on NFS filesystems that don't allow root to access files. (LP: #877766)
+ - Restructure session code so the PAM authentication is run in its
+ own process. (LP: #881466)
+ - Set PAM_XDISPLAY and PAM_XAUTHDATA pam items (LP: #862559)
+ - Don't send session stdout to .xsession-errors
+ - Fix Qt bindings crash when removing a user
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 01 Mar 2012 20:54:07 +1100
+
+lightdm (1.1.3-0ubuntu1) precise; urgency=low
+
+ * New upstream release:
+ - Actually return the system default keyboard layout, not just 'us'
+ - Add keyboard layout variants to list of keyboard layouts
+ - Check accountsservice as well as .dmrc for users' layouts
+ - Add lightdm_user_get_layouts() to query the configured list of layouts
+ on a per-user basis
+ - Add Lock D-Bus method that locks the seat and provides a hint to the
+ greeter to be in lock mode.
+ - Automatically lock sessions when switching away from them
+ - Add a has-messages property to liblightdm
+ - Add regression tests for PAM modules changing usernames
+ - Don't use g_key_file_unref, it requires glib 2.32
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 15 Feb 2012 20:15:08 +1100
+
+lightdm (1.1.2-0ubuntu3) precise; urgency=low
+
+ * debian/patches/05_keyboard_indicator.patch:
+ - Backported patch from trunk to fix various keyboard layout issues
+ preventing greeter keyboard indicators from working.
+ LP: #919199, LP: #919200, LP: #915468
+
+ -- Michael Terry <mterry@ubuntu.com> Sun, 12 Feb 2012 19:37:51 -0500
+
+lightdm (1.1.2-0ubuntu2) precise; urgency=low
+
+ * Redo the previous update using merge-upstream in the package vcs so the
+ new version is not reverted in the diff.gz...
+ * 00upstream_set-defaults_autologin_support.patch:
+ - dropped, the fix is in the new version
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Sun, 12 Feb 2012 13:01:15 +0100
+
+lightdm (1.1.2-0ubuntu1) precise; urgency=low
+
+ * New upstream release:
+ - Add regression tests for getting the user language and layout
+ - Stop accidentally distributing libsystem
+ - Fix introspection bindings not containing any methods (LP: #920810)
+ - lightdm-set-defaults can now set the autologin user
+ - Add Python greeter regression tests (representative of all introspection
+ based greeters)
+ - Wait for the VT to become active when switching to avoid a suspected
+ race condition somewhere between LightDM, X, ConsoleKit and the kernel.
+ (LP: #851612)
+ - Stop lightdm_greeter_start_session_sync() blocking on success.
+ * debian/lightdm.prerm:
+ - Fix incorrect location of lightdm binary (found by Rolf Anders)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 10 Feb 2012 17:32:47 +1100
+
+lightdm (1.1.1-0ubuntu4) precise; urgency=low
+
+ * Add 00upstream_set-defaults_autologin_support.patch: Add support for
+ setting autologin-user in lightdm-set-defaults. Committed to and
+ backported from trunk.
+ * debian/lightdm.postinst: Migrate autologin configuration from gdm on first
+ installation. (LP: #854431)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 30 Jan 2012 08:25:03 +0100
+
+lightdm (1.1.1-0ubuntu3) precise; urgency=low
+
+ [ Aurélien Gâteau ]
+ * debian/control, liblightdm-qt*.install:
+ - Rename liblightdm-qt packages to match upstream changes
+ - Conflicts, Replaces with the buggy version
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 19 Jan 2012 11:34:41 +0100
+
+lightdm (1.1.1-0ubuntu2) precise; urgency=low
+
+ * debian/patches/04_language_options.patch:
+ - Replace 'locale -a' output with accountsservice's list of
+ language options (LP: #918225).
+
+ -- Gunnar Hjalmarsson <ubuntu@gunnar.cc> Wed, 18 Jan 2012 16:10:29 +0100
+
+lightdm (1.1.1-0ubuntu1) precise; urgency=low
+
+ * New upstream release:
+ * Support PAM requesting a change of password (lp: #911597)
+ * Support for reading users' backgrounds from Accounts Service
+ (lp: #844081)
+ * Switching to a user without a password bypasses the greeter
+ (lp: #861177)
+ * Move the GTK+ and Qt greeters into their own projects
+ * Drop the gtk and qt greeters packaging files from this source
+ * debian/liblightdm-gobject-1-0.symbols:
+ - list new lightdm_user_get_background symbol
+ * debian/patches/04_CVE-2011-4105.patch,
+ debian/patches/05_CVE-2011-3153.patch,
+ debian/patches/09_show_lang_chooser_option.patch,
+ debian/patches/10_available_languages.patch,
+ debian/patches/11_set_language_in_accountsservice.patch:
+ - dropped, those issues are fixed in the new version or apply to the
+ gtk greeter which is moved to its own source
+ * debian/rules:
+ - install lightdm-set-defaults back to its previous location
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Wed, 18 Jan 2012 11:10:03 +0100
+
+lightdm (1.0.6-0ubuntu4) precise; urgency=low
+
+ [ Gunnar Hjalmarsson ]
+ * debian/lightdm-gtk-greeter-ubuntu.conf and
+ debian/patches/09_show_lang_chooser_option.patch:
+ - Disclose the option to enable the language chooser.
+ * debian/patches/10_available_languages.patch:
+ - If available, show a list of installed translations in the
+ language chooser instead of a 'locale -a' list (LP: #868346).
+ - Use nl_langinfo() to get language and country names for the
+ language chooser labels.
+ - Translate language and country names.
+ - Handle @variants properly.
+ * debian/patches/11_set_language_in_accountsservice.patch:
+ - Save item that is selected from the language chooser also when
+ AccountsService is in use (LP: #868346).
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 22 Nov 2011 12:41:43 +1100
+
+lightdm (1.0.6-0ubuntu3) precise; urgency=low
+
+ * SECURITY UPDATE: file contents disclosure via hard link
+ - debian/patches/04_CVE-2011-4105.patch: make sure file isn't a symlink
+ or a hard link before doing the chown on it.
+ - CVE-2011-4105
+ * SECURITY UPDATE: file contents disclosure via links (LP: #883865)
+ - debian/patches/05_CVE-2011-3153.patch: drop privileges before
+ accessing file.
+ - CVE-2011-3153
+
+ -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Tue, 15 Nov 2011 14:23:53 -0500
+
+lightdm (1.0.6-0ubuntu2) precise; urgency=low
+
+ * Upload to precise.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 10 Nov 2011 07:19:12 +0100
+
+lightdm (1.0.6-0ubuntu1) oneiric-proposed; urgency=low
+
+ [ Martin Pitt ]
+ * debian/lightdm.upstart: Put back check for "text" in kernel command line,
+ for inhibiting automatic lightdm start. Check $JOB to still allow a manual
+ "start lightdm" command to work. (LP: #873334)
+
+ [ Robert Ancell ]
+ * New upstream release:
+ - Use lchown for correcting ownership of ~/.Xauthority instead of chown
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 02 Nov 2011 11:37:43 -0400
+
+lightdm (1.0.5-0ubuntu1) oneiric-proposed; urgency=low
+
+ * New upstream release.
+ [1.0.5]
+ - Relax AppArmor guest profile to allow compiz to start
+ - Connect up VNC settings for width, height, depth
+ [1.0.4]
+ - Fix --enable-gtk-greeter=yes not working
+ - Fix X sessions with arguments in Exec not working
+ - Use previous session for automatic login or if greeter does not request
+ one. (LP: #834515)
+ - Correct ownership of ~/.Xauthority if upgrading from buggy version of
+ LightDM that had it root owned. (LP: #871667)
+ - Set default resolution of VNC to 1024x768, add settings for width, height,
+ depth into lightdm.conf.
+ - AppArmor profile: Fix broken gnome-keyring and dbus/gwibber, and quiesce
+ annoying kernel audit messages for privileges that we definitively do not
+ want to grant. (LP: #877736) (LP: #874635)
+ - Set LOGNAME environment variable (LP: #875705)
+ - Mark strings as translatable in GTK greeter (LP: #868613)
+ [ 1.0.3]
+ - Fix reference counting issue in ConsoleKit code
+ - Really add the lightdm-guest-session-wrapper
+ [ 1.0.2 ]
+ - Fix daemon from blocking if Accounts Service does not exist
+ - Fix greeter log file not being written
+ - Don't set LANG environment variable if using Accounts Service.
+ - Fix gdmflexiserver not working due to it not being in PATH
+ - Don't authenticate the greeter user
+ - Allow greeters to be disabled in configure flags
+ - Fix over allocation of read buffer in greeter protocol
+ - Make sure objects are cleaned up on exit
+ - Fix minor memory leaks
+ - Fix hugely oversized allocation in greeter buffer. Can trigger
+ crashes when entering very long passwords.
+ * debian/patches/00bzr_guest_session_wrapper.diff:
+ * debian/patches/07_long_password_crash.patch:
+ * debian/patches/08_correct_ck_ref.patch:
+ - Applied upstream
+ * New upstream release.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 26 Oct 2011 12:45:17 -0400
+
+lightdm (1.0.1-0ubuntu6) oneiric; urgency=low
+
+ * debian/patches/08_correct_ck_ref.patch:
+ - backported fix from Mikkel Kamstrup Erlandsen for a refcounting issue
+ which leads to sessions where unity can't start (lp: #851345)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Fri, 07 Oct 2011 13:57:44 +0200
+
+lightdm (1.0.1-0ubuntu5) oneiric; urgency=low
+
+ * Add debian/patches/00bzr_guest_session_wrapper.diff: Add back the guest
+ session wrapper part that was uploaded in 1.0.0-0ubuntu4. The patch was
+ correctly merged into trunk, but the 1.0 branch backport missed this
+ wrapper part and thus broke AppArmor protection entirely. (LP: #849027)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 07 Oct 2011 11:47:36 +0200
+
+lightdm (1.0.1-0ubuntu4) oneiric; urgency=low
+
+ * debian/patches/04_language_not_to_LANG.patch:
+ * debian/patches/04_dmrc_set_LANG_only.patch:
+ - Replace LANG disabling code with proper fix (LP: #868149)
+ * debian/patches/03_launch_dbus.patch:
+ * debian/patches/05_gdmflexiserver_not_in_PATH.patch:
+ - Refreshed
+ * debian/patches/06_accounts_service_timeout.patch:
+ - Fix D-Bus timeout when accounts service not installed (LP: #866035)
+ * debian/patches/07_long_password_crash.patch:
+ - Fix crash with long passwords (LP: #817186)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 06 Oct 2011 15:45:21 +1100
+
+lightdm (1.0.1-0ubuntu3) oneiric; urgency=low
+
+ * debian/patches/05_gdmflexiserver_not_in_PATH.patch:
+ - Make sure to insert our own utility path into PATH after PAM
+ sets PATH, not before. This ensures gdmflexiserver is present
+ in PATH and can be found by gnome-screensaver, gnome-shell, etc.
+
+ -- Michael Terry <mterry@ubuntu.com> Wed, 05 Oct 2011 09:05:31 -0400
+
+lightdm (1.0.1-0ubuntu2) oneiric; urgency=low
+
+ * debian/patches/04_language_not_to_LANG.patch:
+ Locale names based on AccountsService's "Language" key may not
+ go to $LANG, as that property is a language name, not a locale.
+ (LP: #864618).
+
+ -- Gunnar Hjalmarsson <ubuntu@gunnar.cc> Wed, 05 Oct 2011 09:49:15 +0200
+
+lightdm (1.0.1-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release:
+ - GTK greeter now remembers last user
+ - GTK greeter now initializes i18n (LP: #862427)
+ - Start authentication for automatically selected user in GTK greeter
+ - Link liblightdm-qt against QtGui
+ - Fix liblightdm-qt crashing when face images are installed (LP: #850095)
+ - Set correct permissions on session log files (LP: #863119)
+ - Prefer a locale with a codeset over one without for setting LANG
+ (LP: #864618)
+ - Introduce a lightdm-guest-session-wrapper session command which MAC
+ systems like AppArmor and SELinux can use for attaching a restrictive
+ policy to guest sessions.
+ - Provide an AppArmor profile for guest session lockdown.
+ * debian/patches/01_guest_session_lockdown.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 04 Oct 2011 19:58:25 +1100
+
+lightdm (1.0.0-0ubuntu4) oneiric; urgency=low
+
+ * Add 01_guest_session_lockdown.patch: Lock down guest session with an
+ AppArmor profile. This uses the very same approach as gdm-guest-session,
+ and copies the profile from it. (LP: #849027)
+ * 03_launch_dbus.patch: Refresh.
+ * debian/lightdm.install: Install AppArmor profile.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 30 Sep 2011 17:30:56 +0200
+
+lightdm (1.0.0-0ubuntu3) oneiric; urgency=low
+
+ * debian/patches/03_launch_dbus.patch:
+ - Fix patch applying in the wrong place
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 29 Sep 2011 16:08:20 +1000
+
+lightdm (1.0.0-0ubuntu2) oneiric; urgency=low
+
+ * debian/lightdm-gtk-greeter.postinst,
+ debian/lightdm-gtk-greeter.postrm,
+ debian/lightdm-gtk-greeter.preinst:
+ - move the gtk-greeter conffile starting from 1.0.0-0ubuntu1 and not
+ 0.9.7-0ubuntu1 (the patch using 0.9.7-0ubuntu1 as a reference has
+ been integrated in 1.0.0-0ubuntu1 without being updated even if
+ 0.9.7-0ubuntu2 was already released). Ensure we do it now (LP: #861316)
+
+ -- Didier Roche <didrocks@ubuntu.com> Wed, 28 Sep 2011 13:40:40 +0200
+
+lightdm (1.0.0-0ubuntu1) oneiric; urgency=low
+
+ [ Steve Langasek ]
+ * don't start on graphics-device-added; reintroducing this reverted the fix
+ for bug #615549 from maverick without explanation.
+ * clean up the completely illegible start rule for debian/lightdm.upstart,
+ killing off the unnecessary parentheses
+ * debian/lightdm.upstart: when lightdm is shut down by a runlevel call,
+ emit an upstart event that can be caught by plymouth so it can
+ distinguish between the DM shutting down for a runlevel change vs. other
+ causes. LP: #854329.
+
+ [ Robert Ancell ]
+ * New upstream release.
+ [ 0.9.8 ]
+ - GetSeatForCookie and GetSessionForCookie are now deprecated. They
+ remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
+ environment variables instead.
+ - Change log filenames to be unique across different display types.
+ - Fix up script hooks, add regression tests for them
+ - Complete removal of X code from the core of LightDM, so it can better
+ support various display types
+ - Add ability to set the language of a user from the greeter (LP: #803858)
+ - Set LANG variable based on the user language
+ - Add language selector into GTK greeter (disabled by default)
+ - Allow TCP/IP connections if xserver-allow-tcp is true
+ - Allow lightdm --version to be run as non-root
+ - Automatically respond to PAM messages without prompts (LP: #783598)
+ - Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
+ - Fix multi-seat configuration picking the same display number (LP: #851362)
+ - Use correct D-Bus and power interface in liblightdm-qt (LP: #852803)
+ - Run pam_setcred inside the session process so pam_group works
+ (LP: #851347)
+ - Make sure one session is always selected in the GTK greeter (LP: #819177)
+ [ 1.0.0 ]
+ - Explicitly grab keyboard focus in GTK greeter
+ - Fix removed power and a11y menu items in GTK greeter
+ - Put system binary directory into path when running in test mode
+ (LP: #860003)
+ - Call pam_getenvlist after pam_setcred
+
+ [ Lionel Le Folgoc ]
+ * Make the gtk greeter easily themable by derivatives: (LP: #845549)
+ - rename lightdm-gtk-greeter.conf to lightdm-gtk-greeter-ubuntu.conf,
+ and handle the move in maintainer scripts.
+ - manage /etc/lightdm/lightdm-gtk-greeter.conf with update-alternatives,
+ by default it uses /etc/lightdm/lightdm-gtk-greeter-ubuntu.conf with a
+ very low priority.
+ * debian/control: lightdm-gtk-greeter provides lightdm-gtk-greeter-config.
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 28 Sep 2011 16:00:20 +1000
+
+lightdm (0.9.7-0ubuntu2) oneiric; urgency=low
+
+ * don't start on graphics-device-added; reintroducing this reverted the fix
+ for bug #615549 from maverick without explanation.
+ * clean up the completely illegible start rule for debian/lightdm.upstart,
+ killing off the unnecessary parentheses
+ * debian/lightdm.upstart: when lightdm is shut down by a runlevel call,
+ emit an upstart event that can be caught by plymouth so it can
+ distinguish between the DM shutting down for a runlevel change vs.
+ other causes. LP: #854329.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com> Sun, 25 Sep 2011 22:22:38 -0700
+
+lightdm (0.9.7-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release.
+ - Set PAM_TTY to the display name, not the tty device (LP: #851055)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 16 Sep 2011 09:39:22 +1000
+
+lightdm (0.9.6-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release:
+ - Only unlock displays if switched to from greeter
+ - Make log file not system readable
+ - Write ~/.Xauthority inside the session process so it cannot be hijacked
+ - Set PAM_TTY and PAM_XDISPLAY when opening PAM session
+ - Add VNC server support
+ - Do not write ~/.dmrc and ~/.Xauthority as root. [CVE-2011-3349]
+ * debian/patches/00upstream_unlock_fix.patch:
+ * debian/patches/04_dont_write_files_as_root.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 15 Sep 2011 17:32:25 +1000
+
+lightdm (0.9.5-0ubuntu2) oneiric; urgency=low
+
+ * debian/lightdm.config: When installing from scratch as part of a release
+ upgrade, default to lightdm, otherwise ask. (LP: #806559)
+ * Add 04_dont_write_files_as_root.patch: Do not write ~/.dmrc and
+ ~/.Xauthority as root. [CVE-2011-3349]
+ * Add 00upstream_unlock_fix.patch: Only unlock displays if switched to from
+ greeter. Cherrypicked from upstream r1137. (LP: #844274)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 15 Sep 2011 08:52:24 +0200
+
+lightdm (0.9.5-0ubuntu1) oneiric; urgency=low
+
+ [ Steve Langasek ]
+ * Update upstart job to use current start condition lifted from gdm,
+ and to check runlevels instead of /proc/cmdline so it's possible to
+ start lightdm after switching out of recovery mode. LP: #803513.
+
+ [ Didier Roche ]
+ * debian/patches/01_transition_gnome_ubuntu_desktop.patch:
+ natty-oneiric session name upgrade:
+ - transition from unity-2d -> ubuntu-2d
+ - transition from gnome-2d -> gnome-fallback
+
+ [ Robert Ancell ]
+ * New upstream release:
+ [0.9.5]
+ - Use accounts service in the daemon if it is available
+ - Correctly load seat type in multi seat configuration
+ - Add display-setup, session-setup and session-cleanup scripting hooks
+ - Fix cancel button in GTK greeter (LP: #819240)
+ - Fix line through GTK greeter menu items
+ - Exit daemon if a seat fails which has exit-on-failure set to true
+ - Add HasGuestAccount property to seat D-Bus interface (LP: #835084)
+ - Fix XDMCP authorization
+ - Update man file
+ - Emit upstart events (LP: #715094)
+ [0.9.4]
+ - lightdm-set-defaults enables tweaking the default session and chosen
+ greeter for lightdm. This is useful for derivatives waiting to not ship
+ the whole configuration file of lightdm
+ - Fix crash in GTK+ greeter when a user is added
+ - Move xsessions-directory and xgreeters-directory from [SeatDefaults] to
+ [LightDM]. This is a configuration break, but making it on the assumption
+ that these settings are not likely to have been overridden.
+ - Fix fallback from org.freedesktop.Accounts to passwd format
+ - Fix duplicate user entries being shown when using passwd file
+ - Add AddSeat D-Bus method for adding dynamic seats
+ - Added a dm-tool program that allows user switching and adding seats
+ - Allow remote X servers, e.g. launched using dm-tool add-nested-seat
+ - Fix bug where sessions were started when the greeter quit and the user
+ hadn't been authorized.
+ - Fix bug where sessions used the seat bus name
+ - Don't allow autologin-username to be set to empty
+ - Fix bug where PAM session was not opened before writing to home directory
+ - Fix crash when failing to write X authority
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 07 Sep 2011 16:09:53 +1000
+
+lightdm (0.9.3-0ubuntu8) oneiric; urgency=low
+
+ * debian/patches/series:
+ - Add patch from last commit to actually apply. Ahem.
+ * debian/rules:
+ - Make greeter wrapper executable
+
+ -- Michael Terry <mterry@ubuntu.com> Thu, 25 Aug 2011 16:20:00 -0400
+
+lightdm (0.9.3-0ubuntu7) oneiric; urgency=low
+
+ * debian/install, debian/lightdm-greeter-session,
+ debian/patches/03_launch_dbus.patch:
+ - Add patch and wrapper script to launch dbus for the greeter so that
+ we can safely kill it when the greeter ends.
+
+ -- Michael Terry <mterry@ubuntu.com> Wed, 24 Aug 2011 15:34:07 -0400
+
+lightdm (0.9.3-0ubuntu6) oneiric; urgency=low
+
+ * Backport r1065 to use account service instead of .dmrc (lp: #823718),
+ should fix the session not being correct remembered (lp: #818201)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 23 Aug 2011 16:21:59 +0200
+
+lightdm (0.9.3-0ubuntu5) oneiric; urgency=low
+
+ * Backport potfiles.in fix from trunk
+ * debian/lightdm.install: install dm-tool (seat management utility)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 18 Aug 2011 15:59:45 +0200
+
+lightdm (0.9.3-0ubuntu4) oneiric; urgency=low
+
+ * Updated to current trunk, that's a candidate version version for the next
+ update, it fixes those issues:
+ - login doesn't work for ecryptfs users (lp: #823775, #824594)
+ - "lightdm-gtk-greeter segfaults in get_user_iter when adding a new user"
+ (lp: #822470)
+ - fix fallback from org.freedesktop.Accounts to passwd format (lp: #817835)
+ - empty autologin-user should not be passed to pam (lp: #817581)
+ * debian/control.in:
+ - build-depends on quilt, it's needed with source v1
+ - don't build-depends on valac, vala is not used in the current version
+ * debian/lightdm.install:
+ - install the manpages as well
+ * debian/lightdm.manpages:
+ - dropped, it's installed by the upstream make install
+ * debian/rules:
+ - use the quilt rule
+ * debian/source/format:
+ - use source v1, it works better with vcs workflows
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 18 Aug 2011 15:29:42 +0200
+
+lightdm (0.9.3-0ubuntu3) oneiric; urgency=low
+
+ * debian/control: stop forcing the unity-greeter recommends (lp: #824299)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 11 Aug 2011 23:21:51 +0200
+
+lightdm (0.9.3-0ubuntu2) oneiric; urgency=low
+
+ * Backport mterry's changes to the gdmflexiserver functionnality
+ * debian/control: default to the unity greeter (lp: #809710)
+ * debian/lightdm.install: install the new files
+
+ [ Didier Roche ]
+ * Cherry-pick from upstream:
+ - lightdm-set-defaults enables tweaking the default session and chosen
+ greeter for lightdm. This is useful for derivatives waiting to not ship
+ the whole configuration file of lightdm
+ - refreshed translations
+ * debian/rules:
+ - set "ubuntu" as the default session (unable to login for people who don't
+ have a .dmrc, sorry for the kittens…)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Wed, 10 Aug 2011 18:34:03 +0200
+
+lightdm (0.9.3-0ubuntu1) oneiric; urgency=low
+
+ [ Sebastien Bacher ]
+ * New upstream version
+ * debian/control:
+ - build-depends on dh-translations
+ - build with the current vala
+ - demote the greeter depends back to a recommend, lightdm can be use to
+ connect to remote displays and doesn't need a local greeter
+ - lightdm depends on dbus (lp: #822824)
+ - liblightdm-gobject recommends accountsservice (lp: #822863)
+ * debian/liblightdm-gobject-1-0.symbols:
+ - track library symbols
+ * debian/lightdm.install:
+ - ship the translations
+ * debian/lightdm.preinst:
+ - fix missing dh token
+ * debian/rules:
+ - reorder rules to work with new dh versions
+ - stop the build if the liblightdm-gobject symbols are outdated
+ - use dh-translations to generate the translations template
+ * debian/source_lightdm.py:
+ - get bug informations for apport, thanks Pedro Villavicencio (lp: #819954)
+
+ [ Didier Roche ]
+ * debian/watch:
+ - fix debian/watch to get lightdm
+ * debian/patches/01_transition_gnome_ubuntu_desktop.patch:
+ - transition so that gnome.desktop is now move to ubuntu.desktop as the main
+ session. We need that for transitionning to the next step (post LTS) where
+ gnome-shell.desktop will be renamed to gnome.desktop
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 09 Aug 2011 18:21:07 +0200
+
+lightdm (0.9.2-0ubuntu4) oneiric; urgency=low
+
+ * debian/control: depends on the greeters rather than recommends, seems some
+ users still get no greeter after upgrade otherwise
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Wed, 27 Jul 2011 19:10:47 +0200
+
+lightdm (0.9.2-0ubuntu3) oneiric; urgency=low
+
+ * Fix lightdm to conflict liblightdm-gobject-0-0 and liblightdm-qt-0-0,
+ so that old greeters are removed on upgrade
+ - update debian/control
+
+ -- Chris Coulson <chris.coulson@canonical.com> Tue, 26 Jul 2011 23:26:49 +0100
+
+lightdm (0.9.2-0ubuntu2) oneiric; urgency=low
+
+ * debian/control:
+ - recommends the preferred greeter before a virtual one
+ - let the new gtk greeter provide the old example named one for easier
+ upgrade
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 26 Jul 2011 21:38:25 +0200
+
+lightdm (0.9.2-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ [0.9.0]
+ - Fix invalid XAUTHORITY variable being set for second X server.
+ - Fix bug where switching users created X servers without VTs
+ - Release a VT when the X server on it stops
+ - Greeters are now just standard X sessions that are stored in
+ /usr/share/xgreeters.
+ - Drop most of the configure options, they aren't necessary
+ - Config changes:
+ - Major reorginisation of configuration to make it easier to configure and
+ understand. Users should set [SeatDefaults] section with settings for
+ all seats, and can override each setting in a per seat configuration.
+ - Default seats are now specified using a [Seat:<name>] section. If no
+ seats are specified then one is started. This can be overridden by
+ setting start-default-seat=false in [LightDM].
+ - Support setting autologin user to guest account
+ - Split the user accounts configuration into /etc/lightdm/users.conf so
+ the main config can be private.
+ - The default user session is now "default". Distributions should put a
+ symlink to their chosen default or set one in lightdm.conf.
+ - XDMCP keys now stored in keys.conf
+ - liblightdm API changes:
+ - Both libraries are now version 1 and have API and ABI guarantees.
+ - Face images are now local paths not URIs
+ - liblightdm-gobject now uses lightdm_ prefix instead of ldm_
+ - Non-greeter functions are now moved out of the Greeter class
+ - connect_to_server() is now called connect_sync and blocks until
+ completion.
+ - start_session() is now called start_session_sync and blocks until
+ completion. The quit signal is removed, and the greeter should quit if
+ this method returns TRUE.
+ - login() is now called authenticate()
+ - Greeters now have hints instead of configuration (greeters should load
+ their own configuration from /etc/lightdm if they need it).
+ - liblightdm-gobject uses AccountsService if it is available
+ - Added regression tests for liblightdm-qt
+ - D-Bus API changes:
+ - Expose Seats and Sessions on org.freedesktop.DisplayManager
+ - Add a CanSwitch property
+ - Rename ShowGreeter() to SwitchToGreeter()
+ - Greeter changes:
+ - Drop "example" from the name of the GTK+ and Qt greeters and make them
+ official default greeters.
+ - Use GTK3 for GTK+ greeter.
+ - Removed the Vala and Python GTK+ greeters, they weren't being well
+ maintained.
+ [0.9.1]
+ - Fix up translation build system
+ - Add a --with-greeter-user configure option
+ - Fix greeter-user configuration not being used
+ - Abort greeter if attempted to be run as root and greeter-user set
+ - Fix setting session in GTK+ greeter
+ [0.9.2]
+ - Fix annotation and Vala bindings for getting the UserList singleton
+ - Fix GTK+ greeter error label not being shown
+ - Don't set SIGQUIT to ignore in child processes
+ - Reworked the PAM code as ecryptfs users weren't able to log in. They
+ can now but not sure what changed to fix that!?
+ * debian/control:
+ - Build depend on libgtk3.0-dev, not libgtk2.0-dev
+ - Drop obsolete greeters, use new ones
+ - lightdm conflicts with liblightdm-gobject-1 and liblightdm-qt-1 so old
+ greeters will be removed.
+ - Update versions of libraries
+ * debian/lightdm.conf:
+ - Removed, no longer needs configuration
+ * debian/patches/01_resize_grip.patch:
+ - Dropped, not required anymore
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 26 Jul 2011 19:19:00 +1000
+
+lightdm (0.4.4-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ - Fix failure to accept XDMCP connections due to invalid assert.
+ - Allow minimum-display-number to be set in lightdm.conf and on the command
+ line.
+ - Session X authority now written to ~/.Xauthority by default. It can be
+ configured to run from the system location by setting
+ user-authority-in-system-dir=true in lightdm.conf.
+ - When using system authority the authority can be updated by the user.
+ (LP: #795046)
+ - Written X authority files now checks hostname and display number.
+ - Enironment is no longer passed through to X servers and sessions, this is
+ no longer required now PAM works correctly.
+ - liblightdm API changes:
+ - Drop ldm_greeter_get_is_first() - it was added for testing and doesn't
+ work well.
+ - Fix more errors where authentication messages from previous sessions could
+ be confused with new sessions.
+ - Added XDMCP regression tests.
+ * debian/lightdm.conf:
+ - Updated to latest format
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 15 Jul 2011 13:35:49 +1000
+
+lightdm (0.4.3-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 13 Jul 2011 15:06:13 +1000
+
+lightdm (0.4.2-0ubuntu2) oneiric; urgency=low
+
+ * debian/Xsession:
+ - Correctly load ~/.Xresource
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 06 Jul 2011 09:29:15 +1000
+
+lightdm (0.4.2-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ - Fixes (LP: #798277)
+ * debian/lightdm.upstart:
+ - Don't source /etc/environment or /etc/default/locale - this is done in PAM
+ * debian/Xsession:
+ - Handle X resource directory being empty (LP: #800193)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 05 Jul 2011 15:22:12 +1000
+
+lightdm (0.4.1-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ - Fixes (LP: #793366)
+ * debian/lightdm.conf:
+ * debian/guest-session-cleanup.sh:
+ * debian/guest-session-setup.sh:
+ - Enable guest session
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 30 Jun 2011 17:04:25 +0100
+
+lightdm (0.4.0-0ubuntu7) oneiric; urgency=low
+
+ * debian/Xsession:
+ - Correctly load Xresources (LP: #800193)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 27 Jun 2011 09:43:49 +0100
+
+lightdm (0.4.0-0ubuntu6) oneiric; urgency=low
+
+ * debian/Xsession:
+ - Set required variables to make Xsession.d scripts work (LP: #800192)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 27 Jun 2011 00:03:12 +1000
+
+lightdm (0.4.0-0ubuntu5) oneiric; urgency=low
+
+ * debian/lightdm.lightdm-autologin.pam, debian/rules:
+ - Actually install autologin PAM configuration (LP: #797669).
+
+ -- Colin Watson <cjwatson@ubuntu.com> Fri, 17 Jun 2011 12:52:33 +0100
+
+lightdm (0.4.0-0ubuntu4) oneiric; urgency=low
+
+ * debian/control: don't depends on gnome-icon-theme-full, the purpose of the
+ binary is to not be installed by default, icons should be moved rather
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Fri, 17 Jun 2011 11:28:05 +0200
+
+lightdm (0.4.0-0ubuntu3) oneiric; urgency=low
+
+ * debian/control:
+ - Make GTK greeters depend on gnome-icon-theme-full (LP: #796793)
+ * debian/Xsession:
+ * debian/lightdm.conf:
+ - Load profile and X resources when running session (LP: #794315)
+ (LP: #795083)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 17 Jun 2011 15:26:59 +1000
+
+lightdm (0.4.0-0ubuntu2) oneiric; urgency=low
+
+ * debian/copyright:
+ - Drop copyright reference to obsolete ck-connector.[ch]
+ * debian/patches/02_disable_tests.patch:
+ - Disable regression tests as they're not running on the buildd's correctly
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 17 Jun 2011 13:55:12 +1000
+
+lightdm (0.4.0-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ * debian/control:
+ - Add build-depends on dbus for regression tests
+ - lightdm pre-depends on dpkg (>= 1.15.7.2) to get dpkg-maintscript-helper
+ support
+ - Drop build-depends on libdbus-glib-1-dev, libck-connector-dev
+ * debian/lightdm.conf:
+ - Update to latest format
+ * debian/lightdm.postinst:
+ * debian/lightdm.postrm:
+ * debian/lightdm.preinst:
+ - Move config file from /etc/lightdm.conf to /etc/lightdm/lightdm.conf
+ * debian/lightdm-autologin.pam:
+ - Add autologin PAM session
+ * debian/patches/01_resize_grip.patch:
+ - Don't show resize grip on window
+ * debian/patches/01_handle_all_signals.patch:
+ * debian/patches/02_process_exit.patch:
+ - Applied upstream
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 17 Jun 2011 12:31:14 +1000
+
+lightdm (0.3.7-0ubuntu2) oneiric; urgency=low
+
+ * debian/control:
+ - Add ${python:Depends} and required dependencies for
+ lightdm-greeter-example-python-gtk package (LP: #787409)
+ * debian/patches/01_handle_all_signals.patch:
+ - Correctly handle signals from external processes (LP: #789389)
+ * debian/patches/02_process_exit.patch:
+ - Fix crash when child processes quit (LP: #795050)
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 10 Jun 2011 16:24:56 +1000
+
+lightdm (0.3.7-0ubuntu1) oneric; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 30 May 2011 20:22:39 +1000
+
+lightdm (0.3.6-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+ * debian/lightdm.conf:
+ - Start display on active VT
+
+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 30 May 2011 16:43:37 +1000
+
+lightdm (0.3.5-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 24 May 2011 15:38:04 +1000
+
+lightdm (0.3.4-0ubuntu1) oneiric; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 20 May 2011 14:56:09 +1000
+
+lightdm (0.3.3-0ubuntu1) natty; urgency=low
+
+ * New upstream release
+ * debian/lightdm-greeter-example-gtk.install:
+ - Install .ui file
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 10 May 2011 17:45:50 +0200
+
+lightdm (0.3.2-0ubuntu1) natty; urgency=low
+
+ * New upstream release:
+ * debian/lightdm-greeter-*.install:
+ - Use new binary names
+ * debian/lightdm.conf:
+ - Start display on VT 7
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 21 Apr 2011 15:31:24 +1000
+
+lightdm (0.3.0-0ubuntu1) natty; urgency=low
+
+ * New upstream release
+ * debian/control:
+ - Add build-depends on valac
+ - Drop build-depends on libwebkitgtk-dev
+ - Rename gir1.0-lightdm-0 to gir1.2-lightdm-0
+ - Webkit engine and theme dropped
+ - Merge theme and engines into one package
+ - Add vala-gtk, python-gtk and qt greeters
+
+ -- Robert Ancell <robert.ancell@canonical.com> Sat, 16 Apr 2011 18:22:50 +1000
+
+lightdm (0.2.3-0ubuntu2) natty; urgency=low
+
+ * debian/control:
+ - Fix Vcs-Bzr link
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 14 Jan 2011 14:44:48 -0600
+
+lightdm (0.2.3-0ubuntu1) natty; urgency=low
+
+ * New upstream release
+ * debian/control:
+ - Build depend on libwebkitgtk-dev
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 14 Jan 2011 14:39:15 -0600
+
+lightdm (0.2.2-0ubuntu2) natty; urgency=low
+
+ * debian/copyright:
+ - Update copyright for liblightdm-gobject and liblightdm-qt
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 15 Dec 2010 10:16:16 +1100
+
+lightdm (0.2.2-0ubuntu1) natty; urgency=low
+
+ * New upstream release
+ * debian/copyright:
+ - Update copyright for src/ck-connector.[ch]
+ * debian/liblightdm-gobject-0-dev:
+ - .vapi file has moved location
+ * debian/lightdm.upstart:
+ - Tidy up upstart config
+ * debian/rules:
+ - Compile with --with-greeter-user=lightdm
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 09 Dec 2010 11:45:44 +1100
+
+lightdm (0.2.1-0ubuntu1) natty; urgency=low
+
+ [ Julien Lavergne ]
+ * debian/lightdm.{config,pam,postinst,postrm,prerm,upstart,init}
+ - Add configuration based on gdm and xdm ones.
+ * debian/rules:
+ - Use dh_installinit --no-start
+ - Remove .la and .a files.
+ - Pass --list-missing to dh_install.
+ - Don't use --with quilt with format 3.0.
+ - Use with autoreconf.
+ * debian/control:
+ - Add myself to Uploaders, and use ubuntu address for Maintainer.
+ - Build-depends on dh-autoreconf and gtk-doc-tools
+ - Improve the description.
+ - Add depends on libpam-runtime (>= 0.76-14) and libpam-modules for pam
+ support.
+ - Add depends on adduser.
+ - Provides x-display-manager.
+ - Add depends on libglib2.0-dev, libdbus-glib-1-dev and libxklavier-dev for
+ libldmgreeter-dev.
+ * debian/libldmgreeter-dev.install:
+ - Install .so
+ * debian/lightdm.install
+ - Install conf file for DBus.
+ * debian/lightdm.dirs
+ - Add /var directories for logs, and cache.
+ * debian/po & debian/lightdm.template:
+ - Add translations for display manager switch.
+ * debian/copyright:
+ - Update address for source code and copyright for debian/.
+ * debian/lightdm.conf:
+ - Sync with upstream modification.
+ * debian/lightdm.manpages
+ - Add the upstream manpage.
+
+ [ Robert Ancell ]
+ * New upstream release
+ * Rename from libldmgreeter to liblightdm
+ * debian/control:
+ - Use ubuntu-desktop Bzr link
+ * debian/gir1.0-lightdm-0.install:
+ - Install typelib into correct package
+ * debian/lightdm.postinst:
+ * debian/lightdm.postrm:
+ - Create lightdm user
+
+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 01 Dec 2010 08:40:37 +1100
+
+lightdm (0.2.0-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+ * debian/control:
+ - Use standards version 3.9.1
+ * debian/lightdm.conf:
+ * debian/rules:
+ - Make an Ubuntu specific default config file
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 12 Nov 2010 13:58:43 +1100
+
+lightdm (0.1.2-0ubuntu2) maverick; urgency=low
+
+ * debian/lightdm-theme-gnome.install:
+ * debian/lightdm-theme-webkit.install:
+ - Fix install location of themes
+
+ -- Robert Ancell <robert.ancell@canonical.com> Tue, 12 Oct 2010 15:52:24 +1100
+
+lightdm (0.1.2-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 10 Sep 2010 16:57:49 +1000
+
+lightdm (0.1.1-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Sat, 14 Aug 2010 22:06:43 +1000
+
+lightdm (0.1.0-0ubuntu2) maverick; urgency=low
+
+ * debian/lightdm-theme-gnome.install:
+ - Install gnome theme data
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 22 Jul 2010 22:17:46 +0200
+
+lightdm (0.1.0-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 22 Jul 2010 21:57:35 +0200
+
+lightdm (0.0.4-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+ * debian/control:
+ - Build-depend on libxdmcp-dev, libxcb1-dev
+ - Use standards-version 3.9.0
+
+ -- Robert Ancell <robert.ancell@canonical.com> Fri, 16 Jul 2010 10:12:40 +1000
+
+lightdm (0.0.3-0ubuntu2) maverick; urgency=low
+
+ * debian/control:
+ - Build-depend on libxklavier-dev
+
+ -- Robert Ancell <robert.ancell@canonical.com> Sat, 10 Jul 2010 15:33:57 +1000
+
+lightdm (0.0.3-0ubuntu1) maverick; urgency=low
+
+ * New upstream release
+ - Wait for signal from X server before starting session
+ - Add language API
+ - Add keyboard layout API
+ - Add gettext support to the WebKit greeter
+
+ -- Robert Ancell <robert.ancell@canonical.com> Sat, 10 Jul 2010 14:07:26 +1000
+
+lightdm (0.0.2-0ubuntu1maverick1) maverick; urgency=low
+
+ * New upstream release:
+ - Fix installation of D-Bus service file
+ - Allow DISPLAY env variable to be passed to X server so can run Xephyr
+ - Handle no automatic login in webkit theme
+ * debian/control:
+ - Remove invalid ${shlibs:Depends} lines on binary free packages
+ * debian/watch:
+ - Update watch location
+
+ -- Robert Ancell <robert.ancell@canonical.com> Thu, 01 Jul 2010 11:47:58 +1000
+
+lightdm (0.0.1-0ubuntu1) maverick; urgency=low
+
+ * Initial release
+
+ -- Robert Ancell <robert.ancell@canonical.com> Sun, 27 Jun 2010 11:14:01 +1000
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 00000000..7f8f011e
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644
index 00000000..72ad870d
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,137 @@
+Source: lightdm
+Section: x11
+Priority: optional
+Maintainer: Robert Ancell <robert.ancell@ubuntu.com>
+Uploaders: Julien Lavergne <gilir@ubuntu.com>
+Standards-Version: 3.9.4
+Build-Depends: debhelper (>= 7.0.50~),
+ gnome-common,
+ intltool (>= 0.35.0),
+ quilt,
+ libgcrypt11-dev,
+ libglib2.0-dev,
+ libpam0g-dev,
+ libxdmcp-dev,
+ libxcb1-dev,
+ libxklavier-dev,
+ libgtk-3-dev,
+ gobject-introspection,
+ libgirepository1.0-dev,
+ libqt4-dev,
+ qtbase5-dev,
+ dh-autoreconf,
+ dh-translations,
+ gtk-doc-tools,
+ yelp-tools,
+ dbus,
+Homepage: https://launchpad.net/lightdm
+# If you aren't a member of ~lightdm-team but need to upload packaging changes,
+# just go ahead. ~lightdm-team will notice and sync up the code again.
+Vcs-Bzr: https://code.launchpad.net/~lightdm-team/lightdm/trunk
+
+Package: lightdm
+Architecture: any
+Pre-Depends: dpkg (>= 1.15.7.2),
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+ libpam-runtime (>= 0.76-14),
+ libpam-modules,
+ adduser,
+ libglib2.0-bin,
+ dbus,
+ plymouth (>= 0.8.8-0ubuntu6.1),
+Recommends: xserver-xorg,
+ unity-greeter | lightdm-greeter | lightdm-kde-greeter,
+Conflicts: liblightdm-gobject-0-0,
+ liblightdm-qt-0-0,
+Provides: x-display-manager
+Description: Display Manager
+ LightDM is a X display manager that:
+ * Has a lightweight codebase
+ * Is standards compliant (PAM, ConsoleKit, etc)
+ * Has a well defined interface between the server and user interface
+ * Cross-desktop (greeters can be written in any toolkit)
+
+Package: liblightdm-gobject-1-0
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+Recommends: lightdm,
+ accountsservice,
+Description: LightDM GObject client library
+ A GObject based library for LightDM clients to use to interface with LightDM.
+
+Package: gir1.2-lightdm-1
+Section: libs
+Architecture: any
+Depends: ${misc:Depends},
+ liblightdm-gobject-1-0 (= ${binary:Version}),
+Description: Typelib file for liblightdm-1
+ A GObject based library for LightDM clients to use to interface with LightDM.
+
+Package: liblightdm-qt-3-0
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+Recommends: lightdm
+Conflicts: liblightdm-qt-1-0 (>= 1.1.1)
+Replaces: liblightdm-qt-1-0 (>= 1.1.1)
+Description: LightDM Qt client library
+ A Qt based library for LightDM clients to use to interface with LightDM.
+
+Package: liblightdm-qt5-3-0
+Architecture: any
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+Recommends: lightdm,
+Description: LightDM Qt 5 client library
+ A Qt 5 based library for LightDM clients to use to interface with LightDM.
+
+Package: liblightdm-gobject-1-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+ liblightdm-gobject-1-0 (= ${binary:Version}),
+ libglib2.0-dev,
+ libdbus-glib-1-dev,
+ libxklavier-dev,
+Description: LightDM GObject client library (development files)
+ A GObject based library for LightDM clients to use to interface with LightDM.
+ .
+ This package contains header files and development information, which
+ is useful for building LightDM greeters and user switchers.
+
+Package: liblightdm-qt-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+ liblightdm-qt-3-0 (= ${binary:Version}),
+ libqt4-dev,
+Breaks: liblightdm-qt-1-dev (>= 1.1.1), liblightdm-qt-3-dev
+Replaces: liblightdm-qt-1-dev (>= 1.1.1), liblightdm-qt-3-dev
+Description: LightDM Qt client library (development files)
+ A Qt based library for LightDM clients to use to interface with LightDM.
+ .
+ This package contains header files and development information, which
+ is useful for building LightDM greeters and user switchers.
+
+Package: liblightdm-qt5-3-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+ liblightdm-qt5-3-0 (= ${binary:Version}),
+ libqt4-dev,
+Description: LightDM Qt 5 client library (development files)
+ A Qt 5 based library for LightDM clients to use to interface with LightDM.
+ .
+ This package contains header files and development information, which
+ is useful for building LightDM greeters and user switchers.
+
+Package: liblightdm-gobject-1-doc
+Section: doc
+Architecture: all
+Depends: ${misc:Depends},
+Description: LightDM client library (documentation)
+ A GObject based library for LightDM clients to use to interface with LightDM.
+ .
+ This package contains HTML documentation.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 00000000..794a1e65
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,76 @@
+Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=59
+Name: LightDM
+Maintainer: Robert Ancell <robert.ancell@gmail.com>
+Source: https://launchpad.net/lightdm
+
+Files: *
+Copyright: 2010, Robert Ancell <robert.ancell@gmail.com>
+License: GPL-3+
+
+Files: liblightdm-gobject/* liblightdm-qt/*
+Copyright: 2010, Robert Ancell <robert.ancell@gmail.com>
+License: LGPL-3+
+
+Files: debian/*
+Copyright:
+ 2010, Robert Ancell <robert.ancell@gmail.com>
+ 2010, Julien Lavergne <gilir@ubuntu.com>
+License: GPL-3+
+
+Files: debian/*.config
+ debian/*.init
+Copyright:
+ 1998-2002, 2004, 2005 Branden Robinson <branden@debian.org>.
+ 2006 Eugene Konev <ejka@imfi.kspu.ru>
+License: GPL-2+
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+X-Comment: On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-3’.
+
+License: LGPL-3+
+ This package is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+ USA
+X-Comment: On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in `/usr/share/common-licenses/LGPL-3’.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+X-Comment: On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2’.
diff --git a/debian/gir1.2-lightdm-1.install b/debian/gir1.2-lightdm-1.install
new file mode 100644
index 00000000..06de5beb
--- /dev/null
+++ b/debian/gir1.2-lightdm-1.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/girepository-1.0
diff --git a/debian/guest-account b/debian/guest-account
new file mode 100644
index 00000000..d4c119ea
--- /dev/null
+++ b/debian/guest-account
@@ -0,0 +1,152 @@
+#!/bin/sh -e
+# (C) 2008 Canonical Ltd.
+# Author: Martin Pitt <martin.pitt@ubuntu.com>
+# License: GPL v2 or later
+# modified by David D Lowe and Thomas Detoux
+#
+# Setup user and temporary home directory for guest session.
+# If this succeeds, this script needs to print the username as the last line to
+# stdout.
+
+add_account ()
+{
+ HOME=`mktemp -td guest-XXXXXX`
+ USER=`echo $HOME | sed 's/\(.*\)guest/guest/'`
+
+ # if $USER already exists, it must be a locked system account with no existing
+ # home directory
+ if PWSTAT=`passwd -S "$USER"` 2>/dev/null; then
+ if [ "`echo \"$PWSTAT\" | cut -f2 -d\ `" != "L" ]; then
+ echo "User account $USER already exists and is not locked"
+ exit 1
+ fi
+ PWENT=`getent passwd "$USER"` || {
+ echo "getent passwd $USER failed"
+ exit 1
+ }
+ GUEST_UID=`echo "$PWENT" | cut -f3 -d:`
+ if [ "$GUEST_UID" -ge 500 ]; then
+ echo "Account $USER is not a system user"
+ exit 1
+ fi
+ HOME=`echo "$PWENT" | cut -f6 -d:`
+ if [ "$HOME" != / ] && [ "${HOME#/tmp}" = "$HOME" ] && [ -d "$HOME" ]; then
+ echo "Home directory of $USER already exists"
+ exit 1
+ fi
+ else
+ # does not exist, so create it
+ adduser --system --no-create-home --home / --gecos "Guest" --group --shell /bin/bash $USER || {
+ umount "$HOME"
+ rm -rf "$HOME"
+ exit 1
+ }
+ fi
+
+ # create temporary home directory
+ mount -t tmpfs -o mode=700 none "$HOME" || { rm -rf "$HOME"; exit 1; }
+ chown $USER:$USER "$HOME"
+ gs_skel=/etc/guest-session/skel/
+ if [ -d "$gs_skel" ] && [ -n "`find $gs_skel -type f`" ]; then
+ cp -rT $gs_skel "$HOME"
+ else
+ cp -rT /etc/skel/ "$HOME"
+ fi
+ chown -R $USER:$USER "$HOME"
+ usermod -d "$HOME" "$USER"
+
+ #
+ # setup session
+ #
+
+ # disable some services that are unnecessary for the guest session
+ mkdir --parents "$HOME"/.config/autostart
+ cd /etc/xdg/autostart/
+ services="jockey-kde.desktop jockey-gtk.desktop update-notifier.desktop user-dirs-update-gtk.desktop"
+ for service in $services
+ do
+ if [ -e /etc/xdg/autostart/"$service" ] ; then
+ cp "$service" "$HOME"/.config/autostart
+ echo "X-GNOME-Autostart-enabled=false" >> "$HOME"/.config/autostart/"$service"
+ fi
+ done
+
+ echo "[Desktop Entry]" >> "$HOME"/.config/autostart/screenlocking.desktop
+ echo "Name='Disable screen locking in guest session'" >> "$HOME"/.config/autostart/screenlocking.desktop
+ echo "Type=Application" >> "$HOME"/.config/autostart/screenlocking.desktop
+ echo "Exec=gsettings set org.gnome.desktop.lockdown disable-lock-screen true" >> "$HOME"/.config/autostart/screenlocking.desktop
+
+ mkdir -p "$HOME"/.kde/share/config
+ echo "[Basic Settings]" >> "$HOME"/.kde/share/config/nepomukserverrc
+ echo "Start Nepomuk=false" >> "$HOME"/.kde/share/config/nepomukserverrc
+
+ echo "[Event]" >> "$HOME"/.kde/share/config/notificationhelper
+ echo "hideHookNotifier=true" >> "$HOME"/.kde/share/config/notificationhelper
+ echo "hideInstallNotifier=true" >> "$HOME"/.kde/share/config/notificationhelper
+ echo "hideRestartNotifier=true" >> "$HOME"/.kde/share/config/notificationhelper
+
+ # Load restricted session
+ #dmrc='[Desktop]\nSession=guest-restricted'
+ #/bin/echo -e "$dmrc" > "$HOME"/.dmrc
+
+ chown -R $USER:$USER "$HOME"
+
+ # set possible local guest session preferences
+ if [ -f /etc/guest-session/prefs.sh ]; then
+ . /etc/guest-session/prefs.sh
+ fi
+
+ echo $USER
+}
+
+remove_account ()
+{
+ USER=$1
+
+ PWENT=`getent passwd "$USER"` || {
+ echo "Error: invalid user $USER"
+ exit 1
+ }
+ UID=`echo "$PWENT" | cut -f3 -d:`
+ HOME=`echo "$PWENT" | cut -f6 -d:`
+
+ if [ "$UID" -ge 500 ]; then
+ echo "Error: user $USER is not a system user."
+ exit 1
+ fi
+
+ if [ "${HOME}" = "${HOME#/tmp/}" ]; then
+ echo "Error: home directory $HOME is not in /tmp/."
+ exit 1
+ fi
+
+ # kill all remaining processes
+ while ps h -u "$USER" >/dev/null; do
+ killall -9 -u "$USER" || true
+ sleep 0.2;
+ done
+
+ umount "$HOME" || umount -l "$HOME" || true
+ rm -rf "$HOME"
+
+ # remove leftovers in /tmp
+ find /tmp -mindepth 1 -maxdepth 1 -uid "$UID" -print0 | xargs -0 rm -rf || true
+
+ deluser --system "$USER"
+}
+
+case "$1" in
+ add)
+ add_account
+ ;;
+ remove)
+ if [ -z $2 ] ; then
+ echo "Usage: $0 remove [account]"
+ exit 1
+ fi
+ remove_account $2
+ ;;
+ *)
+ echo "Usage: $0 add|remove"
+ exit 1
+esac
diff --git a/debian/liblightdm-gobject-1-0.install b/debian/liblightdm-gobject-1-0.install
new file mode 100644
index 00000000..c428e11a
--- /dev/null
+++ b/debian/liblightdm-gobject-1-0.install
@@ -0,0 +1 @@
+usr/lib/liblightdm-gobject-*.so.*
diff --git a/debian/liblightdm-gobject-1-0.symbols b/debian/liblightdm-gobject-1-0.symbols
new file mode 100644
index 00000000..680d14a0
--- /dev/null
+++ b/debian/liblightdm-gobject-1-0.symbols
@@ -0,0 +1,76 @@
+liblightdm-gobject-1.so.0 liblightdm-gobject-1-0 #MINVER#
+ lightdm_get_can_hibernate@Base 0.9.2
+ lightdm_get_can_restart@Base 0.9.2
+ lightdm_get_can_shutdown@Base 0.9.2
+ lightdm_get_can_suspend@Base 0.9.2
+ lightdm_get_hostname@Base 0.9.2
+ lightdm_get_language@Base 0.9.2
+ lightdm_get_languages@Base 0.9.2
+ lightdm_get_layout@Base 0.9.2
+ lightdm_get_layouts@Base 0.9.2
+ lightdm_get_remote_sessions@Base 1.3.3
+ lightdm_get_sessions@Base 0.9.2
+ lightdm_greeter_authenticate@Base 0.9.2
+ lightdm_greeter_authenticate_as_guest@Base 0.9.2
+ lightdm_greeter_authenticate_autologin@Base 1.4.0
+ lightdm_greeter_authenticate_remote@Base 1.3.3
+ lightdm_greeter_cancel_authentication@Base 0.9.2
+ lightdm_greeter_cancel_autologin@Base 0.9.2
+ lightdm_greeter_connect_sync@Base 0.9.2
+ lightdm_greeter_get_authentication_user@Base 0.9.2
+ lightdm_greeter_get_autologin_guest_hint@Base 0.9.2
+ lightdm_greeter_get_autologin_timeout_hint@Base 0.9.2
+ lightdm_greeter_get_autologin_user_hint@Base 0.9.2
+ lightdm_greeter_get_default_session_hint@Base 0.9.2
+ lightdm_greeter_get_has_guest_account_hint@Base 0.9.2
+ lightdm_greeter_get_hide_users_hint@Base 0.9.2
+ lightdm_greeter_get_hint@Base 0.9.2
+ lightdm_greeter_get_in_authentication@Base 0.9.2
+ lightdm_greeter_get_is_authenticated@Base 0.9.2
+ lightdm_greeter_get_lock_hint@Base 1.1.3
+ lightdm_greeter_get_select_guest_hint@Base 0.9.2
+ lightdm_greeter_get_select_user_hint@Base 0.9.2
+ lightdm_greeter_get_show_manual_login_hint@Base 1.1.7
+ lightdm_greeter_get_show_remote_login_hint@Base 1.4.0
+ lightdm_greeter_get_type@Base 0.9.2
+ lightdm_greeter_new@Base 0.9.2
+ lightdm_greeter_respond@Base 0.9.2
+ lightdm_greeter_set_language@Base 0.9.8
+ lightdm_greeter_start_session_sync@Base 0.9.2
+ lightdm_hibernate@Base 0.9.2
+ lightdm_language_get_code@Base 0.9.2
+ lightdm_language_get_name@Base 0.9.2
+ lightdm_language_get_territory@Base 0.9.2
+ lightdm_language_get_type@Base 0.9.2
+ lightdm_language_matches@Base 0.9.2
+ lightdm_layout_get_description@Base 0.9.2
+ lightdm_layout_get_name@Base 0.9.2
+ lightdm_layout_get_short_description@Base 0.9.2
+ lightdm_layout_get_type@Base 0.9.2
+ lightdm_restart@Base 0.9.2
+ lightdm_session_get_comment@Base 0.9.2
+ lightdm_session_get_key@Base 0.9.2
+ lightdm_session_get_name@Base 0.9.2
+ lightdm_session_get_session_type@Base 1.7.8
+ lightdm_session_get_type@Base 0.9.2
+ lightdm_set_layout@Base 0.9.2
+ lightdm_shutdown@Base 0.9.2
+ lightdm_suspend@Base 0.9.2
+ lightdm_user_get_background@Base 1.1.1
+ lightdm_user_get_display_name@Base 0.9.2
+ lightdm_user_get_has_messages@Base 1.1.3
+ lightdm_user_get_home_directory@Base 0.9.2
+ lightdm_user_get_image@Base 0.9.2
+ lightdm_user_get_language@Base 0.9.2
+ lightdm_user_get_layout@Base 0.9.2
+ lightdm_user_get_layouts@Base 1.1.3
+ lightdm_user_get_logged_in@Base 0.9.2
+ lightdm_user_get_name@Base 0.9.2
+ lightdm_user_get_real_name@Base 0.9.2
+ lightdm_user_get_session@Base 0.9.2
+ lightdm_user_get_type@Base 0.9.2
+ lightdm_user_list_get_instance@Base 0.9.2
+ lightdm_user_list_get_length@Base 0.9.2
+ lightdm_user_list_get_type@Base 0.9.2
+ lightdm_user_list_get_user_by_name@Base 0.9.2
+ lightdm_user_list_get_users@Base 0.9.2
diff --git a/debian/liblightdm-gobject-1-dev.install b/debian/liblightdm-gobject-1-dev.install
new file mode 100644
index 00000000..0f904875
--- /dev/null
+++ b/debian/liblightdm-gobject-1-dev.install
@@ -0,0 +1,5 @@
+usr/share/gir-1.0/LightDM-*.gir
+usr/include/lightdm-gobject-*
+usr/lib/pkgconfig/liblightdm-gobject-*.pc
+usr/lib/liblightdm-gobject-*.so
+usr/share/vala/vapi
diff --git a/debian/liblightdm-gobject-1-doc.install b/debian/liblightdm-gobject-1-doc.install
new file mode 100644
index 00000000..d5f99e83
--- /dev/null
+++ b/debian/liblightdm-gobject-1-doc.install
@@ -0,0 +1 @@
+usr/share/gtk-doc/html/lightdm-gobject-*
diff --git a/debian/liblightdm-qt-3-0.install b/debian/liblightdm-qt-3-0.install
new file mode 100644
index 00000000..89d14dd5
--- /dev/null
+++ b/debian/liblightdm-qt-3-0.install
@@ -0,0 +1 @@
+usr/lib/liblightdm-qt-*.so.*
diff --git a/debian/liblightdm-qt-dev.install b/debian/liblightdm-qt-dev.install
new file mode 100644
index 00000000..a0d22f72
--- /dev/null
+++ b/debian/liblightdm-qt-dev.install
@@ -0,0 +1,3 @@
+usr/include/lightdm-qt-*
+usr/lib/pkgconfig/liblightdm-qt-*.pc
+usr/lib/liblightdm-qt-*.so
diff --git a/debian/liblightdm-qt5-3-0.install b/debian/liblightdm-qt5-3-0.install
new file mode 100644
index 00000000..bfb4024e
--- /dev/null
+++ b/debian/liblightdm-qt5-3-0.install
@@ -0,0 +1 @@
+usr/lib/liblightdm-qt5-*.so.*
diff --git a/debian/liblightdm-qt5-3-dev.install b/debian/liblightdm-qt5-3-dev.install
new file mode 100644
index 00000000..6da31fc7
--- /dev/null
+++ b/debian/liblightdm-qt5-3-dev.install
@@ -0,0 +1,3 @@
+usr/include/lightdm-qt5-*
+usr/lib/pkgconfig/liblightdm-qt5-*.pc
+usr/lib/liblightdm-qt5-*.so
diff --git a/debian/lightdm-greeter-session b/debian/lightdm-greeter-session
new file mode 100644
index 00000000..536e0ae2
--- /dev/null
+++ b/debian/lightdm-greeter-session
@@ -0,0 +1,36 @@
+#!/bin/sh
+# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
+#
+# Copyright (C) 2011 Canonical Ltd
+# Author: Michael Terry <michael.terry@canonical.com>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation, version 3 of the License.
+#
+# See http://www.gnu.org/copyleft/gpl.html the full text of the license.
+
+# This wrapper merely ensures that dbus-daemon lives only as long as this
+# script does. Otherwise, it's very easy for dbus-daemon to be autolaunched
+# and detached from the greeter.
+
+trap cleanup TERM EXIT
+
+cleanup()
+{
+ trap - TERM EXIT
+ if [ -n "$DBUS_SESSION_BUS_PID" ]; then
+ kill "$DBUS_SESSION_BUS_PID"
+ fi
+ if [ -n "$CMD_PID" ]; then
+ kill "$CMD_PID"
+ fi
+ exit 0
+}
+
+eval `dbus-launch --sh-syntax`
+
+exec $@ &
+CMD_PID=$!
+wait $CMD_PID
+CMD_PID=
diff --git a/debian/lightdm-session b/debian/lightdm-session
new file mode 100644
index 00000000..c998ea3d
--- /dev/null
+++ b/debian/lightdm-session
@@ -0,0 +1,98 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+message () {
+ # pretty-print messages of arbitrary length; use xmessage if it
+ # is available and $DISPLAY is set
+ MESSAGE="$PROGNAME: $*"
+ echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
+ if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
+ echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
+ fi
+}
+
+errormsg () {
+ # exit script with error
+ message "$*"
+ exit 1
+}
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+ if [ -f "$file" ]; then
+ echo "Loading profile from $file";
+ . "$file"
+ fi
+done
+
+# Load resources
+xresourcedir="/etc/X11/Xresources"
+if [ -d "$xresourcedir" ]; then
+ for file in $xresourcedir/*; do
+ echo "Loading resource: $file"
+ xrdb -nocpp -merge "$file"
+ done
+fi
+xresourcefile="$HOME/.Xresources"
+if [ -f "$xresourcefile" ]; then
+ echo "Loading resource: $xresourcefile"
+ xrdb -nocpp -merge "$xresourcefile"
+fi
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading keymap: $file"
+ setxkbmap `cat "$file"`
+ XKB_IN_USE=yes
+ fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+ for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading modmap: $file"
+ xmodmap "$file"
+ fi
+ done
+fi
+
+unset XKB_IN_USE
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+ for script in $xinitdir/*; do
+ echo "Loading xinit script $script"
+ if [ -x "$script" -a ! -d "$script" ]; then
+ . "$script"
+ fi
+ done
+fi
+
+# Load Xsession scripts
+# OPTIONFILE, USERXSESSION, USERXSESSIONRC and ALTUSERXSESSION are required
+# by the scripts to work
+xsessionddir="/etc/X11/Xsession.d"
+OPTIONFILE=/etc/X11/Xsession.options
+USERXSESSION=$HOME/.xsession
+USERXSESSIONRC=$HOME/.xsessionrc
+ALTUSERXSESSION=$HOME/.Xsession
+
+if [ -d "$xsessionddir" ]; then
+ for i in `ls $xsessionddir`; do
+ script="$xsessionddir/$i"
+ echo "Loading X session script $script"
+ if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+ . "$script"
+ fi
+ done
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@
diff --git a/debian/lightdm.config b/debian/lightdm.config
new file mode 100644
index 00000000..9c6d8612
--- /dev/null
+++ b/debian/lightdm.config
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Debian lightdm package configuration script
+# based on xdm script
+# Copyright 2000-2001 Branden Robinson.
+# Licensed under the GNU General Public License, version 2. See the file
+# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
+
+set -e
+
+# source debconf library
+. /usr/share/debconf/confmodule
+
+# set default display manager
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+OWNERS=
+if db_metaget shared/default-x-display-manager owners; then
+ OWNERS="$RET"
+fi
+
+CHOICES=
+if db_metaget shared/default-x-display-manager choices; then
+ CHOICES="$RET"
+fi
+
+if [ "$OWNERS" != "$CHOICES" ]; then
+ db_subst shared/default-x-display-manager choices "$OWNERS" || :
+ db_fset shared/default-x-display-manager seen false || :
+fi
+
+# debconf is not a registry; use the current contents of the default display
+# manager file to pre-answer the question if possible
+if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ CURRENT_DEFAULT=$(basename "$(grep -v '^[[:space:]]*#' \
+ "$DEFAULT_DISPLAY_MANAGER_FILE" |
+ head -n 1)")
+ if [ -n "$CURRENT_DEFAULT" ]; then
+ db_set shared/default-x-display-manager "$CURRENT_DEFAULT"
+ fi
+else
+ CURRENT_DEFAULT=
+ if db_get shared/default-x-display-manager; then
+ CURRENT_DEFAULT="$RET"
+ fi
+fi
+
+# when installing from scratch as part of a release upgrade, default to
+# lightdm, otherwise ask
+if [ -z "$2" -a -n "$RELEASE_UPGRADE_IN_PROGRESS" ]; then
+ db_set shared/default-x-display-manager lightdm
+ db_fset shared/default-x-display-manager seen true
+else
+ db_input high shared/default-x-display-manager || :
+ db_go || :
+fi
+
+# using this display manager?
+NEW_DEFAULT=
+if db_get shared/default-x-display-manager; then
+ NEW_DEFAULT="$RET"
+fi
+
+# move the default display manager file if we are going to change it
+if [ -n "$NEW_DEFAULT" ]; then
+ if [ "$NEW_DEFAULT" != "$CURRENT_DEFAULT" ]; then
+ if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ mv "$DEFAULT_DISPLAY_MANAGER_FILE" \
+ "${DEFAULT_DISPLAY_MANAGER_FILE}.dpkg-tmp"
+ fi
+ fi
+fi
diff --git a/debian/lightdm.dirs b/debian/lightdm.dirs
new file mode 100644
index 00000000..0bcf7abd
--- /dev/null
+++ b/debian/lightdm.dirs
@@ -0,0 +1,3 @@
+/etc/X11
+/var/log/lightdm
+/var/cache/lightdm
diff --git a/debian/lightdm.init b/debian/lightdm.init
new file mode 100644
index 00000000..b2b58c70
--- /dev/null
+++ b/debian/lightdm.init
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Largely adapted from xdm's init script:
+# Copyright 1998-2002, 2004, 2005 Branden Robinson <branden@debian.org>.
+# Copyright 2006 Eugene Konev <ejka@imfi.kspu.ru>
+#
+# This is free software; you may redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2,
+# or (at your option) any later version.
+#
+# This is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License with
+# the Debian operating system, in /usr/share/common-licenses/GPL; if
+# not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+# Fifth Floor, Boston, MA 02110-1301, USA.
+
+### BEGIN INIT INFO
+# Provides: lightdm
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Should-Start: $named acpid hal
+# Should-Stop: $named
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start lightdm
+### END INIT INFO
+
+set -e
+
+HEED_DEFAULT_DISPLAY_MANAGER=
+# To start lightdm even if it is not the default display manager, change
+# HEED_DEFAULT_DISPLAY_MANAGER to "false."
+# Also overridable from command line like:
+# HEED_DEFAULT_DISPLAY_MANAGER=false /etc/init.d/lightdm start
+[ -z "$HEED_DEFAULT_DISPLAY_MANAGER" ] && HEED_DEFAULT_DISPLAY_MANAGER=true
+
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/lightdm
+PIDFILE=/var/run/lightdm.pid
+
+if [ -r /etc/default/locale ]; then
+ . /etc/default/locale
+ export LANG LANGUAGE
+fi
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+SSD_START_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --startas $DAEMON -- -d"
+SSD_STOP_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --retry TERM/5/TERM/5"
+
+case "$1" in
+ start)
+ if [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] &&
+ [ -e $DEFAULT_DISPLAY_MANAGER_FILE ] &&
+ [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "/usr/bin/lightdm" -a "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "/usr/sbin/lightdm" ]; then
+ echo "Not starting X display manager (lightdm); it is not the default" \
+ "display manager."
+ else
+ log_daemon_msg "Starting X display manager" "lightdm"
+ start-stop-daemon --start --quiet $SSD_START_ARGS \
+ || log_progress_msg "already running"
+ log_end_msg 0
+ fi
+ ;;
+
+ restart)
+ [ -f $PIDFILE ] && /etc/init.d/lightdm stop
+ [ -f $PIDFILE ] && exit 1
+ /etc/init.d/lightdm start
+ ;;
+
+ stop)
+ log_daemon_msg "Stopping X display manager" "lightdm"
+ if ! [ -f $PIDFILE ]; then
+ log_progress_msg "not running ($PIDFILE not found)"
+ else
+ start-stop-daemon --stop --quiet $SSD_STOP_ARGS
+ SSD_RES=$?
+ if [ $SSD_RES -eq 1 ]; then
+ log_progress_msg "not running"
+ fi
+ if [ $SSD_RES -eq 2 ]; then
+ log_progress_msg "not responding to TERM signals"
+ else
+ if [ -f $PIDFILE ]; then
+ log_progress_msg "(removing stale $PIDFILE)"
+ rm $PIDFILE
+ fi
+ fi
+ fi
+ log_end_msg 0
+ ;;
+ force-reload)
+ /etc/init.d/lightdm restart
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/lightdm {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/debian/lightdm.install b/debian/lightdm.install
new file mode 100644
index 00000000..4924bd48
--- /dev/null
+++ b/debian/lightdm.install
@@ -0,0 +1,16 @@
+usr/sbin/lightdm
+usr/share/man
+usr/share/locale
+usr/lib/lightdm
+usr/bin
+etc/dbus-1/
+etc/lightdm/users.conf
+etc/lightdm/lightdm.conf usr/share/doc/lightdm/
+etc/lightdm/keys.conf usr/share/doc/lightdm/
+etc/apparmor.d
+debian/lightdm-session usr/sbin
+debian/guest-account usr/sbin
+debian/lightdm-greeter-session usr/lib/lightdm
+debian/source_lightdm.py usr/share/apport/package-hooks
+debian/50-xserver-command.conf etc/lightdm/lightdm.conf.d
+debian/50-greeter-wrapper.conf etc/lightdm/lightdm.conf.d
diff --git a/debian/lightdm.lightdm-autologin.pam b/debian/lightdm.lightdm-autologin.pam
new file mode 100644
index 00000000..d38e7a83
--- /dev/null
+++ b/debian/lightdm.lightdm-autologin.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_permit.so
+@include common-account
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
+session required pam_limits.so
+@include common-session
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
+session required pam_env.so readenv=1
+session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
+@include common-password
diff --git a/debian/lightdm.lightdm-greeter.pam b/debian/lightdm.lightdm-greeter.pam
new file mode 100644
index 00000000..ba5f3147
--- /dev/null
+++ b/debian/lightdm.lightdm-greeter.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+auth required pam_permit.so
+auth optional pam_gnome_keyring.so
+@include common-account
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
+session required pam_limits.so
+@include common-session
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
+session optional pam_gnome_keyring.so auto_start
+session required pam_env.so readenv=1
+session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
diff --git a/debian/lightdm.pam b/debian/lightdm.pam
new file mode 100644
index 00000000..c658dbcf
--- /dev/null
+++ b/debian/lightdm.pam
@@ -0,0 +1,14 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
+@include common-auth
+auth optional pam_gnome_keyring.so
+@include common-account
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
+session required pam_limits.so
+@include common-session
+session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
+session optional pam_gnome_keyring.so auto_start
+session required pam_env.so readenv=1
+session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
+@include common-password
diff --git a/debian/lightdm.postinst b/debian/lightdm.postinst
new file mode 100644
index 00000000..c61da082
--- /dev/null
+++ b/debian/lightdm.postinst
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile \
+ /etc/lightdm.conf \
+ /etc/lightdm/lightdm.conf \
+ 0.3.7-0ubuntu2 -- "$@"
+fi
+
+. /usr/share/debconf/confmodule
+
+THIS_PACKAGE=lightdm
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+# creating lightdm group if he isn't already there
+if ! getent group lightdm >/dev/null; then
+ addgroup --system lightdm
+fi
+
+# creating lightdm user if he isn't already there
+if ! getent passwd lightdm >/dev/null; then
+ adduser --system --ingroup lightdm --home /var/lib/lightdm lightdm
+ usermod -c "Light Display Manager" lightdm
+ usermod -d "/var/lib/lightdm" lightdm
+ usermod -g "lightdm" lightdm
+ usermod -s "/bin/false" lightdm
+fi
+
+# Creating nopasswdlogin group if he isn't already there.
+# That enables the password-less login feature in the users-admin
+# tool of the gnome-system-tools for users that belong to it,
+# and which is working thanks to LightDM's PAM policy.
+if ! getent group nopasswdlogin >/dev/null; then
+ addgroup --system nopasswdlogin
+fi
+
+if [ -d /var/lib/lightdm ]; then
+ chown -R lightdm:lightdm /var/lib/lightdm
+ chmod 0750 /var/lib/lightdm
+fi
+
+# debconf is not a registry, so we only fiddle with the default file if it
+# does not exist
+if ! [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ DEFAULT_DISPLAY_MANAGER=
+ if db_get shared/default-x-display-manager; then
+ DEFAULT_DISPLAY_MANAGER="$RET"
+ fi
+ if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then
+ DAEMON_NAME=
+ if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then
+ DAEMON_NAME="$RET"
+ fi
+ if [ -z "$DAEMON_NAME" ]; then
+ # if we were unable to determine the name of the selected daemon (for
+ # instance, if the selected default display manager doesn't provide a
+ # daemon_name question), guess
+ DAEMON_NAME=$(which "$DEFAULT_DISPLAY_MANAGER" 2>/dev/null)
+ fi
+ if [ -n "$DAEMON_NAME" ]; then
+ echo "$DAEMON_NAME" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+fi
+
+# Registering the init scripts or starting the daemon may cause output to
+# stdout, which can confuse debconf.
+db_stop
+
+# migrate gdm configuration on first-time installation
+if [ -z "$2" ]; then
+ if grep -q '^AutomaticLoginEnable *= *true$' /etc/gdm/custom.conf 2>/dev/null; then
+ user=`sed -n '/^AutomaticLogin *=/ { s/^.*= *//; p }' /etc/gdm/custom.conf`
+ if [ -n "$user" ]; then
+ /usr/lib/lightdm/lightdm-set-defaults --keep-old --autologin="$user"
+ fi
+ fi
+fi
+
+case "$1" in
+ configure)
+ # LP: #1189948
+ if dpkg --compare-versions "$2" lt "1.7.0-0ubuntu6" ; then
+ if [ -f /etc/apparmor.d/abstractions/lightdm ]; then
+ chmod 0644 /etc/apparmor.d/abstractions/lightdm || true
+ fi
+ if [ -f /etc/apparmor.d/abstractions/lightdm_chromium-browser ]; then
+ chmod 0644 /etc/apparmor.d/abstractions/lightdm_chromium-browser || true
+ fi
+ fi
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/lightdm.postrm b/debian/lightdm.postrm
new file mode 100644
index 00000000..d640376b
--- /dev/null
+++ b/debian/lightdm.postrm
@@ -0,0 +1,47 @@
+#!/bin/sh
+set -e
+
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile \
+ /etc/lightdm.conf \
+ /etc/lightdm/lightdm.conf \
+ 0.3.7-0ubuntu2 -- "$@"
+fi
+
+if [ "$1" = "purge" ] ; then
+ rm -f /etc/lightdm.conf
+
+ if [ -d /var/log/lightdm ]; then
+ rm -r /var/log/lightdm
+ fi
+
+ if [ -d /var/cache/lightdm ]; then
+ rm -r /var/cache/lightdm
+ fi
+
+ if [ -d /var/run/lightdm/authority ]; then
+ rm -r /var/run/lightdm/authority
+ fi
+
+ if getent passwd lightdm >/dev/null; then
+ if [ -x /usr/sbin/deluser ]; then
+ deluser --system lightdm
+ fi
+ fi
+
+ if getent group lightdm >/dev/null; then
+ if [ -x /usr/sbin/delgroup ]; then
+ delgroup --system lightdm
+ fi
+ fi
+
+ # we cannot use the --remove-home option when we delete the user above
+ # because it will refuse to remove things in /var, so clean it up this
+ # way
+ if [ -d /var/lib/lightdm ]; then
+ rm -r /var/lib/lightdm
+ fi
+
+fi
+#DEBHELPER#
+exit 0
diff --git a/debian/lightdm.preinst b/debian/lightdm.preinst
new file mode 100644
index 00000000..82143068
--- /dev/null
+++ b/debian/lightdm.preinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile \
+ /etc/lightdm.conf \
+ /etc/lightdm/lightdm.conf \
+ 0.3.7-0ubuntu2 -- "$@"
+fi
+
+#DEBHELPER#
+
diff --git a/debian/lightdm.prerm b/debian/lightdm.prerm
new file mode 100644
index 00000000..2f6e6e79
--- /dev/null
+++ b/debian/lightdm.prerm
@@ -0,0 +1,58 @@
+#!/bin/bash
+# Debian lightdm package pre-removal script
+# based on xdm script
+# Copyright 2001 Branden Robinson.
+# Licensed under the GNU General Public License, version 2. See the file
+# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
+# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava.
+# based on gdm pre-removal script
+
+set -e
+
+THIS_PACKAGE=lightdm
+DAEMON=/usr/sbin/lightdm
+
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+ if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ # disown this question
+ db_unregister shared/default-x-display-manager
+ # does the question still exist?
+ if db_get shared/default-x-display-manager; then
+ db_metaget shared/default-x-display-manager owners
+ db_subst shared/default-x-display-manager choices "$RET"
+ db_get shared/default-x-display-manager
+ # are we removing the currently selected display manager?
+ if [ "$THIS_PACKAGE" = "$RET" ]; then
+ if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+ if db_get "$RET"/daemon_name; then
+ if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$RET" ]; then
+ rm "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ else
+ if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$DAEMON" ]; then
+ rm "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+ fi
+ # ask the user to choose a new default
+ db_fset shared/default-x-display-manager seen false
+ db_input critical shared/default-x-display-manager || true
+ db_go
+ # if the display manager file doesn't exist, write it with the path
+ # to the new default display manager
+ if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
+ db_get shared/default-x-display-manager
+ db_get "$RET"/daemon_name
+ echo "$RET" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+ fi
+ fi
+ fi
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/lightdm.templates b/debian/lightdm.templates
new file mode 100644
index 00000000..85ca84af
--- /dev/null
+++ b/debian/lightdm.templates
@@ -0,0 +1,24 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# for an advice to debian-l10n-english@lists.debian.org
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: shared/default-x-display-manager
+Type: select
+Choices: ${choices}
+_Description: Default display manager:
+ A display manager is a program that provides graphical login capabilities for
+ the X Window System.
+ .
+ Only one display manager can manage a given X server, but multiple display
+ manager packages are installed. Please select which display manager should
+ run by default.
+ .
+ Multiple display managers can run simultaneously if they are configured to
+ manage different servers; to achieve this, configure the display managers
+ accordingly, edit each of their init scripts in /etc/init.d, and disable the
+ check for a default display manager.
diff --git a/debian/lightdm.upstart b/debian/lightdm.upstart
new file mode 100644
index 00000000..dc46d0a6
--- /dev/null
+++ b/debian/lightdm.upstart
@@ -0,0 +1,58 @@
+# LightDM - light Display Manager
+#
+# The display manager service manages the X servers running on the
+# system, providing login and auto-login services
+#
+# based on gdm upstart script
+
+description "LightDM Display Manager"
+author "Robert Ancell <robert.ancell@canonical.com>"
+
+start on ((filesystem
+ and runlevel [!06]
+ and started dbus
+ and plymouth-ready)
+ or runlevel PREVLEVEL=S)
+
+stop on runlevel [016]
+
+emits login-session-start
+emits desktop-session-start
+emits desktop-shutdown
+
+script
+ if [ -n "$UPSTART_EVENTS" ]
+ then
+ # Check kernel command-line for inhibitors, unless we are being called
+ # manually
+ for ARG in $(cat /proc/cmdline); do
+ if [ "$ARG" = "text" ]; then
+ plymouth quit || :
+ stop
+ exit 0
+ fi
+ done
+
+ [ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/lightdm" -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/lightdm" ] || { stop; exit 0; }
+
+ if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ]
+ then
+ # Single-user mode
+ plymouth quit || :
+ exit 0
+ fi
+ fi
+
+ exec lightdm
+end script
+
+post-start script
+ sleep 5
+ clear > /dev/tty7
+end script
+
+post-stop script
+ if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then
+ initctl emit desktop-shutdown
+ fi
+end script
diff --git a/debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch b/debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch
new file mode 100644
index 00000000..b5275b40
--- /dev/null
+++ b/debian/patches/01_transition_ubuntu2d_ubuntu_desktop.patch
@@ -0,0 +1,21 @@
+# Description: Remove unity-2d (not anymore supported) and transition to unity
+# starting from quantal. llvmpipe is used in case no hardware
+# acceleration is available.
+=== modified file 'liblightdm-gobject/user.c'
+Index: lightdm-1.7.4/liblightdm-gobject/user.c
+===================================================================
+--- lightdm-1.7.4.orig/liblightdm-gobject/user.c 2013-07-01 15:49:24.038864562 +1200
++++ lightdm-1.7.4/liblightdm-gobject/user.c 2013-07-01 15:49:24.034864562 +1200
+@@ -1307,6 +1307,12 @@
+ load_dmrc (user);
+ load_accounts_service (user); // overrides dmrc values
+
++ if (g_strcmp0 (priv->session, "ubuntu-2d") == 0)
++ {
++ g_free(priv->session);
++ priv->session = g_strdup ("ubuntu");
++ }
++
+ /* Ensure a few guarantees */
+ if (priv->layouts == NULL)
+ {
diff --git a/debian/patches/04_language_handling.patch b/debian/patches/04_language_handling.patch
new file mode 100644
index 00000000..1babc4fa
--- /dev/null
+++ b/debian/patches/04_language_handling.patch
@@ -0,0 +1,54 @@
+Description: Adjustments due to handling of languages
+Forwarded: not-needed
+Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
+
+Index: debian-packaging/liblightdm-gobject/language.c
+===================================================================
+--- debian-packaging.orig/liblightdm-gobject/language.c 2013-08-19 15:50:47.471549008 +1200
++++ debian-packaging/liblightdm-gobject/language.c 2013-08-19 15:50:47.463549008 +1200
+@@ -40,7 +40,7 @@
+ static void
+ update_languages (void)
+ {
+- gchar *command = "locale -a";
++ gchar *command = "/usr/share/language-tools/language-options";
+ gchar *stdout_text = NULL, *stderr_text = NULL;
+ gint exit_status;
+ gboolean result;
+Index: debian-packaging/tests/scripts/language-env.conf
+===================================================================
+--- debian-packaging.orig/tests/scripts/language-env.conf 2013-08-19 15:50:47.471549008 +1200
++++ debian-packaging/tests/scripts/language-env.conf 2013-08-19 15:50:47.463549008 +1200
+@@ -22,8 +22,8 @@
+ #?SESSION-X-0 CONNECT-XSERVER
+
+ # Check environment variables
+-#?*SESSION-X-0 READ-ENV NAME=LANG
+-#?SESSION-X-0 READ-ENV NAME=LANG VALUE=en_AU
++#?*SESSION-X-0 READ-ENV NAME=LANGUAGE
++#?SESSION-X-0 READ-ENV NAME=LANGUAGE VALUE=en_AU
+ #?*SESSION-X-0 READ-ENV NAME=GDM_LANG
+ #?SESSION-X-0 READ-ENV NAME=GDM_LANG VALUE=en_AU
+
+Index: debian-packaging/src/seat.c
+===================================================================
+--- debian-packaging.orig/src/seat.c 2013-08-19 15:50:47.471549008 +1200
++++ debian-packaging/src/seat.c 2013-08-19 15:50:47.467549008 +1200
+@@ -782,7 +782,7 @@
+ session_set_env (session, "GDMSESSION", session_name);
+ if (language && language[0] != '\0')
+ {
+- session_set_env (session, "LANG", language);
++ session_set_env (session, "LANGUAGE", language);
+ session_set_env (session, "GDM_LANG", language);
+ }
+ session_set_pam_service (session, AUTOLOGIN_SERVICE);
+@@ -958,7 +958,7 @@
+ session_set_env (session, "GDMSESSION", session_name);
+ if (language && language[0] != '\0')
+ {
+- session_set_env (session, "LANG", language);
++ session_set_env (session, "LANGUAGE", language);
+ session_set_env (session, "GDM_LANG", language);
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 00000000..ffb22187
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+01_transition_ubuntu2d_ubuntu_desktop.patch
+04_language_handling.patch
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644
index 00000000..a1d41196
--- /dev/null
+++ b/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] lightdm.templates
diff --git a/debian/po/ca.po b/debian/po/ca.po
new file mode 100644
index 00000000..86b8a1e1
--- /dev/null
+++ b/debian/po/ca.po
@@ -0,0 +1,99 @@
+# debconf templates for xorg-x11 package
+# Catalan translation
+#
+# $Id: ca.po 1273 2006-02-21 10:58:12Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Ivan Vilata i Balaguer <net.selidor@ivan>, 2002-2007
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm 1:1.0.5-2\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 11:00+0100\n"
+"Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
+"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Escolliu el gestor de pantalla:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Un gestor de pantalla (display manager) és un programa que proporciona la "
+"capacitat d’un quadre gràfic d’entrada (login) a l’X Window System."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Només un gestor de pantalla pot gestionar un servidor X determinat, però "
+"teniu instaŀlats diversos paquets de gestor de pantalla. Per favor, "
+"escolliu quin gestor de pantalla s'executarà per defecte."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Poden haver diversos gestors de pantalla corrent simultàniament si es "
+"configuren per a gestionar diferents servidors; per a aconseguir açò, "
+"configureu adequadament els gestors de pantalla, editeu cadascun dels seus "
+"scripts d’inici en «/etc/init.d», i deshabiliteu la comprovació de gestor de "
+"pantalla per defecte."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Voleu detenir el dimoni «xdm»?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "El dimoni gestor de pantalla d’X, «xdm», sol ser detingut en actualitzarâ€"
+#~ "ne i eliminarâ€ne el paquet, però sembla que ara està gestionant almenys "
+#~ "una sessió X activa."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Si es deté «xdm» ara, terminaran totes les sessions X que està "
+#~ "gestionant. Altrament, podeu deixar corrent «xdm», i la nova versió "
+#~ "surtirà efecte a la següent volta que el dimoni es reinicie."
diff --git a/debian/po/cs.po b/debian/po/cs.po
new file mode 100644
index 00000000..b72a8ec5
--- /dev/null
+++ b/debian/po/cs.po
@@ -0,0 +1,96 @@
+# debconf templates for xdm package
+# Czech translation
+#
+# $Id: cs.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Miroslav Kure <kurem@debian.cz>, 2004-2007
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-24 10:42+0100\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Výchozí správce obrazovky:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Správce obrazovky je program, který nabízí grafické přihlášení do systému X "
+"Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Je nainstalováno několik správců obrazovky, ale jen jeden může obsluhovat "
+"daný X server. Vyberte, který správce se má spouštět jako výchozí."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Více správců obrazovky může běžet zároveň pouze pokud spravují různé "
+"servery. Pro dosažení takového nastavení je musíte správně nakonfigurovat, "
+"upravit jejich spouštěcí skripty v /etc/init.d a zakázat kontrolu výchozího "
+"správce obrazovky."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Zastavit démona xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Démon xdm (X display manager) je obvykle při aktualizaci nebo odstranění "
+#~ "balíku zastaven, ale zdá se, že spravuje minimálně jedno X sezení."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Pokud by byl xdm zastaven nyní, všechna jím spravovaná X sezení by se "
+#~ "ukonÄila. V opaÄném případÄ› zůstane xdm běžet a nová verze se spustí s "
+#~ "příštím restartem démona."
diff --git a/debian/po/da.po b/debian/po/da.po
new file mode 100644
index 00000000..29a16566
--- /dev/null
+++ b/debian/po/da.po
@@ -0,0 +1,112 @@
+# debconf templates for xorg-x11 package
+# Danish translation
+#
+# $Id: da.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Dennis Haney, 2002
+# Morten Brix Pedersen <morten@wtf.dk>, 2003.
+# Claus Hindsgaul <claus_h@image.dk>, 2004, 2005.
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11 6.8.2.dfsg.1-5+SVN\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2005-08-29 17:06+0200\n"
+"Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
+"Language-Team: Danish <dansk@klid.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid "Default display manager:"
+msgstr "Vælg den ønskede logindhåndtering."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"En logindhåndtering er et program der giver et grafisk logind til X Window-"
+"systemet."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Der kan kun køre én logindhåndtering for hver X-server, men der er "
+"installeret flere logindhåndteringer Vælg hvilken logindhåndtering der skal "
+"benyttes som standard."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"(Flere logindhåndteringer kan køre samtidig. hvis de er sat op til at "
+"håndtere forskellige servere. For at få dette til at fungere, skal "
+"logindhåndteringenerne sættes op til det. Det gør du ved at fjerne tjekket "
+"for standard logindhåndtering i deres initialiseringsskripter i /etc/init.d.)"
+
+#, fuzzy
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Vil du stoppe xdm-dæmonen?"
+
+#, fuzzy
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X-logindhåndteringsdæmonen (xdm) stoppes typisk under opgradering eller "
+#~ "afinstallation af pakken, men det ser ud til at der allerede kører mindst "
+#~ "én X-session. Hvis xdm bliver stoppet nu, vil alle de X-sessioner, den "
+#~ "håndterer, blive afbrudt. Ellers kan du lade xdm køre, så den nye version "
+#~ "først bliver taget i brug næste gang dæmonen bliver genstartet."
+
+#, fuzzy
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "X-logindhåndteringsdæmonen (xdm) stoppes typisk under opgradering eller "
+#~ "afinstallation af pakken, men det ser ud til at der allerede kører mindst "
+#~ "én X-session. Hvis xdm bliver stoppet nu, vil alle de X-sessioner, den "
+#~ "håndterer, blive afbrudt. Ellers kan du lade xdm køre, så den nye version "
+#~ "først bliver taget i brug næste gang dæmonen bliver genstartet."
diff --git a/debian/po/de.po b/debian/po/de.po
new file mode 100644
index 00000000..a1defdea
--- /dev/null
+++ b/debian/po/de.po
@@ -0,0 +1,111 @@
+# translation of xdm to german
+# debconf templates for xorg-x11 package
+# German translation
+#
+# $Id: de.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+# Branden Robinson, 2000-2004.
+# Martin Schuster, 2001.
+# Sebastian Rittau, 2001.
+# Erich Schubert, 2001.
+# Knut Suebert, 2001.
+# Sebastian Feltel, 2001.
+# Philipp Matthias Hahn, 2001.
+# Veit Waltemath, 2002.
+# Andreas Metzler, 2002.
+# Alwin Meschede <ameschede@gmx.de>, 2004, 2005, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-24 12:33+0100\n"
+"Last-Translator: Alwin Meschede <ameschede@gmx.de>\n"
+"Language-Team: german <debian-l10n-german@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Standardmäßiger Display-Manager:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Ein Display-Manager ist ein Programm, welches grafische Anmeldemöglichkeiten "
+"für das X Window System zur Verfügung stellt."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Nur ein einziger Display-Manager kann einen gegebenen X-Server verwalten, es "
+"sind allerdings mehrere Display-Manager installiert. Bitte wählen Sie den "
+"Display-Manager aus, der standardmäßig ausgeführt werden soll."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Es können mehrere Display-Manager gleichzeitig laufen, wenn diese so "
+"konfiguriert sind, dass sie verschiedene X-Server verwalten. Um dies zu "
+"erreichen, konfigurieren Sie die Display-Manager entsprechend, editieren Sie "
+"jedes ihrer Init-Skripte in /etc/init.d, und schalten Sie die Überprüfung "
+"auf einen Standard-Display-Manager ab."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Soll der xdm-Dienst gestoppt werden?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Der X Display Manager (xdm) Dienst wird meist beim Aktualisieren oder "
+#~ "Entfernen eines Pakets gestoppt, aber er scheint mindestens eine laufende "
+#~ "X-Sitzung zu verwalten."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Wenn xdm jetzt gestoppt wird, werden alle Sitzungen beendet, die er "
+#~ "gerade verwaltet. Alternativ können Sie xdm weiter laufen lassen, die "
+#~ "neue Version wird dann aktiv, sobald der Dienst das nächste Mal gestartet "
+#~ "wird."
diff --git a/debian/po/el.po b/debian/po/el.po
new file mode 100644
index 00000000..f806b093
--- /dev/null
+++ b/debian/po/el.po
@@ -0,0 +1,113 @@
+# debconf templates for xorg-x11 package
+# Greek translation
+#
+# $Id: el.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Konstantinos Margaritis <markos@debian.org>, 2004
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: el\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2005-12-19 18:40+0200\n"
+"Last-Translator: Konstantinos Margaritis <markos@debian.org>\n"
+"Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid "Default display manager:"
+msgstr "Επιλέξτε τον επιθυμητό διαχειÏιστή οθόνης."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Ο διαχειÏιστής οθόνης είναι ένα Ï€ÏόγÏαμμα που Ï€ÏοσφέÏει τη δυνατότητα "
+"σÏνδεσης στο σÏστημα παÏαθÏÏων X μέσω γÏÎ±Ï†Î¹ÎºÎ¿Ï Ï€ÎµÏιβάλλοντος."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Μόνο ένας διαχειÏιστής οθόνης μποÏεί να χειÏίζεται ένα συγκεκÏιμένο "
+"εξυπηÏετητή X, αλλά πεÏισσότεÏοι από ένας είναι εγκατεστημένοι. ΠαÏακαλώ "
+"επιλέξτε τον διαχειÏιστή οθόνης που θα εκτελείται ως Ï€ÏοκαθοÏισμένος."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Πολλαπλοί διαχειÏιστές οθόνης μποÏοÏν να Ï„Ïέχουν ταυτόχÏονα, αν έχουν "
+"Ïυθμιστεί να χειÏίζονται διαφοÏετικοÏÏ‚ διακομιστές X. Για να επιτευχθεί "
+"αυτό, Ïυθμίστε τους διαχειÏιστές οθόνης κατάλληλα, επεξεÏγαστείτε τα αÏχεία "
+"εκκίνησής τους στον κατάλογο /etc/init.d, και απενεÏγοποιήστε τον έλεγχο για "
+"Ï€ÏοκαθοÏισμένο διαχειÏιστή οθόνης."
+
+#, fuzzy
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Θέλετε να σταματήσετε να χÏησιμοποιείτε τον δαίμονα xdm;"
+
+#, fuzzy
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Κανονικά, η λειτουÏγία του δαίμονα του διαχειÏιστή οθόνης των X (xdm) "
+#~ "διακόπτεται με κάθε αναβάθμιση και διαγÏαφή του πακέτου, αλλά στη "
+#~ "συγκεκÏιμένη πεÏίπτωση φαίνεται ότι διαχειÏίζεται ήδη τουλάχιστον μια "
+#~ "συνεδÏία των X (X session). Αν ο xdm τεÏματιστεί Ï„ÏŽÏα, οποιεσδήποτε "
+#~ "συνεδÏίες των X χειÏίζεται θα τεÏματιστοÏν επίσης. ΔιαφοÏετικά, μποÏείτε "
+#~ "να αφήσετε τον xdm να συνεχίσει τη λειτουÏγία του και η νέα έκδοση να "
+#~ "χÏησιμοποιηθεί την επόμενη φοÏά που θα Ï„Ïέξει ο δαίμονας."
+
+#, fuzzy
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Κανονικά, η λειτουÏγία του δαίμονα του διαχειÏιστή οθόνης των X (xdm) "
+#~ "διακόπτεται με κάθε αναβάθμιση και διαγÏαφή του πακέτου, αλλά στη "
+#~ "συγκεκÏιμένη πεÏίπτωση φαίνεται ότι διαχειÏίζεται ήδη τουλάχιστον μια "
+#~ "συνεδÏία των X (X session). Αν ο xdm τεÏματιστεί Ï„ÏŽÏα, οποιεσδήποτε "
+#~ "συνεδÏίες των X χειÏίζεται θα τεÏματιστοÏν επίσης. ΔιαφοÏετικά, μποÏείτε "
+#~ "να αφήσετε τον xdm να συνεχίσει τη λειτουÏγία του και η νέα έκδοση να "
+#~ "χÏησιμοποιηθεί την επόμενη φοÏά που θα Ï„Ïέξει ο δαίμονας."
diff --git a/debian/po/es.po b/debian/po/es.po
new file mode 100644
index 00000000..f762f985
--- /dev/null
+++ b/debian/po/es.po
@@ -0,0 +1,97 @@
+# slim po-debconf translation to Spanish
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Software in the Public Interest
+# This file is distributed under the same license as the slim package.
+#
+# Changes:
+# - Initial translation
+# Carlos Valdivia Yagüe, 2001
+#
+# - Updates
+# Javier Fernandez-Sanguino Peña, 2003
+# David Martínez Moreno <ender@debian.org>, 2001, 2002, 2005
+# Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2008
+#
+# Traductores, si no conoce el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Equipo de traducción al español, por favor, lean antes de traducir
+# los siguientes documentos:
+#
+# - El proyecto de traducción de Debian al español
+# http://www.debian.org/intl/spanish/
+# especialmente las notas de traducción en
+# http://www.debian.org/intl/spanish/notas
+#
+# - La guía de traducción de po's de debconf:
+# /usr/share/doc/po-debconf/README-trans
+# o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: slim 1.3.0-2\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2008-12-24 13:47+0100\n"
+"Last-Translator: Francisco Javier Cuadrado <fcocuadrado@gmail.com>\n"
+"Language-Team: ES <debian-l10n-spanish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Gestor de sesiones predeterminado:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "A display manager is a program that provides graphical login capabilities for the X Window System."
+msgstr "Un gestor de sesiones es un programa que le ofrece la posibilidad de entrar gráficamente a su sistema mediante el sistema X Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which display manager should run by default."
+msgstr "Sólo puede utilizarse un gestor de sesiones para gestionar un servidor de X concreto, pero existen varios paquetes de gestores de sesiones instalados. Por favor, seleccione que gestor de sesiones debería ejecutarse de manera predeterminada."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure the display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display manager."
+msgstr "Varios gestores de sesiones se pueden ejecutar simultáneamente si están configurados para manejar diferentes servidores. Para conseguir esto, configure los gestores de sesiones apropiadamente, edite cada script de init en «/etc/init.d» relacionado con ellos y desactive la comprobación en busca del gestor de sesiones predeterminado."
+
+#, fuzzy
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "¿Desea parar el demonio de xdm?"
+
+#, fuzzy
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "El demonio del gestor de sesiones (xdm) generalmente se para al "
+#~ "actualizar los paquetes y al eliminarlos, pero parece que gestiona por lo "
+#~ "menos una sesión X en estos momentos. Si detiene xdm ahora, cualquier "
+#~ "sesión X que gestione será destruida. Puede dejar que xdm siga "
+#~ "ejecutándose, y la siguiente versión tendrá efecto cuando el demonio se "
+#~ "rearranque."
+
+#, fuzzy
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "El demonio del gestor de sesiones (xdm) generalmente se para al "
+#~ "actualizar los paquetes y al eliminarlos, pero parece que gestiona por lo "
+#~ "menos una sesión X en estos momentos. Si detiene xdm ahora, cualquier "
+#~ "sesión X que gestione será destruida. Puede dejar que xdm siga "
+#~ "ejecutándose, y la siguiente versión tendrá efecto cuando el demonio se "
+#~ "rearranque."
+
diff --git a/debian/po/eu.po b/debian/po/eu.po
new file mode 100644
index 00000000..ec6778a9
--- /dev/null
+++ b/debian/po/eu.po
@@ -0,0 +1,101 @@
+# translation of xdm-eu.po to librezale
+# debconf templates for xorg-x11 package
+# Euskara translation
+#
+# $Id: eu.po 490 2005-08-03 09:59:07Z ender $
+#
+# Copyright:
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf is available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+# Branden Robinson, 2000-2004.
+# Piarres Beobide <pi@beobide.net>, 2005, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm-eu\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 16:06+0100\n"
+"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"Language-Team: librezale <librezale@librezale.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Lehenetsiriko pantaila kudeatzailea:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Pantaila kudeatzailea X Leiho Sistemarako saio hasiera grafiko aukera ematen "
+"duen programa bat da."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Jakindako X zerbitzari bat pantaila kudeatzaile batek bakarrik kudea dezake, "
+"baina pantaila kudeatzaile anitz daude instalaturik. Hautatu zein pantaila "
+"kudeatzaile erabili nahi duzun lehenetsi bezala."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Pantaila kudeatzaile anitz batera martxan egon daitezke, zerbitzari "
+"ezberdinak kudeatzeko konfiguraturik badaude; hau lortzeko, pantaila "
+"kudeatzaileak behar bezala konfiguratu eta /etc/init.d-eko init script-ean "
+"lehenetsiriko pantaila kudeatzailea arakatzeko aukera ezgaitu."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Xdm deabrua gelditu?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X Pantaila Kudeatzaile (xdm) deabrua arruntean gelditu egiten da pakete "
+#~ "eguneraketa edo ezabaketa egiterakoan, baina dirudienez martxan dagoen X "
+#~ "saio bat beintzat kudeatzen ari da."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "xdm orain gelditu ezkero, kudeatzen ari den edozein X saio itxi egingo "
+#~ "da. Bestela xdm martxan utz dezakezu eta bersio berria deabrua abiarazten "
+#~ "den hurrengo aldian erabiliko da."
diff --git a/debian/po/fi.po b/debian/po/fi.po
new file mode 100644
index 00000000..981d7790
--- /dev/null
+++ b/debian/po/fi.po
@@ -0,0 +1,38 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: slim\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-12-22 13:23+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: Finland\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Oletusnäytönhallintaohjelma:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "A display manager is a program that provides graphical login capabilities for the X Window System."
+msgstr "Näytönhallintaohjelma tarjoaa graafisen kirjautumisruudun X-ikkunointijärjestelmään."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which display manager should run by default."
+msgstr "Vain yksi näytönhallintaohjelma voi hallinnoida kutakin X-palvelinta, mutta useampia näytönhallintaohjelmapaketteja on asennettuna. Valitse minkä näytönhallintaohjelman tulisi olla oletuksena käytössä."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure the display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display manager."
+msgstr "Useampia näytönhallintaohjelmia voidaan ajaa yhtäaikaisesti, jos ne on asetettu hallinnoimaan eri palvelimia. Saadaksesi tämän aikaan muokkaa näytönhallintaohjelmien asetuksia tarpeen mukaan, muokkaa kunkin käynnistyskomentosarjaa hakemistossa /etc/init.d ja passivoi oletusnäytönhallintaohjelman tarkistus."
+
diff --git a/debian/po/fr.po b/debian/po/fr.po
new file mode 100644
index 00000000..391acad3
--- /dev/null
+++ b/debian/po/fr.po
@@ -0,0 +1,106 @@
+# translation of fr.po to French
+# debconf templates for xorg-x11 package
+# French translation
+#
+# $Id: fr.po 1053 2006-01-10 19:20:06Z ender $
+#
+# Copyrights:
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+# Branden Robinson, 2000-2004.
+# Thomas Morin, 2001.
+# Patrice Karatchentzeff, 2001.
+# Jérôme Schell, 2001.
+# Jean-Christophe Dubacq, 2002.
+# Christian Perrier <bubulle@debian.org>, 2003, 2004, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: fr\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 20:06+0100\n"
+"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: Plural-Forms: nplurals=2; plural=n>1;\n"
+"\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Gestionnaire graphique de session par défaut :"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Un gestionnaire graphique de session est un programme qui permet de se "
+"connecter depuis le système X Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Un seul gestionnaire graphique de session peut s'occuper d'un serveur X "
+"donné, bien que plusieurs gestionnaires puissent être installés "
+"simultanément. Veuillez choisir celui qui sera utilisé par défaut."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Plusieurs gestionnaires graphiques peuvent être lancés en même temps, s'ils "
+"gèrent des serveurs X différents ; pour cela, configurez correctement chacun "
+"des gestionnaires graphiques, modifiez leurs scripts de lancement dans /etc/"
+"init.d, et désactivez le test de gestionnaire graphique par défaut."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Faut-il arrêter le démon xdm ?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Le gestionnaire de sessions X (xdm) est généralement arrêté lors de la "
+#~ "mise à jour ou de la suppression du paquet. Cependant, il semble qu'il "
+#~ "gère actuellement encore au moins une session X."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Si xdm est arrêté maintenant, toutes les sessions X qu'il gère seront "
+#~ "terminées. L'autre possibilité est de laisser fonctionner xdm, la "
+#~ "nouvelle version ne devenant active qu'au prochain redémarrage du démon."
diff --git a/debian/po/gl.po b/debian/po/gl.po
new file mode 100644
index 00000000..4faffffe
--- /dev/null
+++ b/debian/po/gl.po
@@ -0,0 +1,85 @@
+# debconf templates for xorg-x11 package
+# Galician translation
+#
+# $Id: gl.po 1080 2006-01-14 02:15:39Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Jacobo Tarrio, 2001, 2006
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 13:03+0100\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Xestor de pantalla por defecto:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Un xestor de pantalla é un programa que fornece capacidades de inicio de "
+"sesión gráfico para o sistema X Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Só un xestor de pantalla pode xestionar un servidor X determinado, pero hai "
+"varios paquetes de xestores de pantalla instalados. Escolla o xestor de "
+"pantalla que se debería executar por defecto."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Pódense executar varios xestores de pantalla ao mesmo tempo se se configuran "
+"para xestionar servidores distintos; para facelo, configure os xestores de "
+"pantalla, edite cada un dos scripts de inicio de /etc/init.d e desactive a "
+"comprobación do xestor de pantalla por defecto."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "¿Deter o servizo de xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Adoita se deter o servizo do xestor de pantalla de X (xdm) ao actualizar "
+#~ "ou eliminar o paquete, pero semella que está a xestionar alomenos unha "
+#~ "sesión X en execución."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Se se detén xdm agora, hase cortar calquera sesión X que xestione. Se "
+#~ "non, a nova versión ha tomar efecto a próxima vez que reinicie o servizo."
diff --git a/debian/po/it.po b/debian/po/it.po
new file mode 100644
index 00000000..cf81dd44
--- /dev/null
+++ b/debian/po/it.po
@@ -0,0 +1,102 @@
+# debconf templates for xorg-x11 package
+# Italian translation
+#
+# $Id: it.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Matteo Dell'Amico, 2002
+# Emanuele Aina, 2002
+# Luca Monducci, 2004
+# Danilo Piazzalunga, 2004-2007
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11 6.8.2.dfsg.1-10\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-25 14:40+0200\n"
+"Last-Translator: Danilo Piazzalunga <danilopiazza@gmail.com>\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Display manager predefinito."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Un display manager è un programma che fornisce capacità di login grafico per "
+"il sistema X Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Solo un display manager può gestire un dato server X, ma sono installati più "
+"pacchetti di display manager. Scegliere il display manager da usare come "
+"predefinito."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Possono essere eseguiti più display manager contemporaneamente, a patto che "
+"siano impostati per gestire server diversi; per fare questo, configurare i "
+"display manager in maniera appropriata, modificare ciascuno dei loro script "
+"di avvio in /etc/init.d e disabilitare il controllo per un display manager "
+"predefinito."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Arrestare il demone xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Il demone del display manager X (xdm) viene tipicamente fermato in fase "
+#~ "di aggiornamento o rimozione del pacchetto, ma pare che al momento stia "
+#~ "gestendo almeno una sessione attiva di X."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Se xdm viene arrestato ora, anche tutte le sessioni di X che gestisce "
+#~ "verranno terminate. In alternativa, la nuova versione sarà usata a "
+#~ "partire dal prossimo avvio del demone."
diff --git a/debian/po/ja.po b/debian/po/ja.po
new file mode 100644
index 00000000..37213c72
--- /dev/null
+++ b/debian/po/ja.po
@@ -0,0 +1,102 @@
+# debconf templates for xorg-x11 package
+# Japanese translation
+#
+# $Id: ja.po 1063 2006-01-11 10:46:20Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# ISHIKAWA Mutsumi, 2001
+# Tomohiro KUBOTA, 2001, 2002
+# Kenshi Muto, 2001, 2003, 2004
+# Takeo Nakano, 2001, 2003
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11 6.9.dfsg.1-3+SVN\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 19:09+0900\n"
+"Last-Translator: Kenshi Muto <kmuto@debian.org> and ISHIKAWA Mutsumi "
+"<ishikawa@debian.org>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "デフォルトã®ãƒ‡ã‚£ã‚¹ãƒ—レイマãƒãƒ¼ã‚¸ãƒ£:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"ディスプレイマãƒãƒ¼ã‚¸ãƒ£ã¨ã¯ã€X Window System 上ã§ã®ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãªãƒ­ã‚°ã‚¤ãƒ³æ©Ÿèƒ½"
+"ã‚’æä¾›ã™ã‚‹ã‚‚ã®ã§ã™ã€‚"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"ã²ã¨ã¤ã® X サーãƒã‚’管ç†ã§ãã‚‹ã®ã¯ã²ã¨ã¤ã®ãƒ‡ã‚£ã‚¹ãƒ—レイマãƒãƒ¼ã‚¸ãƒ£ã ã‘ã§ã™ãŒã€"
+"ディスプレイマãƒãƒ¼ã‚¸ãƒ£ãƒ‘ッケージãŒè¤‡æ•°ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã™ã€‚ã©ã®ãƒ‡ã‚£ã‚¹ãƒ—"
+"レイマãƒãƒ¼ã‚¸ãƒ£ã‚’デフォルトã§èµ·å‹•ã•ã›ã‚‹ã‹é¸æŠžã—ã¦ä¸‹ã•ã„。"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"ç•°ãªã‚‹ã‚µãƒ¼ãƒã‚’担当ã™ã‚‹ã‚ˆã†ã«è¨­å®šã™ã‚Œã°ã€è¤‡æ•°ã®ãƒ‡ã‚£ã‚¹ãƒ—レイサーãƒã¯åŒæ™‚ã«å‹•ä½œ"
+"ã§ãã¾ã™ã€‚ãã®ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€/etc/init.d ã«ã‚ã‚‹å„ディスプレイマãƒãƒ¼ã‚¸ãƒ£ã®åˆ"
+"期化スクリプトを編集ã—ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ‡ã‚£ã‚¹ãƒ—レイマãƒãƒ¼ã‚¸ãƒ£ã®ãƒã‚§ãƒƒã‚¯ã‚’無効ã«ã—"
+"ã¦ä¸‹ã•ã„。"
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "xdm デーモンをåœæ­¢ã—ã¾ã™ã‹?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X ディスプレイマãƒãƒ¼ã‚¸ãƒ£ (xdm) デーモンã¯ã€æ™®é€šã€ãƒ‘ッケージã®æ›´æ–°ã‚„削除ã®"
+#~ "éš›ã«åœæ­¢ã•ã›ã‚‰ã‚Œã¾ã™ã€‚ã—ã‹ã— xdm ã¯ç¾åœ¨å‹•ä½œä¸­ã® X セッションを最低ã²ã¨ã¤ã¯"
+#~ "管ç†ã—ã¦ã„るよã†ã§ã™ã€‚"
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "ã„ã¾ xdm ã‚’åœæ­¢ã™ã‚‹ã¨ã€ã“ã® xdm ãŒç®¡ç†ã—ã¦ã„ã‚‹ X セッションã¯åœæ­¢ã—ã¾ã™ã€‚"
+#~ "ã‚ã‚‹ã„ã¯æ¬¡ã«ãƒ‡ãƒ¼ãƒ¢ãƒ³ã‚’リスタートã—ãŸã¨ãã«æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® xdm を有効ã«"
+#~ "ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
diff --git a/debian/po/ko.po b/debian/po/ko.po
new file mode 100644
index 00000000..904e19d3
--- /dev/null
+++ b/debian/po/ko.po
@@ -0,0 +1,77 @@
+# Korean translations for xdm package
+# xdm íŒ¨í‚¤ì§€ì— ëŒ€í•œ 한국어 번역문.
+# Copyright (C) 2007 THE xdm'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the xdm package.
+# Sunjae Park <darehanl@gmail.com>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-04-07 20:03-0400\n"
+"Last-Translator: Sunjae Park <darehanl@gmail.com>\n"
+"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "기본 화면관리ìž:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"화면 관리ìžëŠ” 그래픽 ë¡œê·¸ì¸ ê¸°ëŠ¥ì„ ì œê³µí•˜ëŠ” X 윈ë„ìš° ì‹œìŠ¤í…œì„ ìœ„í•œ 프로그램입"
+"니다."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"í•œ 화면관리ìžëŠ” X 서버 í•˜ë‚˜ë§Œì„ ê´€ë¦¬í•  수 있는ë°ë„ ì„¤ì¹˜ëœ í™”ë©´ 관리ìžê°€ 여러 "
+"ê°œ 있습니다. 기본으로 사용할 화면관리ìžë¥¼ ì„ íƒí•´ì£¼ì‹­ì‹œì˜¤."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"서로 다른 서버를 관리하ë„ë¡ ì„¤ì •í•  경우 화면관리ìžë¥¼ ë™ì‹œì— 여러 ê°œ 실행시킬 "
+"수 있습니다. ì´ë¥¼ 위해서는 ê°ê°ì˜ 화면관리ìžë¥¼ ì ì ˆížˆ 설정하고 /etc/init.dì— "
+"ì— ìžˆëŠ” init 스í¬ë¦½íŠ¸ë¥¼ 수정해서 기본 í™”ë©´ê´€ë¦¬ìž ê²€ì‚¬ë¥¼ 비활성하십시오."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "xdm ë°ëª¬ì„ 중지시킬까요?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X 화면관리ìž(xdm) ë°ëª¬ì€ ì¼ë°˜ì ìœ¼ë¡œ 꾸러미를 설치하고 업그레ì´ë“œí•  ë•Œ 중지"
+#~ "ë˜ì§€ë§Œ 현재 하나 ì´ìƒì˜ X ì„¸ì…˜ì„ ê´€ë¦¬í•˜ëŠ” ì¤‘ì¸ ê²ƒ 같습니다."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "xdmì„ ì§€ê¸ˆ 중지시키면 xdmì´ ê´€ë¦¬í•˜ê³  있는 X ì„¸ì…˜ì€ ëª¨ë‘ ì¤‘ë‹¨ë©ë‹ˆë‹¤. 지금 "
+#~ "중지시키지 않으면 새로 설치한 ë²„ì „ì€ ë°ëª¬ì„ 다시 시작할 때부터 사용ë©ë‹ˆë‹¤."
diff --git a/debian/po/ml.po b/debian/po/ml.po
new file mode 100644
index 00000000..df22f032
--- /dev/null
+++ b/debian/po/ml.po
@@ -0,0 +1,80 @@
+# Malayalam translation of xdm debconf template.
+# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the xdm package.
+# Praveen|à´ªàµà´°à´µàµ€à´£àµâ€ A|à´Ž <pravi.a@gmail.com>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm 1.0\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-23 09:46+0530\n"
+"Last-Translator: Praveen|à´ªàµà´°à´µàµ€à´£àµâ€ A|à´Ž <pravi.a@gmail.com>\n"
+"Language-Team: Swathanthra|à´¸àµà´µà´¤à´¨àµà´¤àµà´° Malayalam|മലയാളം Computing|à´•à´®àµà´ªàµà´¯àµ‚à´Ÿàµà´Ÿà´¿à´™àµà´™àµ <smc-"
+"discuss@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "ഡിഫാളàµâ€à´Ÿàµà´Ÿà´¾à´¯à´¿ വേണàµà´Ÿ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"à´Žà´•àµà´¸àµ ജാലക സിസàµà´±àµà´±à´¤àµà´¤à´¿à´¨àµ à´—àµà´°à´¾à´«à´¿à´•àµà´•à´²à´¾à´¯à´¿ à´…à´•à´¤àµà´¤àµ à´•à´Ÿà´•àµà´•à´¾à´¨àµà´³àµà´³ à´•à´´à´¿à´µàµà´•à´³àµâ€ നലàµà´•àµà´¨àµà´¨ ഒരൠപàµà´°àµ‹à´—àµà´°à´¾à´®à´¾à´£àµ ഒരൠ"
+"à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"à´à´¤àµ†à´™àµà´•à´¿à´²àµà´‚ ഒരൠഎകàµà´¸àµ സേവകനെ ഒരേ ഒരൠപàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€â€Œà´•àµà´•àµ‡ മാനേജൠചെയàµà´¯à´¾à´¨àµâ€ പറàµà´±àµ‚, പകàµà´·àµ‡ "
+"à´’à´¨àµà´¨à´¿à´²à´§à´¿à´•à´‚ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€ പാകàµà´•àµ‡à´œàµà´•à´³àµâ€ ഇനàµâ€à´¸àµà´±àµà´±à´¾à´³àµâ€ ചെയàµà´¤à´¿à´Ÿàµà´Ÿàµà´£àµà´Ÿàµ. ദയവായി ഡിഫാളàµâ€à´Ÿàµà´Ÿà´¾à´¯à´¿ "
+"à´ªàµà´°à´µà´°àµâ€à´¤àµà´¤à´¿à´ªàµà´ªà´¿à´•àµà´•àµ‡à´£àµà´Ÿ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€ à´à´¤à´¾à´£àµ†à´¨àµà´¨àµ തിരഞàµà´žàµ†à´Ÿàµà´•àµà´•àµà´•."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"à´µàµà´¯à´¤àµà´¯à´¸àµà´¤ സേവകനàµâ€à´®à´¾à´°àµ† മാനേജൠചെയàµà´¯à´¾à´¨à´¾à´¯à´¿ à´•àµà´°à´®àµ€à´•à´°à´¿à´šàµà´šà´¿à´Ÿàµà´Ÿàµà´£àµà´Ÿàµ†à´™àµà´•à´¿à´²àµâ€ à´’à´¨àµà´¨à´¿à´²à´§à´¿à´•à´‚ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ "
+"മാനേജരàµâ€à´®à´¾à´°àµâ€à´•àµà´•àµ ഒരേ സമയം à´ªàµà´°à´µà´°àµâ€à´¤àµà´¤à´¿à´•àµà´•à´¾à´‚; ഇതൠകൈവരികàµà´•à´£à´®àµ†à´™àµà´•à´¿à´²àµâ€, à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€à´®à´¾à´°àµ† "
+"à´…à´¨àµà´¸àµƒà´¤à´®à´¾à´¯à´¿ à´•àµà´°à´®àµ€à´•à´°à´¿à´•àµà´•àµà´•à´¯àµà´‚, അവയോരോനàµà´¨à´¿à´¨àµà´±àµ‡à´¯àµà´‚ /etc/init.d യിലàµà´³àµà´³ ഇനിറàµà´±àµ à´¸àµà´•àµà´°à´¿à´ªàµà´±àµà´±àµà´•à´³àµ† "
+"മാറàµà´±àµà´•à´¯àµà´‚, ഡിഫാളàµâ€à´Ÿàµà´Ÿàµ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€à´•àµà´•à´¾à´¯àµà´³àµà´³ പരിശോദന ഡിസേബിളàµâ€ ചെയàµà´¯àµà´•à´¯àµà´‚ ചെയàµà´¯àµà´•."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "xdm ഡീമണെ നിരàµâ€à´¤àµà´¤à´Ÿàµà´Ÿàµ‡?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "à´Žà´•àµà´¸àµ à´ªàµà´°à´¦à´°àµâ€à´¶à´¨ മാനേജരàµâ€ (xdm) ഡീമണàµâ€ സാധാരണയായി പാകàµà´•àµ‡à´œàµ à´…à´ªàµâ€‹à´—àµà´°àµ‡à´¡à´¿à´¨àµà´±àµ‡à´¯àµà´‚ നീകàµà´•à´‚ "
+#~ "ചെയàµà´¯à´²à´¿à´¨àµà´±àµ‡à´¯àµà´‚ സമയതàµà´¤à´¾à´£àµ നിരàµâ€à´¤àµà´¤à´¾à´±àµà´³àµà´³à´¤àµ, പകàµà´·àµ‡ à´ªàµà´°à´µà´°àµâ€à´¤àµà´¤à´¿à´šàµà´šàµà´•àµŠà´£àµà´Ÿà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ ഒരൠഎകàµà´¸àµ "
+#~ "സെഷനെയെങàµà´•à´¿à´²àµà´‚ ഇതൠമാനേജൠചെയàµà´¤àµà´•àµŠà´£àµà´Ÿà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨à´¤àµ പോലെ തോനàµà´¨àµà´¨àµà´¨àµ."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "xdm ഇപàµà´ªàµ‹à´³àµâ€ നിരàµâ€à´¤àµà´¤àµà´•à´¯à´¾à´£àµ†à´™àµà´•à´¿à´²àµâ€, ഇതൠമാനേജൠചെയàµà´¤àµà´•àµŠà´£àµà´Ÿà´¿à´°à´¿à´•àµà´•àµà´¨àµà´¨ à´à´¤àµ à´Žà´•àµà´¸àµ സെഷനàµà´•à´³àµà´‚ "
+#~ "അവസാനിപàµà´ªà´¿à´•àµà´•àµà´¨àµà´¨à´¤à´¾à´¯à´¿à´°à´¿à´•àµà´•àµà´‚. à´…à´²àµà´²àµ†à´™àµà´•à´¿à´²àµâ€, à´…à´Ÿàµà´¤àµà´¤ തവണ ഡീമണàµâ€ വീണàµà´Ÿàµà´‚ à´¤àµà´Ÿà´™àµà´™àµà´®àµà´ªàµ‹à´³àµâ€ à´ªàµà´¤à´¿à´¯ ലകàµà´•à´‚ "
+#~ "നിലവിലàµâ€ വരàµà´‚."
diff --git a/debian/po/nl.po b/debian/po/nl.po
new file mode 100644
index 00000000..6b00877c
--- /dev/null
+++ b/debian/po/nl.po
@@ -0,0 +1,102 @@
+# debconf templates for xorg-x11 package
+# Dutch translation
+#
+# $Id: nl.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Wouter Verhelst, 2002
+# Bart Cornelis, 2003
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 20:24+0100\n"
+"Last-Translator: Bart Cornelis <cobaco@skolelinux.no>\n"
+"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Dutch\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Standaard beeldschermbeheerder:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Een beeldschermbeheerder is een programma waarmee u zich grafisch op het "
+"systeem kunt aanmelden, waarna u in de grafische omgeving (het X Window "
+"System) terecht komt."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Elke X-server kan door slechts één beeldschermbeheerder beheerd worden, "
+"hoewel er meerdere beeldschermbeheerders geïnstalleerd kunnen zijn. Welke "
+"beeldschermbeheerder dient standaard gebruikt te worden?"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Het is mogelijk om meerdere beeldschermbeheerders tegelijk te draaien zolang "
+"deze verschillende servers beheren. Om dat te bereiken dient u de "
+"beeldschermbeheerders overeenkomstig in te stellen door in hun init-scripts "
+"(in /etc/init.d) de controle of ze de standaard beeldschermbeheerder zijn "
+"uit te schakelen."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Wilt u de xdm-achtergronddienst stoppen?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Normaal wordt de beeldschermbeheerder (xdm) gestopt bij opwaardering en "
+#~ "verwijdering van dit pakket; momenteel is er echter minstens één lopende "
+#~ "X-sessie actief."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Als xdm nu gestopt word, worden alle door xdm beheerde X-sessies "
+#~ "afgesloten. Als u xdm nu laat draaien wordt de nieuwe versie pas actief "
+#~ "de eerstvolgende keer dat de achtergronddienst herstart wordt. "
diff --git a/debian/po/pl.po b/debian/po/pl.po
new file mode 100644
index 00000000..4e8e84dc
--- /dev/null
+++ b/debian/po/pl.po
@@ -0,0 +1,80 @@
+# debconf templates for xorg-x11 package
+# Polish translation
+#
+# $Id: pl.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Marcin Owsiany, 2001, 2002
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: slim\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: i2007-05-23 22:20+02:00\n"
+"Last-Translator: Unknown\n"
+"Language-Team: Polish\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid "Default display manager:"
+msgstr "Wybierz domy¶lny display manager."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Display manager to program, który umo¿liwia logowanie siê bezpo¶rednio do "
+"systemu X Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Tylko jeden display manager mo¿e kontrolowaæ dany X serwer, ale "
+"zainstalowanych jest obecnie kilka takich programów. Wybierz, który z nich "
+"ma byæ uruchamiany domy¶lnie."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+#, fuzzy
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"(Mo¿na uruchomiæ kilka programów \"display manager\", ale musz± one "
+"kontrolowaæ ró¿ne serwery; mo¿na to osi±gn±æ konfiguruj±c odpowiednio ka¿dy "
+"z nich i wy³±czaj±c w ich skryptach startowych fragment sprawdzaj±cy "
+"domy¶lny display manager.)"
diff --git a/debian/po/pothead.in b/debian/po/pothead.in
new file mode 100644
index 00000000..e4af1691
--- /dev/null
+++ b/debian/po/pothead.in
@@ -0,0 +1,30 @@
+# debconf templates for xorg-x11 package
+#
+# $Id: pothead.in 498 2005-08-05 01:55:05Z dnusinow $
+#
+# Copyright:
+# Branden Robinson, 2000-2004
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf is available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: SOURCE_VERSION\n"
+"Report-Msgid-Bugs-To: debian-x@lists.debian.org\n"
+"POT-Creation-Date: DATE\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
diff --git a/debian/po/pt.po b/debian/po/pt.po
new file mode 100644
index 00000000..d2b96486
--- /dev/null
+++ b/debian/po/pt.po
@@ -0,0 +1,64 @@
+# debconf templates for xorg-x11 package
+# Portuguese translation
+#
+# $Id: pt.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyright:
+# Branden Robinson, 2000-2004
+# Eduardo Silva <jobezone@yahoo.com>, 2005
+# Miguel Figueiredo <elmig@debianpt.org>, 2007-2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xserver-xorg_debian_po\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2008-09-02 21:27+0100\n"
+"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
+"Language-Team: Portuguese <traduz@debianPT.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Gestor de ecrã pré-definido:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Um gestor de ecrã é um programa que fornece capacidades de autenticação "
+"gráfica ao X Window System."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Apenas um único gestor de ecrã pode gerir um dado servidor X, mas estão "
+"instalados vários pacotes de gestores de ecrã. Por favor escolha qual o "
+"gestor de ecrã que deve ser executado por omissão."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Podem correr simultaneamente vários gestores de ecrã se estes estiverem "
+"configurados para gerir diferentes servidores; para alcançar isto, configure "
+"os gestores de ecrã de acordo, edite cada um dos seus scripts 'init' em "
+"/etc/init.d, e desligue a verificação de um gestor de ecrã pré-definido."
diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po
new file mode 100644
index 00000000..82b5943c
--- /dev/null
+++ b/debian/po/pt_BR.po
@@ -0,0 +1,103 @@
+# Brazilian Portuguese translation (xdm)
+# debconf templates for xdm package
+#
+# $Id: pt_BR.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+#
+# This file is distributed under the same license as the xdm package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+# Branden Robinson, 2000-2004.
+# Gustavo Noronha Silva, 2001.
+# Henrique de Moraes Holschuh, 2001.
+# André Luís Lopes <andrelop@debian.org>, 2001-2005.
+# Eder L. Marques <frolic@debian-ce.org>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: xdm 1:1.0.5-2\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-27 01:16-0300\n"
+"Last-Translator: Eder L. Marques <frolic@debian-ce.org>\n"
+"Language-Team: l10n portuguese <debian-l10n-portuguese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"pt_BR utf-8\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Gerenciador de sessão padrão:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Um gerenciador de sessão é um programa que provê capacidades de login "
+"gráfico para o 'X Window System'."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Somente um gerenciador de sessão pode gerenciar um dado servidor X, mas "
+"diversos pacotes de gerenciadores de sessão estão instalados. Por favor "
+"selecione qual gerenciador de sessão deverá ser executado por padrão."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Múltiplos gerenciadores de sessão podem ser executados simultaneamente se "
+"eles estão configurados para gerenciar servidores diferentes; para conseguir "
+"isso, configure os gerenciadores de sessão apropriadamente, edite cada um "
+"dos seus scripts de inicialização em /etc/init.d, e desabilite a checagem "
+"por um gerenciador de sessão padrão."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Deseja parar o daemon xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "O daemon do gerenciador de sessão do X (xdm) tipicamente é parado em "
+#~ "atualizações e remoções de pacotes, mas ele parece estar gerenciando pelo "
+#~ "menos uma sessão X em execução. "
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Caso o xdm seja parado agora, quaisquer sessões X que ele esteja "
+#~ "gerenciando serão encerradas. Caso contrário a nova versão terá efeito na "
+#~ "próxima vez que o daemon for reiniciado."
diff --git a/debian/po/ro.po b/debian/po/ro.po
new file mode 100644
index 00000000..4242e8f1
--- /dev/null
+++ b/debian/po/ro.po
@@ -0,0 +1,112 @@
+# translation of ro.po to Romanian
+# debconf templates for xorg-x11 package
+#
+# $Id: pothead.in 189 2005-06-11 00:04:27Z branden $
+#
+# Copyright:
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf is available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+# Branden Robinson, 2000--2004.
+# Eddy PetriÅŸor <eddy.petrisor@gmail.com>, 2005.
+# Ruşeţ Zeno <rzeno@cwazy.co.uk>, 2005.
+# Eddy Petrisor <eddy.petrisor@gmail.com>, 2005.
+# Eddy Petrișor <eddy.petrisor@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: ro\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-05-31 11:00+0300\n"
+"Last-Translator: Eddy Petrișor <eddy.petrisor@gmail.com>\n"
+"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Managerul de ecran implicit:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Un manager de ecran este un program care oferă facilitatea de autentificare "
+"grafică sistemului de ferestre X."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Doar un singur manager de ecran poate guverna un anumit server X, dar mai "
+"mulţi manageri de ecran sunt instalaţi. Selectaţi managerul care ar trebui "
+"să pornească în mod implicit."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Mai mulţi manageri de ecran pot rula simultan dacă sunt configuraţi să "
+"guverneze servere diferite; pentru a obţine acest lucru, configuraţi "
+"corespunzător managerii de ecran, editaţi fiecare dintre script-urile lor de "
+"iniţializare din /etc/init.d şi dezactivaţi testul de manager de ecran "
+"implicit."
+
+#, fuzzy
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Doriţi să opriţi demonul xdm?"
+
+#, fuzzy
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Demonul X de management al ecranului (xdm) este, în mod obişnuit oprit la "
+#~ "înnoirea sau ştergerea pachetului, dar se pare că acesta guvernează cel "
+#~ "puţin o sesiune X care rulează acum. Dacă xdm este oprit acum, orice "
+#~ "sesiune guvernată de el va fi terminată. Altfel, îl puteţi lăsa pe xdm să "
+#~ "ruleze şi noua versiune va avea efect la următoarea repornire a demonului."
+
+#, fuzzy
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Demonul X de management al ecranului (xdm) este, în mod obişnuit oprit la "
+#~ "înnoirea sau ştergerea pachetului, dar se pare că acesta guvernează cel "
+#~ "puţin o sesiune X care rulează acum. Dacă xdm este oprit acum, orice "
+#~ "sesiune guvernată de el va fi terminată. Altfel, îl puteţi lăsa pe xdm să "
+#~ "ruleze şi noua versiune va avea efect la următoarea repornire a demonului."
diff --git a/debian/po/ru.po b/debian/po/ru.po
new file mode 100644
index 00000000..37b380e6
--- /dev/null
+++ b/debian/po/ru.po
@@ -0,0 +1,102 @@
+# translation of xserver-xorg_debian_po_ru.po to Russian
+# debconf templates for xorg-x11 package
+# Russian translation
+#
+# $Id: ru.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Ilgiz Kalmetev, 2002, 2003
+# Serge Winitzki, 2003
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+# Yuri Kozlov <kozlov.y@gmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xserver-xorg_debian_po_ru\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 12:07+0300\n"
+"Last-Translator: asv <alyoshin@pisem.net>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Менеджер диÑплеев по умолчанию:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Менеджер диÑплеев -- Ñто программа, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð±ÐµÑпечивает возможноÑÑ‚ÑŒ "
+"графичеÑкого входа в ÑиÑтему Ð´Ð»Ñ X Window System."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Данный X-Ñервер может обÑлуживать только один менеджер диÑплеев, но "
+"уÑтановлено неÑколько пакетов менеджеров диÑплеев. ПожалуйÑта, выберите "
+"менеджер диÑплеев, который должен запуÑкатьÑÑ Ð¿Ð¾ умолчанию."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"ÐеÑколько менеджеров диÑплеев могут запуÑкатьÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾, еÑли они "
+"наÑтроены на обÑлуживание разных Ñерверов; чтобы добитьÑÑ Ñтого, наÑтройте "
+"менеджеры диÑплеев ÑоответÑтвенно, отредактируйте их Ñценарии инициализации "
+"в /etc/init.d и отключите проверку менеджера диÑплеев по умолчанию."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "ОÑтановить Ñервер-демон xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Сервер-демон менеджера X-диÑплеев (xdm) обычно оÑтанавливают при "
+#~ "обновлении или удалении пакета, но, кажетÑÑ, что xdm ÑÐµÐ¹Ñ‡Ð°Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñет по "
+#~ "крайней мере одним X-ÑеанÑом."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "ЕÑли ÑÐµÐ¹Ñ‡Ð°Ñ Ð¾Ñтановить xdm, то вÑе управлÑемые им X-ÑеанÑÑ‹ будут "
+#~ "прерваны. Или вы можете не оÑтанавливать xdm, и тогда Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð±ÑƒÐ´ÐµÑ‚ "
+#~ "загружена тогда, когда xdm Ñнова перезапуÑÑ‚ÑÑ‚."
diff --git a/debian/po/sk.po b/debian/po/sk.po
new file mode 100644
index 00000000..b93894b0
--- /dev/null
+++ b/debian/po/sk.po
@@ -0,0 +1,82 @@
+# debconf templates for xorg-x11 package
+# Slovak translation
+# $Id: sk.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Miroslav Kure <kurem@debian.cz>, 2004
+# Peter Mann <Peter.Mann@tuke.sk>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 09:30+0100\n"
+"Last-Translator: Peter Mann <Peter.Mann@tuke.sk>\n"
+"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Zvoľte predvoleného správcu obrazovky:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Správca obrazovky je program, ktorý ponúka grafické prihlásenie do systému X "
+"Window."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Máte nainštalovaných viac správcov obrazovky, ale iba jeden môže obsluhovať "
+"daný X server. Zvoľte si správcu, ktorý bude predvolený."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Súbežne môže byť spustených viac správcov obrazovky, ale iba v prípade "
+"viacero rozdielnych serverov. Pre dosiahnutie takéhoto nastavenia ich musíte "
+"správne nastaviť, upraviť ich spúšťacie skripty v /etc/init.d a zakázať "
+"kontrolu predvoleného správcu obrazovky."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Zastaviť správcu obrazovky xdm?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Správca obrazovky xdm (X display manager) sa zvykne zastaviť pri "
+#~ "aktualizácii alebo odstraňovaní balíka, lenže teraz to vyzerá tak, že má "
+#~ "na starosti aspoň jedno ÄalÅ¡ie spustené X sedenie."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Ak by sa teraz xdm zastavil, všetky ním ovládané X sedenia by sa "
+#~ "ukonÄili. V opaÄnom prípade môžete nechaÅ¥ xdm spustený, priÄom nová "
+#~ "verzia sa spustí pri ÄalÅ¡om reÅ¡tarte xdm."
diff --git a/debian/po/sv.po b/debian/po/sv.po
new file mode 100644
index 00000000..1a6a2b13
--- /dev/null
+++ b/debian/po/sv.po
@@ -0,0 +1,103 @@
+# debconf templates for xorg-x11 package
+# Swedish translation
+#
+# $Id: sv.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# André Dahlqvist, 2001
+# Peter Toneby, 2002
+# Mikael Hedin, 2002
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xserver-xorg\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-22 10:43+0100\n"
+"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Swedish\n"
+"X-Poedit-Country: SWEDEN\n"
+"X-Poedit-SourceCharset: iso-8859-1\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Standarddisplayhanterare:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"En displayhanterare är det program som tillhandahåller grafiska "
+"inloggningsmöjligheter i X Window System."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Endast en displayhanterare kan hantera en angiven X-server, men flera "
+"displayhanterarpaket kan vara installerade. Välj vilken displayhanterare som "
+"skall köras som standard."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Flera displayhanterare kan köras samtidigt om de är konfigurerade att "
+"hantera olika servrar. För att uppnå detta ska du konfigurera "
+"displayhanterarnas init-skript under /etc/init.d, och inaktivera kontrollen "
+"efter en standarddisplayhanterare."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Stoppa xdm-demonen?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X-displayhanterardemonen (xdm) stoppas vanligtvis vid paketuppgradering "
+#~ "och borttagning men det verkar som om den hanterar åtminstone en körande "
+#~ "X-session."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Om xdm stoppas nu kommer de X-sessioner som den hanterar att avslutas. Om "
+#~ "inte kommer den nya versionen att bli aktiv nästa gång som demonen "
+#~ "startas om."
diff --git a/debian/po/ta.po b/debian/po/ta.po
new file mode 100644
index 00000000..2a5d207b
--- /dev/null
+++ b/debian/po/ta.po
@@ -0,0 +1,77 @@
+# translation of templates.po to TAMIL
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Dr.T.Vasudevan <agnihot3@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: templates\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-26 16:49+0530\n"
+"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
+"Language-Team: TAMIL <ubuntu-l10n-tam@lists.ubuntu.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯ காடà¯à®šà®¿ மேலாளரà¯:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"காடà¯à®šà®¿ மேலாளர௠எனà¯à®ªà®¤à¯ வரைகலை உளà¯à®¨à¯à®´à¯ˆà®µà¯ இயலà¯à®®à¯ˆà®¯à¯ˆ எகà¯à®¸à¯ விணà¯à®Ÿà¯‹à®¸à¯ அமைபà¯à®ªà¯à®•à¯à®•à¯ தரà¯à®®à¯ "
+"நிரலாகà¯à®®à¯."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"ஒர௠கொடà¯à®•à¯à®•à®ªà¯ படà¯à®Ÿ X சேவையகதà¯à®¤à®¿à®²à¯ ஒர௠காடà¯à®šà®¿ மேலாளரà¯à®¤à®¾à®©à¯ மேலாள இயலà¯à®®à¯. ஆனால௠பல காடà¯à®šà®¿ "
+"மேலாளரà¯à®•à®³à¯ நிறà¯à®µà®ªà¯ படà¯à®Ÿà¯à®³à¯à®³à®©. எத௠மà¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà®¾à®• இரà¯à®•à¯à®• வேணà¯à®Ÿà¯à®®à¯ என தேரà¯à®¨à¯à®¤à¯†à®Ÿà¯à®™à¯à®•à®³à¯"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"வெவà¯à®µà¯‡à®±à¯ சேவையகஙà¯à®•à®³à¯ˆ மேலாள வடிவமைதà¯à®¤à®¾à®²à¯ பல காடà¯à®šà®¿ மேலாளரà¯à®•à®³à¯ ஒரே நேரதà¯à®¤à®¿à®²à¯ இயஙà¯à®•à®•à¯ "
+"கூடà¯à®®à¯. இதை செயà¯à®¯ காடà¯à®šà®¿ மேலாளரà¯à®•à®³à¯ˆ தகà¯à®¨à¯à®¤à®¾à®±à¯ போல வடிவமையà¯à®™à¯à®•à®³à¯. அவறà¯à®±à®¿à®©à¯ இனிட௠சிற௠"
+"நிரலà¯à®•à®³à¯ˆ /etc/init.d இல௠திரà¯à®¤à¯à®¤à¯à®™à¯à®•à®³à¯. à®®à¯à®©à¯à®©à®¿à®°à¯à®ªà¯à®ªà¯ காடà¯à®šà®¿ மேலாளர௠தேரà¯à®µà¯ˆ செயலிழகà¯à®•à®šà¯ "
+"செயà¯à®¯à®µà¯à®®à¯."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "எகà¯à®¸à¯à®Ÿà®¿à®Žà®®à¯ கிஙà¯à®•à®°à®©à¯ˆ நிறà¯à®¤à¯à®¤à®µà®¾?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "எகà¯à®¸à¯à®Ÿà®¿à®Žà®®à¯ கிஙà¯à®•à®°à®©à¯ வழகà¯à®•à®®à®¾à®• பொதி மேலாகà¯à®•à®®à¯ அலà¯à®²à®¤à¯ நீகà¯à®•à®®à¯ நிகழà¯à®®à¯ போத௠நிறà¯à®¤à¯à®¤à®ªà¯ படà¯à®®à¯. "
+#~ "ஆனால௠அத௠ஒர௠எகà¯à®¸à¯ அமரà¯à®µà¯ˆà®¯à®¾à®µà®¤à¯ இயகà¯à®•à¯à®µà®¤à¯ போல தெரிகிறதà¯."
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "இபà¯à®ªà¯‹à®¤à¯ எகà¯à®¸à¯à®Ÿà®¿à®Žà®®à¯ நிறà¯à®¤à¯à®¤à®ªà¯ படà¯à®Ÿà®¾à®²à¯ அத௠மேலாளà¯à®®à¯ எகà¯à®¸à¯ அமரà¯à®µà¯à®•à®³à¯ நிறà¯à®¤à¯à®¤à®ªà¯ படà¯à®®à¯. அலà¯à®²à®¤à¯ "
+#~ "பà¯à®¤à®¿à®¯ பதிபà¯à®ªà¯ கிஙà¯à®•à®°à®©à¯ அடà¯à®¤à¯à®¤ à®®à¯à®±à¯ˆ இயஙà¯à®•à¯à®®à¯ போத௠செயல௠ல௠படà¯à®®à¯."
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644
index 00000000..3f91ccf4
--- /dev/null
+++ b/debian/po/templates.pot
@@ -0,0 +1,50 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: lightdm@packages.debian.org\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid "Default display manager:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../lightdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
diff --git a/debian/po/tr.po b/debian/po/tr.po
new file mode 100644
index 00000000..6b1d56b9
--- /dev/null
+++ b/debian/po/tr.po
@@ -0,0 +1,93 @@
+# translation of tr.po to Turkish
+# debconf templates for xorg-x11 package
+# Turkish translation
+#
+# $Id: tr.po 1061 2006-01-11 10:19:43Z ender $
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+# Osman Yüksel <yuxel@sonsuzdongu.com>, 2004, 2006.
+# Recai OktaÅŸ <roktas@debian.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xorg-x11\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2008-09-19 12:58+0200\n"
+"Last-Translator: Mert Dirik <mertdirik@gmail.com>\n"
+"Language-Team: Debian L10n Turkish <debian-l10n-turkish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Öntanımlı ekran yöneticisi:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "A display manager is a program that provides graphical login capabilities for the X Window System."
+msgstr "Ekran yöneticisi, X Pencere Sistemi'ne görsel arayüz ile giriş yapmayı sağlayan bir programdır."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which display manager should run by default."
+msgstr "Sadece bir ekran yöneticisi verilen X sunucusunu yönetebilir; ancak sisteminizde birden fazla ekran yöneticisi kurulu durumda. Lütfen öntanımlı olarak çalıştırmak istediğiniz ekran yöneticisini seçin."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure the display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display manager."
+msgstr "Eğer farklı sunucuları çalıştırmak için ayarlanırsa birden fazla ekran yöneticisi kullanılabilir. Bunun için, her bir ekran yöneticisini uygun bir şekilde yapılandırın, /etc/init.d içindeki ilgili betikleri değiştirin ve öntanımlı ekran yöneticisini denetleyen işlevleri devre dışı bırakın."
+
+#, fuzzy
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "xdm servisini durdurmak istiyor musunuz?"
+
+#, fuzzy
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X ekran yöneticisi (xdm) servisi, paket güncelleme ve kaldırma sırasında "
+#~ "genellikle durdurulur. Fakat öyle görünüyor ki xdm, çalışan (en az) bir "
+#~ "X oturumunu yönetiyor. Eğer xdm şimdi durdurulursa yönetilen X "
+#~ "oturumları da sonlandırılacaktır. Böyle yapmak yerine xdm'i çalışır "
+#~ "vaziyette bırakabilirsiniz. Yeni sürüm, xdm servisinin bir sonraki "
+#~ "çalıştırılışında etkin olacaktır."
+
+#, fuzzy
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "X ekran yöneticisi (xdm) servisi, paket güncelleme ve kaldırma sırasında "
+#~ "genellikle durdurulur. Fakat öyle görünüyor ki xdm, çalışan (en az) bir "
+#~ "X oturumunu yönetiyor. Eğer xdm şimdi durdurulursa yönetilen X "
+#~ "oturumları da sonlandırılacaktır. Böyle yapmak yerine xdm'i çalışır "
+#~ "vaziyette bırakabilirsiniz. Yeni sürüm, xdm servisinin bir sonraki "
+#~ "çalıştırılışında etkin olacaktır."
+
diff --git a/debian/po/vi.po b/debian/po/vi.po
new file mode 100644
index 00000000..ee93e204
--- /dev/null
+++ b/debian/po/vi.po
@@ -0,0 +1,89 @@
+# debconf templates for xorg-x11 package
+# Vietnamese translation
+# slim 1.2.6-2
+# $Id: vi.po 1042 2006-01-09 07:55:08Z ender $
+#
+# Copyright:
+# Branden Robinson, 2000-2004
+# Clytie Siddall <clytie@riverland.net.au>, 2005-2007.
+#
+# This file is distributed under the same license as the xorg-x11 package.
+# Please see debian/copyright.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 4.3.0.dfsg.1-7+SVN\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-06-02 16:14+0930\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.6.3b1\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "Bộ quản lý trình bày mặc định:"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr ""
+"Bá»™ quản lý trình bày là chÆ°Æ¡ng trình cung cấp khả năng đăng nhập kiểu đồ há»a "
+"cho Hệ thống Cửa sổ X."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"Chỉ một bộ quản lý trình bày có khả năng quản lý mỗi trình phục vụ X (X "
+"server) đã cho, nhÆ°ng mà nhiá»u gói chÆ°Æ¡ng trình quản lý trình bày đã được "
+"cài đặt. Hãy chá»n bá»™ quản lý trình bày nào nà nên chạy theo mặc định."
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"Nhiá»u bá»™ quản lý trình bày có khả năng chạy đồng thá»i nếu má»—i Ä‘iá»u được cấu "
+"hình để quản lý trình phục vụ khác nhau. Äể làm nhÆ° thế, hãy cấu hình má»i bá»™ "
+"quản lý trình bày một cách thích hợp, sửa đổi mỗi văn lệnh sơ khởi (init "
+"script) trong </etc/init.d>, và tắt khả năng kiểm tra có bộ quản lý trình "
+"bày mặc định."
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "Ngừng trình ná»n xdm không?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "Trình ná»n (dæmon) quản lý trình bày X thÆ°á»ng được ngừng chạy khi cập nhật "
+#~ "hay gỡ bá» gói phần má»m, nhÆ°ng mà có vẻ là nó Ä‘ang quản lý ít nhất má»™t "
+#~ "phiên chạy X còn hoạt động. "
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "Ngừng chạy xdm ngay bây giỠthì phiên chạy X nào nó quản lý sẽ cũng bị "
+#~ "kết thúc. Không thì phiên bản mới sẽ có tác động lần kế tiếp khởi chạy "
+#~ "lại trình ná»n."
diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po
new file mode 100644
index 00000000..ada253e5
--- /dev/null
+++ b/debian/po/zh_CN.po
@@ -0,0 +1,92 @@
+# debconf templates for xdm package
+# simplified Chinese translation
+#
+# Copyrights:
+# Branden Robinson, 2000-2004
+# Carlos Z.F. Liu <carlosliu@users.sourceforge.net>, 2005
+# Ming Hua <minghua@rice.edu>, 2005,2007
+#
+# This file is distributed under the same license as the xdm package.
+# Please see debian/copyright.
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 1:1.0.5-2\n"
+"Report-Msgid-Bugs-To: mmassonnet@gmail.com\n"
+"POT-Creation-Date: 2007-05-31 08:04+0200\n"
+"PO-Revision-Date: 2007-03-28 18:50-0500\n"
+"Last-Translator: Ming Hua <minghua@rice.edu>\n"
+"Language-Team: Debian Chinese [GB] <debian-chinese-gb@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid "Default display manager:"
+msgstr "默认显示管ç†å™¨ï¼š"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"A display manager is a program that provides graphical login capabilities "
+"for the X Window System."
+msgstr "显示管ç†å™¨æ˜¯ä¸º X 窗å£ç³»ç»Ÿæ供图形界é¢ç™»å½•æ¨¡å¼çš„程åºã€‚"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Only one display manager can manage a given X server, but multiple display "
+"manager packages are installed. Please select which display manager should "
+"run by default."
+msgstr ""
+"一个给定的 X æœåŠ¡å™¨åªèƒ½ç”±ä¸€ä¸ªæ˜¾ç¤ºç®¡ç†å™¨æ¥ç®¡ç†ï¼Œä½†æ˜¯ç³»ç»Ÿä¸­å·²ç»å®‰è£…了多个显示管"
+"ç†å™¨è½¯ä»¶åŒ…。请选择一个作为默认的显示管ç†å™¨ã€‚"
+
+#. Type: select
+#. Description
+#: ../lxdm.templates:2001
+msgid ""
+"Multiple display managers can run simultaneously if they are configured to "
+"manage different servers; to achieve this, configure the display managers "
+"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
+"check for a default display manager."
+msgstr ""
+"如果多个显示管ç†å™¨è¢«é…置为分别管ç†ä¸åŒçš„ X æœåŠ¡å™¨ï¼Œé‚£ä¹ˆå®ƒä»¬å¯ä»¥åŒæ—¶è¿è¡Œã€‚è¦åš"
+"到这一点,您è¦æŒ‰ç…§éœ€æ±‚分别对å„显示管ç†å™¨è¿›è¡Œè®¾ç½®ï¼Œç¼–辑它们在 /etc/init.d 目录"
+"下的 init 脚本,并且关闭对默认显示管ç†å™¨çš„检查。"
+
+#~ msgid "Stop the xdm daemon?"
+#~ msgstr "åœæ­¢ xdm 守护进程å—?"
+
+#~ msgid ""
+#~ "The X display manager (xdm) daemon is typically stopped on package "
+#~ "upgrade and removal, but it appears to be managing at least one running X "
+#~ "session."
+#~ msgstr ""
+#~ "X 显示管ç†å™¨ (xdm) 守护进程通常会在软件包å‡çº§å’Œå¸è½½æ—¶è¢«åœæ­¢ï¼Œä½†çœ‹èµ·æ¥å®ƒç›®"
+#~ "å‰åœ¨ç®¡ç†ä¸€ä¸ªæˆ–多个正在è¿è¡Œçš„ X 会è¯ã€‚"
+
+#~ msgid ""
+#~ "If xdm is stopped now, any X sessions it manages will be terminated. "
+#~ "Otherwise, the new version will take effect the next time the daemon is "
+#~ "restarted."
+#~ msgstr ""
+#~ "如果 xdm 现在就被åœæ­¢ï¼Œå®ƒæ‰€ç®¡ç†çš„全部 X 会è¯éƒ½ä¼šè¢«ä¸­æ­¢ã€‚如果ä¸åœæ­¢ xdm,新"
+#~ "安装的版本将会在守护进程下次é‡æ–°å¯åŠ¨æ—¶ç”Ÿæ•ˆã€‚"
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 00000000..6135377b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,37 @@
+#!/usr/bin/make -f
+
+LDFLAGS+=-Wl,--as-needed
+
+%:
+ dh $@ --with quilt,autoreconf,translations --parallel
+
+override_dh_autoreconf:
+ NOCONFIGURE=1 dh_autoreconf ./autogen.sh
+
+# NOTE: Using GNOME for now, but we still need a proper configuration system
+# See https://launchpad.net/bugs/799754
+override_dh_auto_configure:
+ dh_auto_configure -- --with-greeter-user=lightdm --with-user-session=ubuntu --enable-gtk-doc
+
+override_dh_auto_test:
+ #Disabled for now, are failing for some reason
+ #DEBUG=1 dh_auto_test || { cat tests/test-suite.log; exit 1; }
+
+override_dh_install:
+ rm -r debian/tmp/usr/share/help/C/
+ # we do install pam through installpam and init through installinit
+ dh_install -X.a -X.la -Xpam.d -X'etc/init/lightdm.conf' --fail-missing
+ mv debian/lightdm/usr/lib/lightdm/lightdm/lightdm-set-defaults debian/lightdm/usr/lib/lightdm
+ chmod +x debian/lightdm/usr/lib/lightdm/lightdm-greeter-session
+
+override_dh_installinit:
+ dh_installinit --no-start
+
+override_dh_installpam:
+ dh_installpam
+ dh_installpam --name=lightdm-autologin
+ dh_installpam --name=lightdm-greeter
+
+override_dh_makeshlibs:
+ dh_makeshlibs -pliblightdm-gobject-1-0 -V'liblightdm-gobject-1-0 (>= 0.9.2)' -- -c4
+ dh_makeshlibs -Nliblightdm-gobject-1-0
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 00000000..d3827e75
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+1.0
diff --git a/debian/source_lightdm.py b/debian/source_lightdm.py
new file mode 100644
index 00000000..24a18835
--- /dev/null
+++ b/debian/source_lightdm.py
@@ -0,0 +1,28 @@
+import os
+import re
+
+from apport.hookutils import *
+
+def add_info(report, ui):
+
+ if ui:
+ display_manager_files = {}
+ if os.path.lexists('/var/log/lightdm'):
+ display_manager_files['LightdmLog'] = \
+ 'cat /var/log/lightdm/lightdm.log'
+ display_manager_files['LightdmDisplayLog'] = \
+ 'cat /var/log/lightdm/x-0.log'
+ display_manager_files['LightdmGreeterLog'] = \
+ 'cat /var/log/lightdm/x-0-greeter.log'
+ display_manager_files['LightdmGreeterLogOld'] = \
+ 'cat /var/log/lightdm/x-0-greeter.log.old'
+ display_manager_files['LightdmConfig'] = \
+ 'cat /etc/lightdm/lightdm.conf'
+ display_manager_files['LightdmUsersConfig'] = \
+ 'cat /etc/lightdm/users.conf'
+
+ if ui.yesno("Your display manager log files may help developers"\
+ " diagnose the bug, but may contain sensitive information"\
+ " such as your hostname or username. Do you want to"\
+ " include these logs in your bug report?") == True:
+ attach_root_command_outputs(report, display_manager_files)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 00000000..a59dfd0b
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,3 @@
+#Tests: upstream-tests
+#Depends: @, python-gi, xauth
+#Restrictions: build-needed needs-root
diff --git a/debian/tests/upstream-tests b/debian/tests/upstream-tests
new file mode 100644
index 00000000..425cd6b8
--- /dev/null
+++ b/debian/tests/upstream-tests
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+set -x
+
+# We use 'ubuntu' as the default xsession, so make sure it exists
+cp tests/data/xsessions/default.desktop tests/data/xsessions/ubuntu.desktop
+
+make check
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 00000000..5077dae2
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+https://launchpad.net/lightdm/+download .*/lightdm-([0-9.]+)\.tar\.xz
+
diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c
index 82fc75ab..190379cf 100644
--- a/liblightdm-gobject/session.c
+++ b/liblightdm-gobject/session.c
@@ -35,7 +35,6 @@ G_DEFINE_TYPE (LightDMSession, lightdm_session, G_TYPE_OBJECT);
static gboolean have_sessions = FALSE;
static GList *local_sessions = NULL;
static GList *remote_sessions = NULL;
-static GList *mir_sessions = NULL;
static gint
compare_session (gconstpointer a, gconstpointer b)
@@ -196,7 +195,6 @@ update_sessions (void)
gchar *config_path = NULL;
gchar *sessions_dir;
gchar *remote_sessions_dir;
- gchar *mir_sessions_dir;
gboolean result;
GError *error = NULL;
diff --git a/po/af.po b/po/af.po
index 553b9a59..6dba2d9a 100644
--- a/po/af.po
+++ b/po/af.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/an.po b/po/an.po
index 7fce0220..88ca1ecc 100644
--- a/po/an.po
+++ b/po/an.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ar.po b/po/ar.po
index cdc9d589..889c9f0e 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ast.po b/po/ast.po
index b13fc984..11ed14bd 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/az.po b/po/az.po
index 04698145..69a40b04 100644
--- a/po/az.po
+++ b/po/az.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/be.po b/po/be.po
index 34a7ebf9..a3c5faca 100644
--- a/po/be.po
+++ b/po/be.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bg.po b/po/bg.po
index c912f30c..10f36dd2 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bn.po b/po/bn.po
index 54c1cdca..15d47564 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bo.po b/po/bo.po
index 55d0479e..5b75a868 100644
--- a/po/bo.po
+++ b/po/bo.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/br.po b/po/br.po
index 37d42721..c2cb3997 100644
--- a/po/br.po
+++ b/po/br.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/bs.po b/po/bs.po
index bf699aa5..b8e7f36a 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ca.po b/po/ca.po
index f7f8b954..f9a4465b 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
index 6063ac70..acd6d520 100644
--- a/po/ca@valencia.po
+++ b/po/ca@valencia.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ckb.po b/po/ckb.po
index 4a981dbb..2a624872 100644
--- a/po/ckb.po
+++ b/po/ckb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/cs.po b/po/cs.po
index 7838ed1c..953f579e 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/da.po b/po/da.po
index 31421e67..904141e7 100644
--- a/po/da.po
+++ b/po/da.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/de.po b/po/de.po
index 162d4690..d14037d7 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/el.po b/po/el.po
index df58cc1a..ee9cc9ba 100644
--- a/po/el.po
+++ b/po/el.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_AU.po b/po/en_AU.po
index c1ff12e8..5d0d6118 100644
--- a/po/en_AU.po
+++ b/po/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_CA.po b/po/en_CA.po
index 65e40147..b31f4f86 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/en_GB.po b/po/en_GB.po
index dc7efad5..0cb69f5f 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/eo.po b/po/eo.po
index e37001c4..ebab8adb 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/es.po b/po/es.po
index 8ee21608..0dcf4e72 100644
--- a/po/es.po
+++ b/po/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/et.po b/po/et.po
index e8ea8170..e3b53872 100644
--- a/po/et.po
+++ b/po/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/eu.po b/po/eu.po
index 6ee0a63b..8381ecf0 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fa.po b/po/fa.po
index a01978b4..e0857345 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fi.po b/po/fi.po
index 7a946f15..dd2866ee 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fo.po b/po/fo.po
index 2d55d193..30b580e1 100644
--- a/po/fo.po
+++ b/po/fo.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fr.po b/po/fr.po
index 277be528..faba32c8 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/fy.po b/po/fy.po
index 28464756..86c96300 100644
--- a/po/fy.po
+++ b/po/fy.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/gd.po b/po/gd.po
index 94e082e0..c94a3319 100644
--- a/po/gd.po
+++ b/po/gd.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/gl.po b/po/gl.po
index cac5527d..e70f139b 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/gu.po b/po/gu.po
index 9e5f9a61..3fe16f37 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/he.po b/po/he.po
index 4fbe90ee..663eb4d0 100644
--- a/po/he.po
+++ b/po/he.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hi.po b/po/hi.po
index 734133c1..8d12c86a 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hr.po b/po/hr.po
index 8411f978..4078bd5c 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/hu.po b/po/hu.po
index e41b5c03..a18969e0 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ia.po b/po/ia.po
index 45e2b00a..593339af 100644
--- a/po/ia.po
+++ b/po/ia.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/id.po b/po/id.po
index e1e91905..a5ed33de 100644
--- a/po/id.po
+++ b/po/id.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/is.po b/po/is.po
index 93649f64..32e63e9e 100644
--- a/po/is.po
+++ b/po/is.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/it.po b/po/it.po
index 410fd1eb..57bba289 100644
--- a/po/it.po
+++ b/po/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ja.po b/po/ja.po
index 6d6e1f83..295c2552 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/kk.po b/po/kk.po
index 78918743..ad061c22 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/km.po b/po/km.po
index adb35d1e..95102998 100644
--- a/po/km.po
+++ b/po/km.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/kn.po b/po/kn.po
index 28bb7eb5..b7f45815 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ko.po b/po/ko.po
index a34e1873..82fac92c 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ku.po b/po/ku.po
index 21ed1e14..e3167154 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lb.po b/po/lb.po
index cc3c1419..77fdba98 100644
--- a/po/lb.po
+++ b/po/lb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lt.po b/po/lt.po
index b4f8dfae..f54b0718 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/lv.po b/po/lv.po
index 6bc0b836..f61c06ef 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mhr.po b/po/mhr.po
index 603a53ab..f580d397 100644
--- a/po/mhr.po
+++ b/po/mhr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mi.po b/po/mi.po
index b8226153..e46650e2 100644
--- a/po/mi.po
+++ b/po/mi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ml.po b/po/ml.po
index fe71d1c7..136bf4c1 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/mr.po b/po/mr.po
index 07d39a91..434bbef1 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ms.po b/po/ms.po
index 1a9ee5e0..dba376ba 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/my.po b/po/my.po
index 3ff2b5a0..d94938f3 100644
--- a/po/my.po
+++ b/po/my.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/nb.po b/po/nb.po
index dec7eb8e..bcd622f1 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/nl.po b/po/nl.po
index cfe5dfb2..7d46d6bb 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/nn.po b/po/nn.po
index 300ab9ef..5ad85447 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/oc.po b/po/oc.po
index 9758b976..45ec21dc 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pa.po b/po/pa.po
index 284f5537..90b657fa 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pl.po b/po/pl.po
index cb4d5f27..5f98c63b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pt.po b/po/pt.po
index 3693314c..4bca1d3e 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 58a6f734..41fbcbea 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ro.po b/po/ro.po
index 5be8848c..b4e9215a 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ru.po b/po/ru.po
index 3910451f..530a4435 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sc.po b/po/sc.po
index 57595beb..8a669411 100644
--- a/po/sc.po
+++ b/po/sc.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sd.po b/po/sd.po
index 96a8a30d..dea352f3 100644
--- a/po/sd.po
+++ b/po/sd.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/shn.po b/po/shn.po
index e3328dec..fd363602 100644
--- a/po/shn.po
+++ b/po/shn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/si.po b/po/si.po
index cf6b5b92..e2c284f8 100644
--- a/po/si.po
+++ b/po/si.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sk.po b/po/sk.po
index 34419659..ff78394f 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sl.po b/po/sl.po
index aee0514d..286768dc 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sq.po b/po/sq.po
index dd8a3a12..54fc8737 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/sr.po b/po/sr.po
index b5871878..5a1599e6 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
"Language: sr\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
diff --git a/po/sv.po b/po/sv.po
index f8a14026..d30e0003 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ta.po b/po/ta.po
index 7c8855db..dc23fa88 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/te.po b/po/te.po
index 13070bd8..8fe22e69 100644
--- a/po/te.po
+++ b/po/te.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/tg.po b/po/tg.po
index c7f4134d..677adf3b 100644
--- a/po/tg.po
+++ b/po/tg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/th.po b/po/th.po
index 22ed62e6..6dd6f604 100644
--- a/po/th.po
+++ b/po/th.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/tl.po b/po/tl.po
index e3988ed8..18d09fd4 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/tr.po b/po/tr.po
index d83ab3fa..276f415c 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/ug.po b/po/ug.po
index 1dee3a3b..3634bf5e 100644
--- a/po/ug.po
+++ b/po/ug.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/uk.po b/po/uk.po
index e1cedc65..7981ddd1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/uz.po b/po/uz.po
index a8fd8c08..606e61a5 100644
--- a/po/uz.po
+++ b/po/uz.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/vi.po b/po/vi.po
index d19d54cc..aa99e454 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/wae.po b/po/wae.po
index 5e1a89b0..f1882e1b 100644
--- a/po/wae.po
+++ b/po/wae.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 7fa76d3f..ff895bc5 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index ef1ac3f8..4b6a16c6 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 54a086bf..2effb22d 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-07-25 05:23+0000\n"
-"X-Generator: Launchpad (build 16700)\n"
+"X-Launchpad-Export-Date: 2013-08-09 05:11+0000\n"
+"X-Generator: Launchpad (build 16723)\n"
#: ../greeters/gtk/lightdm-gtk-greeter.c:409
msgid "Are you sure you want to close all programs and restart the computer?"
diff --git a/src/Makefile.am b/src/Makefile.am
index 1be9a5d7..457d7063 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,6 +18,8 @@ lightdm_SOURCES = \
guest-account.c \
guest-account.h \
lightdm.c \
+ logger.c \
+ logger.h \
login1.c \
login1.h \
mir-server.c \
diff --git a/src/display-server.c b/src/display-server.c
index 5042b389..cd9673b6 100644
--- a/src/display-server.c
+++ b/src/display-server.c
@@ -32,7 +32,11 @@ struct DisplayServerPrivate
gboolean stopped;
};
-G_DEFINE_TYPE (DisplayServer, display_server, G_TYPE_OBJECT);
+static void display_server_logger_iface_init (LoggerInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (DisplayServer, display_server, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (
+ LOGGER_TYPE, display_server_logger_iface_init));
void
display_server_set_name (DisplayServer *server, const gchar *name)
@@ -176,3 +180,20 @@ display_server_class_init (DisplayServerClass *klass)
NULL,
G_TYPE_NONE, 0);
}
+
+static gint
+display_server_real_logprefix (Logger *self, gchar *buf, gulong buflen)
+{
+ DisplayServer *server = DISPLAY_SERVER (self);
+ const gchar *name = display_server_get_name (server);
+ if (name)
+ return g_snprintf (buf, buflen, "DisplayServer %s: ", name);
+ else
+ return g_snprintf (buf, buflen, "DisplayServer: ");
+}
+
+static void
+display_server_logger_iface_init (LoggerInterface *iface)
+{
+ iface->logprefix = &display_server_real_logprefix;
+}
diff --git a/src/display-server.h b/src/display-server.h
index 50347edb..971151b3 100644
--- a/src/display-server.h
+++ b/src/display-server.h
@@ -16,6 +16,7 @@
typedef struct DisplayServer DisplayServer;
+#include "logger.h"
#include "session.h"
G_BEGIN_DECLS
diff --git a/src/greeter.c b/src/greeter.c
index 52bf5987..d6d04bd5 100644
--- a/src/greeter.c
+++ b/src/greeter.c
@@ -164,7 +164,7 @@ write_message (Greeter *greeter, guint8 *message, gsize message_length)
g_io_channel_write_chars (greeter->priv->to_greeter_channel, (gchar *) message, message_length, NULL, &error);
if (error)
- g_warning ("Error writing to greeter: %s", error->message);
+ l_warning (greeter, "Error writing to greeter: %s", error->message);
g_clear_error (&error);
g_io_channel_flush (greeter->priv->to_greeter_channel, NULL);
}
@@ -225,7 +225,7 @@ handle_connect (Greeter *greeter, const gchar *version)
GHashTableIter iter;
gpointer key, value;
- g_debug ("Greeter connected version=%s", version);
+ l_debug (greeter, "Greeter connected version=%s", version);
length = string_length (VERSION);
g_hash_table_iter_init (&iter, greeter->priv->hints);
@@ -260,7 +260,7 @@ pam_messages_cb (Session *session, Greeter *greeter)
messages_length = session_get_messages_length (session);
/* Respond to d-bus query with messages */
- g_debug ("Prompt greeter with %d message(s)", messages_length);
+ l_debug (greeter, "Prompt greeter with %d message(s)", messages_length);
size = int_length () + string_length (session_get_username (session)) + int_length ();
for (i = 0; i < messages_length; i++)
size += int_length () + string_length (messages[i].msg);
@@ -308,16 +308,16 @@ authentication_complete_cb (Session *session, Greeter *greeter)
{
int result;
- g_debug ("Authenticate result for user %s: %s", session_get_username (session), session_get_authentication_result_string (session));
+ l_debug (greeter, "Authenticate result for user %s: %s", session_get_username (session), session_get_authentication_result_string (session));
result = session_get_authentication_result (session);
if (session_get_is_authenticated (session))
{
if (session_get_user (session))
- g_debug ("User %s authorized", session_get_username (session));
+ l_debug (greeter, "User %s authorized", session_get_username (session));
else
{
- g_debug ("User %s authorized, but no account of that name exists", session_get_username (session));
+ l_debug (greeter, "User %s authorized, but no account of that name exists", session_get_username (session));
result = PAM_USER_UNKNOWN;
}
}
@@ -349,11 +349,11 @@ handle_login (Greeter *greeter, guint32 sequence_number, const gchar *username)
if (username[0] == '\0')
{
- g_debug ("Greeter start authentication");
+ l_debug (greeter, "Greeter start authentication");
username = NULL;
}
else
- g_debug ("Greeter start authentication for %s", username);
+ l_debug (greeter, "Greeter start authentication for %s", username);
reset_session (greeter);
@@ -392,13 +392,13 @@ handle_login (Greeter *greeter, guint32 sequence_number, const gchar *username)
static void
handle_login_as_guest (Greeter *greeter, guint32 sequence_number)
{
- g_debug ("Greeter start authentication for guest account");
+ l_debug (greeter, "Greeter start authentication for guest account");
reset_session (greeter);
if (!greeter->priv->allow_guest)
{
- g_debug ("Guest account is disabled");
+ l_debug (greeter, "Guest account is disabled");
send_end_authentication (greeter, sequence_number, "", PAM_USER_UNKNOWN);
return;
}
@@ -449,11 +449,11 @@ handle_login_remote (Greeter *greeter, const gchar *session_name, const gchar *u
if (username[0] == '\0')
{
- g_debug ("Greeter start authentication for remote session %s", session_name);
+ l_debug (greeter, "Greeter start authentication for remote session %s", session_name);
username = NULL;
}
else
- g_debug ("Greeter start authentication for remote session %s as user %s", session_name, username);
+ l_debug (greeter, "Greeter start authentication for remote session %s as user %s", session_name, username);
reset_session (greeter);
@@ -518,7 +518,7 @@ handle_continue_authentication (Greeter *greeter, gchar **secrets)
return;
}
- g_debug ("Continue authentication");
+ l_debug (greeter, "Continue authentication");
/* Build response */
response = calloc (messages_length, sizeof (struct pam_response));
@@ -548,7 +548,7 @@ handle_cancel_authentication (Greeter *greeter)
if (greeter->priv->authentication_session == NULL)
return;
- g_debug ("Cancel authentication");
+ l_debug (greeter, "Cancel authentication");
reset_session (greeter);
}
@@ -573,15 +573,15 @@ handle_start_session (Greeter *greeter, const gchar *session)
if (greeter->priv->guest_account_authenticated || session_get_is_authenticated (greeter->priv->authentication_session))
{
if (session)
- g_debug ("Greeter requests session %s", session);
+ l_debug (greeter, "Greeter requests session %s", session);
else
- g_debug ("Greeter requests default session");
+ l_debug (greeter, "Greeter requests default session");
greeter->priv->start_session = TRUE;
g_signal_emit (greeter, signals[START_SESSION], 0, session_type, session, &result);
}
else
{
- g_debug ("Ignoring start session request, user is not authorized");
+ l_debug (greeter, "Ignoring start session request, user is not authorized");
result = FALSE;
}
@@ -597,18 +597,18 @@ handle_set_language (Greeter *greeter, const gchar *language)
if (!greeter->priv->guest_account_authenticated && !session_get_is_authenticated (greeter->priv->authentication_session))
{
- g_debug ("Ignoring set language request, user is not authorized");
+ l_debug (greeter, "Ignoring set language request, user is not authorized");
return;
}
// FIXME: Could use this
if (greeter->priv->guest_account_authenticated)
{
- g_debug ("Ignoring set language request for guest user");
+ l_debug (greeter, "Ignoring set language request for guest user");
return;
}
- g_debug ("Greeter sets language %s", language);
+ l_debug (greeter, "Greeter sets language %s", language);
user = session_get_user (greeter->priv->authentication_session);
user_set_language (user, language);
}
@@ -620,7 +620,7 @@ read_int (Greeter *greeter, gsize *offset)
guint8 *buffer;
if (greeter->priv->n_read - *offset < sizeof (guint32))
{
- g_warning ("Not enough space for int, need %zu, got %zu", sizeof (guint32), greeter->priv->n_read - *offset);
+ l_warning (greeter, "Not enough space for int, need %zu, got %zu", sizeof (guint32), greeter->priv->n_read - *offset);
return 0;
}
buffer = greeter->priv->read_buffer + *offset;
@@ -640,7 +640,7 @@ get_message_length (Greeter *greeter)
if (HEADER_SIZE + payload_length < HEADER_SIZE)
{
- g_warning ("Payload length of %u octets too long", payload_length);
+ l_warning (greeter, "Payload length of %u octets too long", payload_length);
return HEADER_SIZE;
}
@@ -656,7 +656,7 @@ read_string_full (Greeter *greeter, gsize *offset, void* (*alloc_fn)(size_t n))
length = read_int (greeter, offset);
if (greeter->priv->n_read - *offset < length)
{
- g_warning ("Not enough space for string, need %u, got %zu", length, greeter->priv->n_read - *offset);
+ l_warning (greeter, "Not enough space for string, need %u, got %zu", length, greeter->priv->n_read - *offset);
return g_strdup ("");
}
@@ -697,7 +697,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
if (condition == G_IO_HUP)
{
- g_debug ("Greeter closed communication channel");
+ l_debug (greeter, "Greeter closed communication channel");
return FALSE;
}
@@ -715,7 +715,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
&n_read,
&error);
if (error)
- g_warning ("Error reading from greeter: %s", error->message);
+ l_warning (greeter, "Error reading from greeter: %s", error->message);
g_clear_error (&error);
if (status != G_IO_STATUS_NORMAL)
return TRUE;
@@ -767,7 +767,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
max_secrets = (G_MAXUINT32 - 1) / sizeof (gchar *);
if (n_secrets > max_secrets)
{
- g_warning ("Array length of %u elements too long", n_secrets);
+ l_warning (greeter, "Array length of %u elements too long", n_secrets);
return FALSE;
}
secrets = g_malloc (sizeof (gchar *) * (n_secrets + 1));
@@ -793,7 +793,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
g_free (language);
break;
default:
- g_warning ("Unknown message from greeter: %d", id);
+ l_warning (greeter, "Unknown message from greeter: %d", id);
break;
}
diff --git a/src/lightdm.c b/src/lightdm.c
index 45292713..f92bc5ef 100644
--- a/src/lightdm.c
+++ b/src/lightdm.c
@@ -1168,8 +1168,9 @@ main (int argc, char **argv)
gchar *config_section = *i;
gchar *type;
Seat *seat;
+ const gchar *const seatpfx = "Seat:";
- if (!g_str_has_prefix (config_section, "Seat:"))
+ if (!g_str_has_prefix (config_section, seatpfx))
continue;
g_debug ("Loading seat %s", config_section);
@@ -1180,6 +1181,11 @@ main (int argc, char **argv)
g_free (type);
if (seat)
{
+ const gsize seatpfxlen = strlen(seatpfx);
+ gchar *seatname = config_section + seatpfxlen;
+
+ seat_set_property (seat, "seat-name", seatname);
+
set_seat_properties (seat, config_section);
display_manager_add_seat (display_manager, seat);
g_object_unref (seat);
diff --git a/src/logger.c b/src/logger.c
new file mode 100644
index 00000000..23bce206
--- /dev/null
+++ b/src/logger.c
@@ -0,0 +1,81 @@
+#include "logger.h"
+
+G_DEFINE_INTERFACE (Logger, logger, G_TYPE_INVALID);
+
+static void
+logger_logv_default (Logger *self, GLogLevelFlags log_level, const gchar *format, va_list ap);
+
+static void
+logger_default_init (LoggerInterface *iface)
+{
+ iface->logv = &logger_logv_default;
+}
+
+gint
+logger_logprefix (Logger *self, gchar *buf, gulong buflen)
+{
+ g_return_val_if_fail (IS_LOGGER (self), -1);
+ return LOGGER_GET_INTERFACE (self)->logprefix (self, buf, buflen);
+}
+
+void
+logger_logv (Logger *self, GLogLevelFlags log_level, const gchar *format, va_list ap)
+{
+ g_return_if_fail (IS_LOGGER (self));
+ LOGGER_GET_INTERFACE (self)->logv (self, log_level, format, ap);
+}
+
+void
+logger_logv_default (Logger *self, GLogLevelFlags log_level, const gchar *format, va_list ap)
+{
+ va_list ap_copy;
+ gint tmp;
+
+ /* figure out how long the prefix is */
+ tmp = logger_logprefix (self, NULL, 0);
+ if (tmp < 0)
+ {
+ g_error ("failed to get log prefix");
+ return;
+ }
+
+ /* print the prefix to a variable length array (to avoid malloc) */
+ gchar pfx[tmp + 1];
+ tmp = logger_logprefix (self, pfx, sizeof(pfx));
+ if (tmp < 0)
+ {
+ g_error ("failed to get log prefix");
+ return;
+ }
+
+ /* figure out how long the formatted message is */
+ va_copy (ap_copy, ap);
+ tmp = g_vsnprintf (NULL, 0, format, ap_copy);
+ va_end (ap_copy);
+ if (tmp < 0)
+ {
+ g_error ("failed to format log message");
+ return;
+ }
+
+ /* print the message to a variable length array (to avoid malloc) */
+ gchar msg[tmp+1];
+ tmp = g_vsnprintf (msg, sizeof(msg), format, ap);
+ if (tmp < 0)
+ {
+ g_error ("failed to format log message");
+ return;
+ }
+
+ /* log the message with the prefix */
+ g_log (G_LOG_DOMAIN, log_level, "%s%s", pfx, msg);
+}
+
+void
+logger_log (Logger *self, GLogLevelFlags log_level, const gchar *format, ...)
+{
+ va_list ap;
+ va_start (ap, format);
+ logger_logv (self, log_level, format, ap);
+ va_end (ap);
+}
diff --git a/src/logger.h b/src/logger.h
new file mode 100644
index 00000000..f139e78b
--- /dev/null
+++ b/src/logger.h
@@ -0,0 +1,60 @@
+#ifndef LOGGER_H_
+#define LOGGER_H_
+
+#include <glib-object.h>
+
+#ifdef __cplusplus
+#include <cstdarg> /* for va_list */
+#else
+#include <stdarg.h> /* for va_list */
+#endif
+
+G_BEGIN_DECLS
+
+#define LOGGER_TYPE (logger_get_type ())
+#define LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGGER_TYPE, Logger))
+#define IS_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGGER_TYPE))
+#define LOGGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), LOGGER_TYPE, LoggerInterface))
+
+typedef struct Logger Logger;
+
+typedef struct {
+ GTypeInterface parent;
+
+ gint (*logprefix) (Logger *self, gchar *buf, gulong buflen);
+ void (*logv) (Logger *self, GLogLevelFlags log_level, const gchar *format, va_list ap);
+} LoggerInterface;
+
+GType logger_get_type (void);
+
+/*!
+ * \brief instruct \c self to generate a log message prefix
+ *
+ * the semantics of the \c buf and \c buflen arguments and the return
+ * value are the same as g_snprintf()
+ *
+ * there is no default implementation
+ */
+gint logger_logprefix (Logger *self, gchar *buf, gulong buflen);
+
+/*!
+ * \brief instruct \c self to log the given message
+ *
+ * the default implementation prefixes the log message with the
+ * output of logger_logprefix() and then passes the result to
+ * g_log()
+ */
+void logger_logv (Logger *self, GLogLevelFlags log_level, const gchar *format, va_list ap);
+
+/*! \brief convenience wrapper around \c logger_logv() */
+void logger_log (Logger *self, GLogLevelFlags log_level, const gchar *format, ...);
+
+/* convenience wrappers around logger_log() */
+#define l_debug(self, ...) \
+ logger_log (LOGGER (self), G_LOG_LEVEL_DEBUG, __VA_ARGS__)
+#define l_warning(self, ...) \
+ logger_log (LOGGER (self), G_LOG_LEVEL_WARNING, __VA_ARGS__)
+
+G_END_DECLS
+
+#endif /* !LOGGER_H_ */
diff --git a/src/seat-unity.c b/src/seat-unity.c
index 5f63e393..a449aece 100644
--- a/src/seat-unity.c
+++ b/src/seat-unity.c
@@ -108,13 +108,13 @@ compositor_stopped_cb (Process *process, SeatUnity *seat)
/* If stopped before it was ready, then revert to VT mode */
if (!seat->priv->compositor_ready)
{
- g_debug ("Compositor failed to start, switching to VT mode");
+ l_debug (seat, "Compositor failed to start, switching to VT mode");
seat->priv->use_vt_switching = TRUE;
SEAT_CLASS (seat_unity_parent_class)->start (SEAT (seat));
return;
}
- g_debug ("Stopping Unity seat, compositor terminated");
+ l_debug (seat, "Stopping Unity seat, compositor terminated");
seat_stop (SEAT (seat));
}
@@ -136,7 +136,7 @@ compositor_run_cb (Process *process, SeatUnity *seat)
fd = g_open (seat->priv->log_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd < 0)
- g_warning ("Failed to open log file %s: %s", seat->priv->log_file, g_strerror (errno));
+ l_warning (seat, "Failed to open log file %s: %s", seat->priv->log_file, g_strerror (errno));
else
{
dup2 (fd, STDOUT_FILENO);
@@ -161,7 +161,7 @@ write_message (SeatUnity *seat, guint16 id, const guint8 *payload, guint16 paylo
errno = 0;
if (write (seat->priv->to_compositor_pipe[1], data, data_length) != data_length)
- g_warning ("Failed to write to compositor: %s", strerror (errno));
+ l_warning (seat, "Failed to write to compositor: %s", strerror (errno));
}
static gboolean
@@ -174,7 +174,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
if (condition == G_IO_HUP)
{
- g_debug ("Compositor closed communication channel");
+ l_debug (seat, "Compositor closed communication channel");
return FALSE;
}
@@ -204,7 +204,7 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
&n_read,
&error);
if (error)
- g_warning ("Failed to read from compositor: %s", error->message);
+ l_warning (seat, "Failed to read from compositor: %s", error->message);
if (status != G_IO_STATUS_NORMAL)
return TRUE;
g_clear_error (&error);
@@ -225,28 +225,28 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
switch (id)
{
case USC_MESSAGE_PING:
- g_debug ("PING!");
+ l_debug (seat, "PING!");
write_message (seat, USC_MESSAGE_PONG, NULL, 0);
break;
case USC_MESSAGE_PONG:
- g_debug ("PONG!");
+ l_debug (seat, "PONG!");
break;
case USC_MESSAGE_READY:
- g_debug ("READY");
+ l_debug (seat, "READY");
if (!seat->priv->compositor_ready)
{
seat->priv->compositor_ready = TRUE;
- g_debug ("Compositor ready");
+ l_debug (seat, "Compositor ready");
g_source_remove (seat->priv->compositor_timeout);
seat->priv->compositor_timeout = 0;
SEAT_CLASS (seat_unity_parent_class)->start (SEAT (seat));
}
break;
case USC_MESSAGE_SESSION_CONNECTED:
- g_debug ("SESSION CONNECTED");
+ l_debug (seat, "SESSION CONNECTED");
break;
default:
- g_warning ("Ingoring unknown message %d with %d octets from system compositor", id, payload_length);
+ l_warning (seat, "Ignoring unknown message %d with %d octets from system compositor", id, payload_length);
break;
}
@@ -310,7 +310,7 @@ seat_unity_start (Seat *seat)
plymouth_quit (TRUE);
}
else
- g_debug ("Plymouth is running on VT %d, but this is less than the configured minimum of %d so not replacing it", active_vt, vt_get_min ());
+ l_debug (seat, "Plymouth is running on VT %d, but this is less than the configured minimum of %d so not replacing it", active_vt, vt_get_min ());
}
if (plymouth_get_is_active ())
plymouth_quit (FALSE);
@@ -318,7 +318,7 @@ seat_unity_start (Seat *seat)
SEAT_UNITY (seat)->priv->vt = vt_get_unused ();
if (SEAT_UNITY (seat)->priv->vt < 0)
{
- g_debug ("Failed to get a VT to run on");
+ l_debug (seat, "Failed to get a VT to run on");
return FALSE;
}
vt_ref (SEAT_UNITY (seat)->priv->vt);
@@ -326,7 +326,7 @@ seat_unity_start (Seat *seat)
/* Create pipes to talk to compositor */
if (pipe (SEAT_UNITY (seat)->priv->to_compositor_pipe) < 0 || pipe (SEAT_UNITY (seat)->priv->from_compositor_pipe) < 0)
{
- g_debug ("Failed to create compositor pipes: %s", g_strerror (errno));
+ l_debug (seat, "Failed to create compositor pipes: %s", g_strerror (errno));
return FALSE;
}
@@ -341,7 +341,7 @@ seat_unity_start (Seat *seat)
/* Setup logging */
dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
SEAT_UNITY (seat)->priv->log_file = g_build_filename (dir, "unity-system-compositor.log", NULL);
- g_debug ("Logging to %s", SEAT_UNITY (seat)->priv->log_file);
+ l_debug (seat, "Logging to %s", SEAT_UNITY (seat)->priv->log_file);
g_free (dir);
SEAT_UNITY (seat)->priv->mir_socket_filename = g_strdup ("/tmp/mir_socket"); // FIXME: Use this socket by default as XMir is hardcoded to this
@@ -372,7 +372,7 @@ seat_unity_start (Seat *seat)
timeout = seat_get_integer_property (seat, "unity-compositor-timeout");
if (timeout <= 0)
timeout = 60;
- g_debug ("Waiting for system compositor for %ds", timeout);
+ l_debug (seat, "Waiting for system compositor for %ds", timeout);
SEAT_UNITY (seat)->priv->compositor_timeout = g_timeout_add (timeout * 1000, compositor_timeout_cb, seat);
return TRUE;
@@ -386,7 +386,7 @@ create_x_server (Seat *seat)
gboolean allow_tcp;
gint port = 0;
- g_debug ("Starting X server on Unity compositor");
+ l_debug (seat, "Starting X server on Unity compositor");
x_server = x_server_local_new ();
@@ -441,7 +441,7 @@ create_x_server (Seat *seat)
keys = g_key_file_new ();
result = g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error);
if (error)
- g_debug ("Error getting key %s", error->message);
+ l_debug (seat, "Error getting key %s", error->message);
g_clear_error (&error);
if (result)
@@ -451,7 +451,7 @@ create_x_server (Seat *seat)
if (g_key_file_has_key (keys, "keyring", key_name, NULL))
key = g_key_file_get_string (keys, "keyring", key_name, NULL);
else
- g_debug ("Key %s not defined", key_name);
+ l_debug (seat, "Key %s not defined", key_name);
if (key)
x_server_local_set_xdmcp_key (x_server, key);
@@ -498,7 +498,7 @@ seat_unity_create_display_server (Seat *seat, const gchar *session_type)
return create_mir_server (seat);
else
{
- g_warning ("Can't create unsupported display server '%s'", session_type);
+ l_warning (seat, "Can't create unsupported display server '%s'", session_type);
return NULL;
}
}
@@ -507,9 +507,21 @@ static Greeter *
seat_unity_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
+ const gchar *xdg_seat;
- greeter_session = greeter_new ();
- session_set_env (SESSION (greeter_session), "XDG_SEAT", "seat0");
+ greeter_session = SEAT_CLASS (seat_unity_parent_class)->create_greeter_session (seat);
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
+ if (!SEAT_UNITY (seat)->priv->use_vt_switching)
+ {
+ gchar *value = g_strdup_printf ("%d", SEAT_UNITY (seat)->priv->vt);
+ l_debug (seat, "Setting XDG_VTNR=%s", value);
+ session_set_env (SESSION (greeter_session), "XDG_VTNR", value);
+ g_free (value);
+ }
+ else
+ l_debug (seat, "Not setting XDG_VTNR");
return greeter_session;
}
@@ -518,9 +530,21 @@ static Session *
seat_unity_create_session (Seat *seat)
{
Session *session;
+ const gchar *xdg_seat;
- session = session_new ();
- session_set_env (session, "XDG_SEAT", "seat0");
+ session = SEAT_CLASS (seat_unity_parent_class)->create_session (seat);
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (session, "XDG_SEAT", xdg_seat);
+ if (!SEAT_UNITY (seat)->priv->use_vt_switching)
+ {
+ gchar *value = g_strdup_printf ("%d", SEAT_UNITY (seat)->priv->vt);
+ l_debug (seat, "Setting XDG_VTNR=%s", value);
+ session_set_env (SESSION (session), "XDG_VTNR", value);
+ g_free (value);
+ }
+ else
+ l_debug (seat, "Not setting XDG_VTNR");
return session;
}
@@ -559,11 +583,11 @@ seat_unity_set_active_session (Seat *seat, Session *session)
if (id)
{
- g_debug ("Switching to Mir session %s", id);
+ l_debug (seat, "Switching to Mir session %s", id);
write_message (SEAT_UNITY (seat), USC_MESSAGE_SET_ACTIVE_SESSION, (const guint8 *) id, strlen (id));
}
else
- g_warning ("Failed to work out session ID");
+ l_warning (seat, "Failed to work out session ID");
}
SEAT_CLASS (seat_unity_parent_class)->set_active_session (seat, session);
diff --git a/src/seat-xlocal.c b/src/seat-xlocal.c
index d3fd0d13..7b626de8 100644
--- a/src/seat-xlocal.c
+++ b/src/seat-xlocal.c
@@ -69,9 +69,9 @@ seat_xlocal_create_display_server (Seat *seat, const gchar *session_type)
gint vt = -1, port = 0;
if (vt > 0)
- g_debug ("Starting local X display on VT %d", vt);
+ l_debug (seat, "Starting local X display on VT %d", vt);
else
- g_debug ("Starting local X display");
+ l_debug (seat, "Starting local X display");
x_server = x_server_local_new ();
@@ -95,7 +95,7 @@ seat_xlocal_create_display_server (Seat *seat, const gchar *session_type)
plymouth_deactivate ();
}
else
- g_debug ("Plymouth is running on VT %d, but this is less than the configured minimum of %d so not replacing it", active_vt, vt_get_min ());
+ l_debug (seat, "Plymouth is running on VT %d, but this is less than the configured minimum of %d so not replacing it", active_vt, vt_get_min ());
}
if (plymouth_get_is_active ())
plymouth_quit (FALSE);
@@ -138,7 +138,7 @@ seat_xlocal_create_display_server (Seat *seat, const gchar *session_type)
keys = g_key_file_new ();
result = g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error);
if (error)
- g_debug ("Error getting key %s", error->message);
+ l_debug (seat, "Error getting key %s", error->message);
g_clear_error (&error);
if (result)
@@ -148,7 +148,7 @@ seat_xlocal_create_display_server (Seat *seat, const gchar *session_type)
if (g_key_file_has_key (keys, "keyring", key_name, NULL))
key = g_key_file_get_string (keys, "keyring", key_name, NULL);
else
- g_debug ("Key %s not defined", key_name);
+ l_debug (seat, "Key %s not defined", key_name);
if (key)
x_server_local_set_xdmcp_key (x_server, key);
@@ -166,9 +166,12 @@ static Greeter *
seat_xlocal_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
+ const gchar *xdg_seat;
greeter_session = SEAT_CLASS (seat_xlocal_parent_class)->create_greeter_session (seat);
- session_set_env (SESSION (greeter_session), "XDG_SEAT", "seat0");
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
return greeter_session;
}
@@ -177,9 +180,12 @@ static Session *
seat_xlocal_create_session (Seat *seat)
{
Session *session;
+ const gchar *xdg_seat;
session = SEAT_CLASS (seat_xlocal_parent_class)->create_session (seat);
- session_set_env (SESSION (session), "XDG_SEAT", "seat0");
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (SESSION (session), "XDG_SEAT", xdg_seat);
return session;
}
diff --git a/src/seat-xremote.c b/src/seat-xremote.c
index 0e60717f..05b25e0c 100644
--- a/src/seat-xremote.c
+++ b/src/seat-xremote.c
@@ -33,7 +33,7 @@ seat_xremote_create_display_server (Seat *seat, const gchar *session_type)
if (strcmp (session_type, "x") != 0)
{
- g_warning ("X remote seat only supports X display servers, not '%s'", session_type);
+ l_warning (seat, "X remote seat only supports X display servers, not '%s'", session_type);
return NULL;
}
@@ -42,7 +42,7 @@ seat_xremote_create_display_server (Seat *seat, const gchar *session_type)
hostname = "localhost";
number = seat_get_integer_property (seat, "xserver-display-number");
- g_debug ("Starting remote X display %s:%d", hostname, number);
+ l_debug (seat, "Starting remote X display %s:%d", hostname, number);
x_server = x_server_remote_new (hostname, number, NULL);
@@ -53,9 +53,12 @@ static Greeter *
seat_xremote_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
+ const gchar *xdg_seat;
greeter_session = SEAT_CLASS (seat_xremote_parent_class)->create_greeter_session (seat);
- session_set_env (SESSION (greeter_session), "XDG_SEAT", "seat0");
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
return greeter_session;
}
@@ -64,9 +67,12 @@ static Session *
seat_xremote_create_session (Seat *seat)
{
Session *session;
+ const gchar *xdg_seat;
session = SEAT_CLASS (seat_xremote_parent_class)->create_session (seat);
- session_set_env (SESSION (session), "XDG_SEAT", "seat0");
+ xdg_seat = "seat0";
+ l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
+ session_set_env (SESSION (session), "XDG_SEAT", xdg_seat);
return session;
}
diff --git a/src/seat.c b/src/seat.c
index 3861cded..7412fcad 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -45,6 +45,9 @@ struct SeatPrivate
/* The sessions on this seat */
GList *sessions;
+ /* The last session set to active */
+ Session *active_session;
+
/* The session to set active when it starts */
Session *session_to_activate;
@@ -63,7 +66,11 @@ struct SeatPrivate
#define USER_SERVICE "lightdm"
#define AUTOLOGIN_SERVICE "lightdm-autologin"
-G_DEFINE_TYPE (Seat, seat, G_TYPE_OBJECT);
+static void seat_logger_iface_init (LoggerInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (Seat, seat, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (
+ LOGGER_TYPE, seat_logger_iface_init));
typedef struct
{
@@ -179,6 +186,10 @@ seat_set_active_session (Seat *seat, Session *session)
g_return_if_fail (seat != NULL);
+ /* Unlock this session */
+ if (session != seat->priv->active_session && !IS_GREETER (session))
+ session_unlock (session);
+
SEAT_GET_CLASS (seat)->set_active_session (seat, session);
/* Stop any greeters */
@@ -191,10 +202,19 @@ seat_set_active_session (Seat *seat, Session *session)
if (IS_GREETER (s))
{
- g_debug ("Stopping greeter");
+ l_debug (seat, "Stopping greeter");
session_stop (s);
}
}
+
+ /* Lock previous sessions */
+ if (seat->priv->active_session)
+ {
+ if (session != seat->priv->active_session && !IS_GREETER (seat->priv->active_session))
+ session_lock (seat->priv->active_session);
+ g_object_unref (seat->priv->active_session);
+ }
+ seat->priv->active_session = g_object_ref (session);
}
Session *
@@ -261,7 +281,7 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name,
exit_status = process_get_exit_status (script);
if (WIFEXITED (exit_status))
{
- g_debug ("Exit status of %s: %d", script_name, WEXITSTATUS (exit_status));
+ l_debug (seat, "Exit status of %s: %d", script_name, WEXITSTATUS (exit_status));
result = WEXITSTATUS (exit_status) == EXIT_SUCCESS;
}
}
@@ -299,7 +319,7 @@ check_stopped (Seat *seat)
g_list_length (seat->priv->sessions) == 0)
{
seat->priv->stopped = TRUE;
- g_debug ("Seat stopped");
+ l_debug (seat, "Stopped");
g_signal_emit (seat, signals[STOPPED], 0);
}
}
@@ -316,7 +336,7 @@ display_server_stopped_cb (DisplayServer *display_server, Seat *seat)
GList *list, *link;
Session *active_session;
- g_debug ("Display server stopped");
+ l_debug (seat, "Display server stopped");
g_signal_handlers_disconnect_matched (display_server, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, seat);
seat->priv->display_servers = g_list_remove (seat->priv->display_servers, display_server);
@@ -344,11 +364,11 @@ display_server_stopped_cb (DisplayServer *display_server, Seat *seat)
!session_get_is_started (session) &&
g_list_length (seat->priv->display_servers) == 0)
{
- g_debug ("Stopping seat, greeter display server failed to start");
+ l_debug (seat, "Stopping; greeter display server failed to start");
seat_stop (seat);
}
- g_debug ("Stopping session");
+ l_debug (seat, "Stopping session");
session_stop (session);
}
g_list_free_full (list, g_object_unref);
@@ -359,7 +379,7 @@ display_server_stopped_cb (DisplayServer *display_server, Seat *seat)
active_session = seat_get_active_session (seat);
if (!active_session || session_get_display_server (active_session) == display_server)
{
- g_debug ("Active display server stopped, starting greeter");
+ l_debug (seat, "Active display server stopped, starting greeter");
seat_switch_to_greeter (seat);
}
}
@@ -396,7 +416,7 @@ switch_to_greeter_from_failed_session (Seat *seat, Session *session)
display_server = create_display_server (seat, session_get_session_type (session));
if (!display_server_start (display_server))
{
- g_debug ("Failed to start display server for greeter");
+ l_debug (seat, "Failed to start display server for greeter");
seat_stop (seat);
}
@@ -431,12 +451,12 @@ start_session (Seat *seat, Session *session)
if (IS_GREETER (session))
{
- g_debug ("Failed to start greeter");
+ l_debug (seat, "Failed to start greeter");
display_server_stop (session_get_display_server (session));
return;
}
- g_debug ("Failed to start session, starting greeter");
+ l_debug (seat, "Failed to start session, starting greeter");
switch_to_greeter_from_failed_session (seat, session);
}
@@ -451,13 +471,16 @@ run_session (Seat *seat, Session *session)
script = seat_get_string_property (seat, "session-setup-script");
if (script && !run_script (seat, session_get_display_server (session), script, NULL))
{
- g_debug ("Switching to greeter due to failed setup script");
+ l_debug (seat, "Switching to greeter due to failed setup script");
switch_to_greeter_from_failed_session (seat, session);
return;
}
if (!IS_GREETER (session))
+ {
g_signal_emit (seat, signals[RUNNING_USER_SESSION], 0, session);
+ emit_upstart_signal ("desktop-session-start");
+ }
session_run (session);
@@ -476,17 +499,17 @@ session_authentication_complete_cb (Session *session, Seat *seat)
{
if (session_get_is_authenticated (session))
{
- g_debug ("Session authenticated, running command");
+ l_debug (seat, "Session authenticated, running command");
run_session (seat, session);
}
else if (!IS_GREETER (session))
{
- g_debug ("Switching to greeter due to failed authentication");
+ l_debug (seat, "Switching to greeter due to failed authentication");
switch_to_greeter_from_failed_session (seat, session);
}
else
{
- g_debug ("Stopping session that failed authentication");
+ l_debug (seat, "Stopping session that failed authentication");
session_stop (session);
}
}
@@ -496,10 +519,20 @@ session_stopped_cb (Session *session, Seat *seat)
{
DisplayServer *display_server;
- g_debug ("Session stopped");
+ l_debug (seat, "Session stopped");
g_signal_handlers_disconnect_matched (session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, seat);
seat->priv->sessions = g_list_remove (seat->priv->sessions, session);
+ if (session == seat->priv->active_session)
+ {
+ g_object_unref (seat->priv->active_session);
+ seat->priv->active_session = NULL;
+ }
+ if (session == seat->priv->session_to_activate)
+ {
+ g_object_unref (seat->priv->session_to_activate);
+ seat->priv->session_to_activate = NULL;
+ }
display_server = session_get_display_server (session);
if (!display_server)
@@ -549,12 +582,12 @@ session_stopped_cb (Session *session, Seat *seat)
if (session_get_is_authenticated (s))
{
- g_debug ("Greeter stopped, running session");
+ l_debug (seat, "Greeter stopped, running session");
run_session (seat, s);
}
else
{
- g_debug ("Greeter stopped, starting session authentication");
+ l_debug (seat, "Greeter stopped, starting session authentication");
start_session (seat, s);
}
break;
@@ -566,13 +599,13 @@ session_stopped_cb (Session *session, Seat *seat)
g_list_length (seat->priv->display_servers) == 1 &&
g_list_nth_data (seat->priv->display_servers, 0) == display_server)
{
- g_debug ("Stopping seat, failed to start a greeter");
+ l_debug (seat, "Stopping; failed to start a greeter");
seat_stop (seat);
}
/* If we were the active session, switch to a greeter */
else if (!IS_GREETER (session) && session == seat_get_active_session (seat))
{
- g_debug ("Active session stopped, starting greeter");
+ l_debug (seat, "Active session stopped, starting greeter");
seat_switch_to_greeter (seat);
}
@@ -592,7 +625,7 @@ session_stopped_cb (Session *session, Seat *seat)
}
if (n_sessions == 0)
{
- g_debug ("Stopping display server, no sessions require it");
+ l_debug (seat, "Stopping display server, no sessions require it");
display_server_stop (display_server);
}
}
@@ -649,7 +682,7 @@ create_session (Seat *seat, gboolean autostart)
}
static gchar **
-get_session_argv (SessionConfig *session_config, const gchar *session_wrapper)
+get_session_argv (Seat *seat, SessionConfig *session_config, const gchar *session_wrapper)
{
gboolean result;
int argc;
@@ -670,7 +703,7 @@ get_session_argv (SessionConfig *session_config, const gchar *session_wrapper)
/* Split command into an array listing and make command absolute */
result = g_shell_parse_argv (session_config_get_command (session_config), &argc, &argv, &error);
if (error)
- g_debug ("Invalid session command '%s': %s", session_config_get_command (session_config), error->message);
+ l_debug (seat, "Invalid session command '%s': %s", session_config_get_command (session_config), error->message);
g_clear_error (&error);
if (!result)
return NULL;
@@ -685,7 +718,7 @@ get_session_argv (SessionConfig *session_config, const gchar *session_wrapper)
}
static SessionConfig *
-find_session_config (const gchar *sessions_dir, const gchar *session_name)
+find_session_config (Seat *seat, const gchar *sessions_dir, const gchar *session_name)
{
gchar **dirs;
SessionConfig *session_config = NULL;
@@ -709,7 +742,7 @@ find_session_config (const gchar *sessions_dir, const gchar *session_name)
break;
if (dirs[i+1] == NULL)
- g_debug ("Failed to find session configuration %s", session_name);
+ l_debug (seat, "Failed to find session configuration %s", session_name);
g_clear_error (&error);
}
g_strfreev (dirs);
@@ -726,13 +759,13 @@ create_user_session (Seat *seat, const gchar *username)
SessionConfig *session_config;
Session *session = NULL;
- g_debug ("Creating user session");
+ l_debug (seat, "Creating user session");
/* Load user preferences */
user = accounts_get_user_by_name (username);
if (!user)
{
- g_debug ("Can't login unknown user '%s'", username);
+ l_debug (seat, "Can't login unknown user '%s'", username);
return NULL;
}
session_name = user_get_xsession (user);
@@ -741,16 +774,20 @@ create_user_session (Seat *seat, const gchar *username)
if (!session_name)
session_name = seat_get_string_property (seat, "user-session");
sessions_dir = config_get_string (config_get_instance (), "LightDM", "sessions-directory");
- session_config = find_session_config (sessions_dir, session_name);
+ session_config = find_session_config (seat, sessions_dir, session_name);
g_free (sessions_dir);
if (session_config)
{
+ const gchar *desktop_name;
gchar **argv;
session = create_session (seat, TRUE);
session_set_session_type (session, session_config_get_session_type (session_config));
session_set_env (session, "DESKTOP_SESSION", session_name);
session_set_env (session, "GDMSESSION", session_name);
+ desktop_name = session_config_get_desktop_name (session_config);
+ if (desktop_name)
+ session_set_env (session, "XDG_CURRENT_DESKTOP", desktop_name);
if (language && language[0] != '\0')
{
session_set_env (session, "LANG", language);
@@ -759,14 +796,14 @@ create_user_session (Seat *seat, const gchar *username)
session_set_pam_service (session, AUTOLOGIN_SERVICE);
session_set_username (session, username);
session_set_do_authenticate (session, TRUE);
- argv = get_session_argv (session_config, seat_get_string_property (seat, "session-wrapper"));
+ argv = get_session_argv (seat, session_config, seat_get_string_property (seat, "session-wrapper"));
session_set_argv (session, argv);
g_strfreev (argv);
g_object_unref (session_config);
}
else
- g_debug ("Can't find session '%s'", seat_get_string_property (seat, "user-session"));
+ l_debug (seat, "Can't find session '%s'", seat_get_string_property (seat, "user-session"));
g_object_unref (user);
@@ -782,11 +819,11 @@ create_guest_session (Seat *seat)
Session *session;
sessions_dir = config_get_string (config_get_instance (), "LightDM", "sessions-directory");
- session_config = find_session_config (sessions_dir, seat_get_string_property (seat, "user-session"));
+ session_config = find_session_config (seat, sessions_dir, seat_get_string_property (seat, "user-session"));
g_free (sessions_dir);
if (!session_config)
{
- g_debug ("Can't find session '%s'", seat_get_string_property (seat, "user-session"));
+ l_debug (seat, "Can't find session '%s'", seat_get_string_property (seat, "user-session"));
return NULL;
}
@@ -794,7 +831,7 @@ create_guest_session (Seat *seat)
session_set_session_type (session, session_config_get_session_type (session_config));
session_set_do_authenticate (session, TRUE);
session_set_is_guest (session, TRUE);
- argv = get_session_argv (session_config, seat_get_string_property (seat, "session-wrapper"));
+ argv = get_session_argv (seat, session_config, seat_get_string_property (seat, "session-wrapper"));
g_object_unref (session_config);
session_set_argv (session, argv);
g_strfreev (argv);
@@ -882,7 +919,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
existing_session = find_user_session (seat, username);
if (existing_session && session != existing_session)
{
- g_debug ("Returning to existing user session %s", username);
+ l_debug (seat, "Returning to existing user session %s", username);
session_stop (session);
seat_set_active_session (seat, existing_session);
return TRUE;
@@ -913,16 +950,16 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
if (user)
user_set_xsession (session_get_user (session), session_name);
- session_config = find_session_config (sessions_dir, session_name);
+ session_config = find_session_config (seat, sessions_dir, session_name);
g_free (sessions_dir);
if (!session_config)
{
- g_debug ("Can't find session '%s'", seat_get_string_property (seat, "user-session"));
+ l_debug (seat, "Can't find session '%s'", seat_get_string_property (seat, "user-session"));
return FALSE;
}
session_set_session_type (session, session_config_get_session_type (session_config));
- argv = get_session_argv (session_config, seat_get_string_property (seat, "session-wrapper"));
+ argv = get_session_argv (seat, session_config, seat_get_string_property (seat, "session-wrapper"));
session_set_argv (session, argv);
g_strfreev (argv);
session_set_env (session, "DESKTOP_SESSION", session_name);
@@ -940,7 +977,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
if (can_share_display_server (seat, display_server) &&
strcmp (display_server_get_session_type (display_server), session_get_session_type (session)) == 0)
{
- g_debug ("Stopping greeter; display server will be re-used for user session");
+ l_debug (seat, "Stopping greeter; display server will be re-used for user session");
/* Run on the same display server after the greeter has stopped */
session_set_display_server (session, display_server);
@@ -957,7 +994,7 @@ greeter_start_session_cb (Greeter *greeter, SessionType type, const gchar *sessi
session_set_display_server (session, display_server);
if (!display_server_start (display_server))
{
- g_debug ("Failed to start display server for new session");
+ l_debug (seat, "Failed to start display server for new session");
return FALSE;
}
@@ -974,15 +1011,15 @@ create_greeter_session (Seat *seat)
gchar *greeter_user;
const gchar *greeter_wrapper;
- g_debug ("Creating greeter session");
+ l_debug (seat, "Creating greeter session");
sessions_dir = config_get_string (config_get_instance (), "LightDM", "greeters-directory");
- session_config = find_session_config (sessions_dir, seat_get_string_property (seat, "greeter-session"));
+ session_config = find_session_config (seat, sessions_dir, seat_get_string_property (seat, "greeter-session"));
g_free (sessions_dir);
if (!session_config)
return NULL;
- argv = get_session_argv (session_config, NULL);
+ argv = get_session_argv (seat, session_config, NULL);
greeter_wrapper = seat_get_string_property (seat, "greeter-wrapper");
if (greeter_wrapper)
{
@@ -1049,7 +1086,7 @@ display_server_ready_cb (DisplayServer *display_server, Seat *seat)
script = seat_get_string_property (seat, "display-setup-script");
if (script && !run_script (seat, display_server, script, NULL))
{
- g_debug ("Stopping display server due to failed setup script");
+ l_debug (seat, "Stopping display server due to failed setup script");
display_server_stop (display_server);
return;
}
@@ -1066,18 +1103,18 @@ display_server_ready_cb (DisplayServer *display_server, Seat *seat)
{
if (session_get_is_authenticated (session))
{
- g_debug ("Display server ready, running session");
+ l_debug (seat, "Display server ready, running session");
run_session (seat, session);
}
else
{
- g_debug ("Display server ready, starting session authentication");
+ l_debug (seat, "Display server ready, starting session authentication");
start_session (seat, session);
}
}
else
{
- g_debug ("Stopping not required display server");
+ l_debug (seat, "Stopping not required display server");
display_server_stop (display_server);
}
}
@@ -1087,7 +1124,7 @@ create_display_server (Seat *seat, const gchar *session_type)
{
DisplayServer *display_server;
- g_debug ("Creating display server of type %s", session_type);
+ l_debug (seat, "Creating display server of type %s", session_type);
display_server = SEAT_GET_CLASS (seat)->create_display_server (seat, session_type);
if (!display_server)
@@ -1130,7 +1167,7 @@ seat_switch_to_greeter (Seat *seat)
greeter_session = find_greeter_session (seat);
if (greeter_session)
{
- g_debug ("Switching to existing greeter");
+ l_debug (seat, "Switching to existing greeter");
seat_set_active_session (seat, SESSION (greeter_session));
return TRUE;
}
@@ -1160,12 +1197,12 @@ seat_switch_to_user (Seat *seat, const gchar *username, const gchar *session_nam
if (!seat->priv->can_switch)
return FALSE;
- g_debug ("Switching to user %s", username);
+ l_debug (seat, "Switching to user %s", username);
session = find_user_session (seat, username);
if (session)
{
- g_debug ("Switching to existing user session %s", username);
+ l_debug (seat, "Switching to existing user session %s", username);
seat_set_active_session (seat, session);
return TRUE;
}
@@ -1216,7 +1253,7 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
session = find_guest_session (seat);
if (session)
{
- g_debug ("Switching to existing guest account %s", session_get_username (session));
+ l_debug (seat, "Switching to existing guest account %s", session_get_username (session));
seat_set_active_session (seat, session);
return TRUE;
}
@@ -1249,13 +1286,13 @@ seat_lock (Seat *seat, const gchar *username)
if (!seat->priv->can_switch)
return FALSE;
- g_debug ("Locking seat");
+ l_debug (seat, "Locking");
/* Switch to greeter if one open (shouldn't be though) */
greeter_session = find_greeter_session (seat);
if (greeter_session)
{
- g_debug ("Switching to existing greeter");
+ l_debug (seat, "Switching to existing greeter");
seat_set_active_session (seat, SESSION (greeter_session));
return TRUE;
}
@@ -1287,7 +1324,7 @@ seat_stop (Seat *seat)
if (seat->priv->stopping)
return;
- g_debug ("Stopping seat");
+ l_debug (seat, "Stopping");
seat->priv->stopping = TRUE;
SEAT_GET_CLASS (seat)->stop (seat);
}
@@ -1319,7 +1356,7 @@ seat_real_start (Seat *seat)
gboolean autologin_in_background;
Session *session = NULL, *background_session = NULL;
- g_debug ("Starting seat");
+ l_debug (seat, "Starting");
/* If this display server doesn't have a session running on it, just start it */
if (!get_start_local_sessions (seat))
@@ -1367,7 +1404,7 @@ seat_real_start (Seat *seat)
session_set_display_server (session, display_server);
if (!display_server || !display_server_start (display_server))
{
- g_debug ("Can't create display server for automatic login");
+ l_debug (seat, "Can't create display server for automatic login");
session_stop (session);
if (display_server)
display_server_stop (display_server);
@@ -1385,7 +1422,7 @@ seat_real_start (Seat *seat)
greeter_session = create_greeter_session (seat);
if (!greeter_session)
{
- g_debug ("Failed to create greeter session");
+ l_debug (seat, "Failed to create greeter session");
return FALSE;
}
@@ -1411,7 +1448,7 @@ seat_real_start (Seat *seat)
session_set_display_server (session, display_server);
if (!display_server || !display_server_start (display_server))
{
- g_debug ("Can't create display server for greeter");
+ l_debug (seat, "Can't create display server for greeter");
session_stop (session);
if (display_server)
display_server_stop (display_server);
@@ -1434,7 +1471,7 @@ seat_real_start (Seat *seat)
background_display_server = create_display_server (seat, session_get_session_type (background_session));
session_set_display_server (background_session, background_display_server);
if (!display_server_start (background_display_server))
- g_warning ("Failed to start display server for background session");
+ l_warning (seat, "Failed to start display server for background session");
}
seat->priv->started = TRUE;
@@ -1483,7 +1520,7 @@ seat_real_stop (Seat *seat)
DisplayServer *display_server = link->data;
if (!display_server_get_is_stopping (display_server))
{
- g_debug ("Stopping display server");
+ l_debug (seat, "Stopping display server");
display_server_stop (display_server);
}
}
@@ -1496,7 +1533,7 @@ seat_real_stop (Seat *seat)
Session *session = link->data;
if (!session_get_is_stopping (session))
{
- g_debug ("Stopping session");
+ l_debug (seat, "Stopping session");
session_stop (session);
}
}
@@ -1532,6 +1569,8 @@ seat_finalize (GObject *object)
g_signal_handlers_disconnect_matched (session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self);
}
g_list_free_full (self->priv->sessions, g_object_unref);
+ if (self->priv->active_session)
+ g_object_unref (self->priv->active_session);
if (self->priv->session_to_activate)
g_object_unref (self->priv->session_to_activate);
@@ -1590,3 +1629,20 @@ seat_class_init (SeatClass *klass)
NULL,
G_TYPE_NONE, 0);
}
+
+static gint
+seat_real_logprefix (Logger *self, gchar *buf, gulong buflen)
+{
+ Seat *seat = SEAT (self);
+ const gchar *name = seat_get_string_property (seat, "seat-name");
+ if (name)
+ return g_snprintf (buf, buflen, "Seat %s: ", name);
+ else
+ return g_snprintf (buf, buflen, "Seat: ");
+}
+
+static void
+seat_logger_iface_init (LoggerInterface *iface)
+{
+ iface->logprefix = &seat_real_logprefix;
+}
diff --git a/src/seat.h b/src/seat.h
index 94d3341d..a5ebec5c 100644
--- a/src/seat.h
+++ b/src/seat.h
@@ -17,6 +17,7 @@
#include "greeter.h"
#include "session.h"
#include "process.h"
+#include "logger.h"
G_BEGIN_DECLS
diff --git a/src/session-config.c b/src/session-config.c
index 5ad780fc..d8436055 100644
--- a/src/session-config.c
+++ b/src/session-config.c
@@ -16,6 +16,9 @@ struct SessionConfigPrivate
/* Session type */
gchar *session_type;
+ /* Desktop name */
+ gchar *desktop_name;
+
/* Command to run */
gchar *command;
};
@@ -47,6 +50,7 @@ session_config_new_from_file (const gchar *filename, GError **error)
config->priv->session_type = g_key_file_get_string (desktop_file, G_KEY_FILE_DESKTOP_GROUP, "X-LightDM-Session-Type", NULL);
if (!config->priv->session_type)
config->priv->session_type = g_strdup ("x");
+ config->priv->desktop_name = g_key_file_get_string (desktop_file, G_KEY_FILE_DESKTOP_GROUP, "X-LightDM-DesktopName", NULL);
g_key_file_free (desktop_file);
@@ -67,6 +71,13 @@ session_config_get_session_type (SessionConfig *config)
return config->priv->session_type;
}
+const gchar *
+session_config_get_desktop_name (SessionConfig *config)
+{
+ g_return_val_if_fail (config != NULL, NULL);
+ return config->priv->desktop_name;
+}
+
static void
session_config_init (SessionConfig *config)
{
@@ -79,6 +90,7 @@ session_config_finalize (GObject *object)
SessionConfig *self = SESSION_CONFIG (object);
g_free (self->priv->session_type);
+ g_free (self->priv->desktop_name);
g_free (self->priv->command);
G_OBJECT_CLASS (session_config_parent_class)->finalize (object);
diff --git a/src/session-config.h b/src/session-config.h
index c9387306..2fd0efec 100644
--- a/src/session-config.h
+++ b/src/session-config.h
@@ -42,6 +42,8 @@ const gchar *session_config_get_command (SessionConfig *config);
const gchar *session_config_get_session_type (SessionConfig *config);
+const gchar *session_config_get_desktop_name (SessionConfig *config);
+
G_END_DECLS
#endif /* SESSION_CONFIG_H_ */
diff --git a/src/session.c b/src/session.c
index 3b360d28..1ad341c4 100644
--- a/src/session.c
+++ b/src/session.c
@@ -120,7 +120,11 @@ struct SessionPrivate
/* Maximum length of a string to pass between daemon and session */
#define MAX_STRING_LENGTH 65535
-G_DEFINE_TYPE (Session, session, G_TYPE_OBJECT);
+static void session_logger_iface_init (LoggerInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (Session, session, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (
+ LOGGER_TYPE, session_logger_iface_init));
Session *
session_new (void)
@@ -338,7 +342,7 @@ static void
write_data (Session *session, const void *buf, size_t count)
{
if (write (session->priv->to_child_input, buf, count) != count)
- g_warning ("Error writing to session: %s", strerror (errno));
+ l_warning (session, "Error writing to session: %s", strerror (errno));
}
static void
@@ -382,7 +386,7 @@ read_from_child (Session *session, void *buf, size_t count)
ssize_t n_read;
n_read = read (session->priv->from_child_output, buf, count);
if (n_read < 0)
- g_warning ("Error reading from session: %s", strerror (errno));
+ l_warning (session, "Error reading from session: %s", strerror (errno));
return n_read;
}
@@ -398,7 +402,7 @@ read_string_from_child (Session *session)
return NULL;
if (length > MAX_STRING_LENGTH)
{
- g_warning ("Invalid string length %d from child", length);
+ l_warning (session, "Invalid string length %d from child", length);
return NULL;
}
@@ -414,17 +418,18 @@ session_watch_cb (GPid pid, gint status, gpointer data)
{
Session *session = data;
- session->priv->pid = 0;
-
if (WIFEXITED (status))
- g_debug ("Session %d exited with return value %d", pid, WEXITSTATUS (status));
+ l_debug (session, "Exited with return value %d", WEXITSTATUS (status));
else if (WIFSIGNALED (status))
- g_debug ("Session %d terminated with signal %d", pid, WTERMSIG (status));
+ l_debug (session, "Terminated with signal %d", WTERMSIG (status));
+
+ /* do this as late as possible for log messages prefix */
+ session->priv->pid = 0;
/* If failed during authentication then report this as an authentication failure */
if (session->priv->authentication_started && !session->priv->authentication_complete)
{
- g_debug ("Session %d failed during authentication", pid);
+ l_debug (session, "Failed during authentication");
session->priv->authentication_complete = TRUE;
session->priv->authentication_result = PAM_CONV_ERR;
g_free (session->priv->authentication_result_string);
@@ -473,7 +478,7 @@ from_child_cb (GIOChannel *source, GIOCondition condition, gpointer data)
/* Check if authentication completed */
n_read = read_from_child (session, &auth_complete, sizeof (auth_complete));
if (n_read < 0)
- g_debug ("Error reading from child: %s", strerror (errno));
+ l_debug (session, "Error reading from child: %s", strerror (errno));
if (n_read <= 0)
{
session->priv->from_child_watch = 0;
@@ -487,7 +492,7 @@ from_child_cb (GIOChannel *source, GIOCondition condition, gpointer data)
g_free (session->priv->authentication_result_string);
session->priv->authentication_result_string = read_string_from_child (session);
- g_debug ("Session %d authentication complete with return value %d: %s", session->priv->pid, session->priv->authentication_result, session->priv->authentication_result_string);
+ l_debug (session, "Authentication complete with return value %d: %s", session->priv->authentication_result, session->priv->authentication_result_string);
/* No longer expect any more messages */
session->priv->from_child_watch = 0;
@@ -510,7 +515,7 @@ from_child_cb (GIOChannel *source, GIOCondition condition, gpointer data)
m->msg = read_string_from_child (session);
}
- g_debug ("Session %d got %d message(s) from PAM", session->priv->pid, session->priv->messages_length);
+ l_debug (session, "Got %d message(s) from PAM", session->priv->messages_length);
g_signal_emit (G_OBJECT (session), signals[GOT_MESSAGES], 0);
}
@@ -616,7 +621,7 @@ session_real_start (Session *session)
write_string (session, session->priv->xdisplay);
write_xauth (session, session->priv->x_authority);
- g_debug ("Started session %d with service '%s', username '%s'", session->priv->pid, session->priv->pam_service, session->priv->username);
+ l_debug (session, "Started with service '%s', username '%s'", session->priv->pam_service, session->priv->username);
return TRUE;
}
@@ -727,7 +732,7 @@ session_real_run (Session *session)
session->priv->command_run = TRUE;
command = g_strjoinv (" ", session->priv->argv);
- g_debug ("Session %d running command %s", session->priv->pid, command);
+ l_debug (session, "Running command %s", command);
g_free (command);
/* Create authority location */
@@ -740,11 +745,11 @@ session_real_run (Session *session)
g_free (run_dir);
if (g_mkdir_with_parents (dir, S_IRWXU) < 0)
- g_warning ("Failed to set create system authority dir %s: %s", dir, strerror (errno));
+ l_warning (session, "Failed to set create system authority dir %s: %s", dir, strerror (errno));
if (getuid () == 0)
{
if (chown (dir, user_get_uid (session_get_user (session)), user_get_gid (session_get_user (session))) < 0)
- g_warning ("Failed to set ownership of user authority dir: %s", strerror (errno));
+ l_warning (session, "Failed to set ownership of user authority dir: %s", strerror (errno));
}
x_authority_filename = g_build_filename (dir, "xauthority", NULL);
@@ -780,9 +785,9 @@ session_lock (Session *session)
g_return_if_fail (session != NULL);
if (getuid () == 0)
{
- if (login1_is_running ())
+ if (session->priv->login1_session)
login1_lock_session (session->priv->login1_session);
- if (!session->priv->login1_session)
+ else if (session->priv->console_kit_cookie)
ck_lock_session (session->priv->console_kit_cookie);
}
}
@@ -793,9 +798,9 @@ session_unlock (Session *session)
g_return_if_fail (session != NULL);
if (getuid () == 0)
{
- if (login1_is_running ())
+ if (session->priv->login1_session)
login1_unlock_session (session->priv->login1_session);
- if (!session->priv->login1_session)
+ else if (session->priv->console_kit_cookie)
ck_unlock_session (session->priv->console_kit_cookie);
}
}
@@ -819,7 +824,7 @@ session_real_stop (Session *session)
if (session->priv->pid > 0)
{
- g_debug ("Session %d: Sending SIGTERM", session->priv->pid);
+ l_debug (session, "Sending SIGTERM");
kill (session->priv->pid, SIGTERM);
// FIXME: Handle timeout
}
@@ -920,3 +925,19 @@ session_class_init (SessionClass *klass)
NULL,
G_TYPE_NONE, 0);
}
+
+static gint
+session_real_logprefix (Logger *self, gchar *buf, gulong buflen)
+{
+ Session *session = SESSION (self);
+ if (session->priv->pid != 0)
+ return g_snprintf (buf, buflen, "Session pid=%d: ", session->priv->pid);
+ else
+ return g_snprintf (buf, buflen, "Session: ");
+}
+
+static void
+session_logger_iface_init (LoggerInterface *iface)
+{
+ iface->logprefix = &session_real_logprefix;
+}
diff --git a/src/session.h b/src/session.h
index eb2dad4c..11182b5c 100644
--- a/src/session.h
+++ b/src/session.h
@@ -21,6 +21,7 @@ typedef struct Session Session;
#include "display-server.h"
#include "accounts.h"
#include "x-authority.h"
+#include "logger.h"
G_BEGIN_DECLS
diff --git a/src/x-server-local.c b/src/x-server-local.c
index ae3481c3..12c32e15 100644
--- a/src/x-server-local.c
+++ b/src/x-server-local.c
@@ -333,7 +333,7 @@ run_cb (Process *process, XServerLocal *server)
fd = g_open (server->priv->log_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd < 0)
- g_warning ("Failed to open log file %s: %s", server->priv->log_file, g_strerror (errno));
+ l_warning (server, "Failed to open log file %s: %s", server->priv->log_file, g_strerror (errno));
else
{
dup2 (fd, STDOUT_FILENO);
@@ -352,7 +352,7 @@ got_signal_cb (Process *process, int signum, XServerLocal *server)
if (signum == SIGUSR1 && !server->priv->got_signal)
{
server->priv->got_signal = TRUE;
- g_debug ("Got signal from X server :%d", x_server_get_display_number (X_SERVER (server)));
+ l_debug (server, "Got signal from X server :%d", x_server_get_display_number (X_SERVER (server)));
// FIXME: Check return value
DISPLAY_SERVER_CLASS (x_server_local_parent_class)->start (DISPLAY_SERVER (server));
@@ -362,7 +362,7 @@ got_signal_cb (Process *process, int signum, XServerLocal *server)
static void
stopped_cb (Process *process, XServerLocal *server)
{
- g_debug ("X server stopped");
+ l_debug (server, "X server stopped");
/* Release VT and display number for re-use */
if (server->priv->have_vt_ref)
@@ -374,7 +374,7 @@ stopped_cb (Process *process, XServerLocal *server)
if (x_server_get_authority (X_SERVER (server)) && server->priv->authority_file)
{
- g_debug ("Removing X server authority %s", server->priv->authority_file);
+ l_debug (server, "Removing X server authority %s", server->priv->authority_file);
g_unlink (server->priv->authority_file);
@@ -404,17 +404,17 @@ write_authority_file (XServerLocal *server)
dir = g_build_filename (run_dir, "root", NULL);
g_free (run_dir);
if (g_mkdir_with_parents (dir, S_IRWXU) < 0)
- g_warning ("Failed to make authority directory %s: %s", dir, strerror (errno));
+ l_warning (server, "Failed to make authority directory %s: %s", dir, strerror (errno));
server->priv->authority_file = g_build_filename (dir, x_server_get_address (X_SERVER (server)), NULL);
g_free (dir);
}
- g_debug ("Writing X server authority to %s", server->priv->authority_file);
+ l_debug (server, "Writing X server authority to %s", server->priv->authority_file);
x_authority_write (authority, XAUTH_WRITE_MODE_REPLACE, server->priv->authority_file, &error);
if (error)
- g_warning ("Failed to write authority: %s", error->message);
+ l_warning (server, "Failed to write authority: %s", error->message);
g_clear_error (&error);
}
@@ -442,14 +442,14 @@ x_server_local_start (DisplayServer *display_server)
filename = g_strdup_printf ("%s.log", display_server_get_name (display_server));
dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
server->priv->log_file = g_build_filename (dir, filename, NULL);
- g_debug ("Logging to %s", server->priv->log_file);
+ l_debug (display_server, "Logging to %s", server->priv->log_file);
g_free (filename);
g_free (dir);
absolute_command = get_absolute_command (server->priv->command);
if (!absolute_command)
{
- g_debug ("Can't launch X server %s, not found in path", server->priv->command);
+ l_debug (display_server, "Can't launch X server %s, not found in path", server->priv->command);
stopped_cb (server->priv->x_server_process, X_SERVER_LOCAL (server));
return FALSE;
}
@@ -496,7 +496,7 @@ x_server_local_start (DisplayServer *display_server)
process_set_command (server->priv->x_server_process, command->str);
g_string_free (command, TRUE);
- g_debug ("Launching X Server");
+ l_debug (display_server, "Launching X Server");
/* If running inside another display then pass through those variables */
if (g_getenv ("DISPLAY"))
@@ -524,7 +524,7 @@ x_server_local_start (DisplayServer *display_server)
result = process_start (server->priv->x_server_process, FALSE);
if (result)
- g_debug ("Waiting for ready signal from X server :%d", x_server_get_display_number (X_SERVER (server)));
+ l_debug (display_server, "Waiting for ready signal from X server :%d", x_server_get_display_number (X_SERVER (server)));
if (!result)
stopped_cb (server->priv->x_server_process, X_SERVER_LOCAL (server));
diff --git a/src/x-server-xvnc.c b/src/x-server-xvnc.c
index 3595ddef..0897725d 100644
--- a/src/x-server-xvnc.c
+++ b/src/x-server-xvnc.c
@@ -144,7 +144,7 @@ run_cb (Process *process, XServerXVNC *server)
fd = g_open (server->priv->log_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd < 0)
- g_warning ("Failed to open log file %s: %s", server->priv->log_file, g_strerror (errno));
+ l_warning (server, "Failed to open log file %s: %s", server->priv->log_file, g_strerror (errno));
else
{
dup2 (fd, STDERR_FILENO);
@@ -162,7 +162,7 @@ got_signal_cb (Process *process, int signum, XServerXVNC *server)
if (signum == SIGUSR1 && !server->priv->got_signal)
{
server->priv->got_signal = TRUE;
- g_debug ("Got signal from Xvnc server :%d", x_server_get_display_number (X_SERVER (server)));
+ l_debug (server, "Got signal from Xvnc server :%d", x_server_get_display_number (X_SERVER (server)));
// FIXME: Check return value
DISPLAY_SERVER_CLASS (x_server_xvnc_parent_class)->start (DISPLAY_SERVER (server));
@@ -172,14 +172,14 @@ got_signal_cb (Process *process, int signum, XServerXVNC *server)
static void
stopped_cb (Process *process, XServerXVNC *server)
{
- g_debug ("Xvnc server stopped");
+ l_debug (server, "Xvnc server stopped");
g_object_unref (server->priv->x_server_process);
server->priv->x_server_process = NULL;
x_server_local_release_display_number (x_server_get_display_number (X_SERVER (server)));
- g_debug ("Removing X server authority %s", server->priv->authority_file);
+ l_debug (server, "Removing X server authority %s", server->priv->authority_file);
g_unlink (server->priv->authority_file);
g_free (server->priv->authority_file);
@@ -219,14 +219,14 @@ x_server_xvnc_start (DisplayServer *display_server)
filename = g_strdup_printf ("%s.log", display_server_get_name (display_server));
dir = config_get_string (config_get_instance (), "LightDM", "log-directory");
server->priv->log_file = g_build_filename (dir, filename, NULL);
- g_debug ("Logging to %s", server->priv->log_file);
+ l_debug (display_server, "Logging to %s", server->priv->log_file);
g_free (filename);
g_free (dir);
absolute_command = get_absolute_command (server->priv->command);
if (!absolute_command)
{
- g_debug ("Can't launch X server %s, not found in path", server->priv->command);
+ l_debug (display_server, "Can't launch X server %s, not found in path", server->priv->command);
stopped_cb (server->priv->x_server_process, X_SERVER_XVNC (server));
return FALSE;
}
@@ -241,16 +241,16 @@ x_server_xvnc_start (DisplayServer *display_server)
dir = g_build_filename (run_dir, "root", NULL);
g_free (run_dir);
if (g_mkdir_with_parents (dir, S_IRWXU) < 0)
- g_warning ("Failed to make authority directory %s: %s", dir, strerror (errno));
+ l_warning (display_server, "Failed to make authority directory %s: %s", dir, strerror (errno));
server->priv->authority_file = g_build_filename (dir, x_server_get_address (X_SERVER (server)), NULL);
g_free (dir);
- g_debug ("Writing X server authority to %s", server->priv->authority_file);
+ l_debug (display_server, "Writing X server authority to %s", server->priv->authority_file);
x_authority_write (authority, XAUTH_WRITE_MODE_REPLACE, server->priv->authority_file, &error);
if (error)
- g_warning ("Failed to write authority: %s", error->message);
+ l_warning (display_server, "Failed to write authority: %s", error->message);
g_clear_error (&error);
command = g_string_new (absolute_command);
@@ -267,7 +267,7 @@ x_server_xvnc_start (DisplayServer *display_server)
process_set_command (server->priv->x_server_process, command->str);
g_string_free (command, TRUE);
- g_debug ("Launching Xvnc server");
+ l_debug (display_server, "Launching Xvnc server");
/* Variable required for regression tests */
if (g_getenv ("LIGHTDM_TEST_ROOT"))
@@ -279,7 +279,7 @@ x_server_xvnc_start (DisplayServer *display_server)
result = process_start (server->priv->x_server_process, FALSE);
if (result)
- g_debug ("Waiting for ready signal from Xvnc server :%d", x_server_get_display_number (X_SERVER (server)));
+ l_debug (display_server, "Waiting for ready signal from Xvnc server :%d", x_server_get_display_number (X_SERVER (server)));
if (!result)
stopped_cb (server->priv->x_server_process, X_SERVER_XVNC (server));
diff --git a/src/x-server.c b/src/x-server.c
index 3b25ef9a..94154601 100644
--- a/src/x-server.c
+++ b/src/x-server.c
@@ -133,11 +133,11 @@ x_server_start (DisplayServer *display_server)
}
/* Open connection */
- g_debug ("Connecting to XServer %s", x_server_get_address (server));
+ l_debug (server, "Connecting to XServer %s", x_server_get_address (server));
server->priv->connection = xcb_connect_to_display_with_auth_info (x_server_get_address (server), auth, NULL);
if (xcb_connection_has_error (server->priv->connection))
{
- g_debug ("Error connecting to XServer %s", x_server_get_address (server));
+ l_debug (server, "Error connecting to XServer %s", x_server_get_address (server));
return FALSE;
}
@@ -161,9 +161,12 @@ x_server_connect_session (DisplayServer *display_server, Session *session)
g_free (t);
t = g_strdup_printf ("%d", vt);
+ l_debug (session, "Setting XDG_VTNR=%s", t);
session_set_env (session, "XDG_VTNR", t);
g_free (t);
}
+ else
+ l_debug (session, "Not setting XDG_VTNR");
session_set_env (session, "DISPLAY", x_server_get_address (X_SERVER (display_server)));
session_set_tty (session, x_server_get_address (X_SERVER (display_server)));
@@ -177,8 +180,14 @@ x_server_connect_session (DisplayServer *display_server, Session *session)
static void
x_server_disconnect_session (DisplayServer *display_server, Session *session)
{
- session_set_tty (session, NULL);
- session_unset_env (session, "XDG_VTNR");
+ gint vt;
+
+ vt = display_server_get_vt (display_server);
+ if (vt > 0)
+ {
+ session_set_tty (session, NULL);
+ session_unset_env (session, "XDG_VTNR");
+ }
session_unset_env (session, "DISPLAY");
session_set_xdisplay (session, NULL);
session_set_remote_host_name (session, NULL);
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 62f19f5c..109b2ed8 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -45,6 +45,7 @@ TESTS = \
test-autologin-guest-logout \
test-group-membership \
test-session-env \
+ test-xdg-current-desktop \
test-language-env \
test-util-path \
test-session-stdout \
@@ -98,12 +99,16 @@ TESTS = \
test-script-hook-fail-display-setup \
test-script-hook-fail-greeter-setup \
test-script-hook-fail-session-setup \
+ test-upstart-autologin \
+ test-upstart-login \
test-dbus \
test-lock-seat \
test-lock-seat-return-session \
test-lock-session \
test-lock-session-no-password \
test-lock-session-return-session \
+ test-lock-seat-console-kit \
+ test-lock-seat-return-session-console-kit \
test-switch-to-greeter \
test-switch-to-greeter-new-session \
test-switch-to-greeter-new-session-logout-new \
@@ -125,7 +130,6 @@ TESTS = \
test-no-accounts-service \
test-console-kit \
test-no-console-kit \
- test-login1 \
test-no-login1 \
test-no-console-kit-or-login1 \
test-gobject-power \
@@ -320,11 +324,12 @@ EXTRA_DIST = \
scripts/language-env.conf \
scripts/language-no-accounts-service.conf \
scripts/lock-seat.conf \
+ scripts/lock-seat-console-kit.conf \
scripts/lock-seat-return-session.conf \
+ scripts/lock-seat-return-session-console-kit.conf \
scripts/lock-session.conf \
scripts/lock-session-no-password.conf \
scripts/lock-session-return-session.conf \
- scripts/login1.conf \
scripts/login.conf \
scripts/login-crash-authenticate.conf \
scripts/login-guest.conf \
@@ -406,6 +411,8 @@ EXTRA_DIST = \
scripts/unity-mir-session-x-greeter.conf \
scripts/unity-plymouth.conf \
scripts/unity-switch.conf \
+ scripts/upstart-autologin.conf \
+ scripts/upstart-login.conf \
scripts/users.conf \
scripts/util-path.conf \
scripts/user-renamed.conf \
@@ -415,6 +422,7 @@ EXTRA_DIST = \
scripts/vnc-login.conf \
scripts/vnc-open-file-descriptors.conf \
scripts/xauthority.conf \
+ scripts/xdg-current-desktop.conf \
scripts/xdmcp-client.conf \
scripts/xdmcp-server-login.conf \
scripts/xdmcp-server-open-file-descriptors.conf \
diff --git a/tests/data/sessions/named.desktop b/tests/data/sessions/named.desktop
new file mode 100644
index 00000000..3c0870d7
--- /dev/null
+++ b/tests/data/sessions/named.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Name=Test Session
+Comment=LightDM test session
+Exec=test-session
+X-LightDM-DesktopName=TestDesktop
diff --git a/tests/scripts/additional-config.conf b/tests/scripts/additional-config.conf
index 252906e1..6d44f5e3 100644
--- a/tests/scripts/additional-config.conf
+++ b/tests/scripts/additional-config.conf
@@ -19,7 +19,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password2
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password2
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-guest-fail-setup-script.conf b/tests/scripts/autologin-guest-fail-setup-script.conf
index e572c427..f35e9ef3 100644
--- a/tests/scripts/autologin-guest-fail-setup-script.conf
+++ b/tests/scripts/autologin-guest-fail-setup-script.conf
@@ -22,7 +22,7 @@ user-session=default
# (guest account attempts to start and fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-guest-in-background.conf b/tests/scripts/autologin-guest-in-background.conf
index a6d36b94..7323bd98 100644
--- a/tests/scripts/autologin-guest-in-background.conf
+++ b/tests/scripts/autologin-guest-in-background.conf
@@ -17,7 +17,7 @@ user-session=default
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -29,7 +29,7 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
-#?SESSION-X-1 START USER=guest-.*
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=guest-.*
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-guest-logout.conf b/tests/scripts/autologin-guest-logout.conf
index f4beb558..0a532dc0 100644
--- a/tests/scripts/autologin-guest-logout.conf
+++ b/tests/scripts/autologin-guest-logout.conf
@@ -23,7 +23,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -45,7 +45,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-guest-timeout.conf b/tests/scripts/autologin-guest-timeout.conf
index 1b813cf7..4a6af9a6 100644
--- a/tests/scripts/autologin-guest-timeout.conf
+++ b/tests/scripts/autologin-guest-timeout.conf
@@ -21,7 +21,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -40,7 +40,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-guest.conf b/tests/scripts/autologin-guest.conf
index 7d288334..a203d8b4 100644
--- a/tests/scripts/autologin-guest.conf
+++ b/tests/scripts/autologin-guest.conf
@@ -23,7 +23,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-in-background.conf b/tests/scripts/autologin-in-background.conf
index 08511771..d63cee0f 100644
--- a/tests/scripts/autologin-in-background.conf
+++ b/tests/scripts/autologin-in-background.conf
@@ -14,7 +14,7 @@ user-session=default
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -25,7 +25,7 @@ user-session=default
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
-#?SESSION-X-1 START USER=have-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-invalid-session.conf b/tests/scripts/autologin-invalid-session.conf
index ce05b417..01600a63 100644
--- a/tests/scripts/autologin-invalid-session.conf
+++ b/tests/scripts/autologin-invalid-session.conf
@@ -19,7 +19,7 @@ user-session=invalid
# (session fails to start)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-invalid-user.conf b/tests/scripts/autologin-invalid-user.conf
index 6412a5e9..73681fd5 100644
--- a/tests/scripts/autologin-invalid-user.conf
+++ b/tests/scripts/autologin-invalid-user.conf
@@ -18,7 +18,7 @@ autologin-user=invalid
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-logout.conf b/tests/scripts/autologin-logout.conf
index daf63cf3..ad97f670 100644
--- a/tests/scripts/autologin-logout.conf
+++ b/tests/scripts/autologin-logout.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Autologin session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -36,7 +36,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-new-authtok.conf b/tests/scripts/autologin-new-authtok.conf
index 4dca98ec..293b3599 100644
--- a/tests/scripts/autologin-new-authtok.conf
+++ b/tests/scripts/autologin-new-authtok.conf
@@ -19,7 +19,7 @@ user-session=default
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-password.conf b/tests/scripts/autologin-password.conf
index 52419818..1d7bb03f 100644
--- a/tests/scripts/autologin-password.conf
+++ b/tests/scripts/autologin-password.conf
@@ -19,7 +19,7 @@ user-session=default
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-previous-session.conf b/tests/scripts/autologin-previous-session.conf
index 909c7bbf..0851ca42 100644
--- a/tests/scripts/autologin-previous-session.conf
+++ b/tests/scripts/autologin-previous-session.conf
@@ -16,7 +16,7 @@ autologin-user=have-session
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=have-session
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=have-session
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-session-crash.conf b/tests/scripts/autologin-session-crash.conf
index 996ddb6f..57bdb5b8 100644
--- a/tests/scripts/autologin-session-crash.conf
+++ b/tests/scripts/autologin-session-crash.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -36,7 +36,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-session-error.conf b/tests/scripts/autologin-session-error.conf
index c42c053d..f9499b66 100644
--- a/tests/scripts/autologin-session-error.conf
+++ b/tests/scripts/autologin-session-error.conf
@@ -30,7 +30,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin-timeout-in-background.conf b/tests/scripts/autologin-timeout-in-background.conf
index 31dd59b3..43f1cb99 100644
--- a/tests/scripts/autologin-timeout-in-background.conf
+++ b/tests/scripts/autologin-timeout-in-background.conf
@@ -15,7 +15,7 @@ user-session=default
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -26,7 +26,7 @@ user-session=default
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
-#?SESSION-X-1 START USER=have-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-timeout.conf b/tests/scripts/autologin-timeout.conf
index af1d598d..8c5463ff 100644
--- a/tests/scripts/autologin-timeout.conf
+++ b/tests/scripts/autologin-timeout.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -34,7 +34,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/autologin-xserver-crash.conf b/tests/scripts/autologin-xserver-crash.conf
index fc5ec049..5e7730c0 100644
--- a/tests/scripts/autologin-xserver-crash.conf
+++ b/tests/scripts/autologin-xserver-crash.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,7 +34,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/autologin.conf b/tests/scripts/autologin.conf
index de9a4905..1d3e912e 100644
--- a/tests/scripts/autologin.conf
+++ b/tests/scripts/autologin.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/cancel-authentication.conf b/tests/scripts/cancel-authentication.conf
index ca4719a3..8c907ea1 100644
--- a/tests/scripts/cancel-authentication.conf
+++ b/tests/scripts/cancel-authentication.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/change-authentication.conf b/tests/scripts/change-authentication.conf
index 4a65dc0d..1151ed80 100644
--- a/tests/scripts/change-authentication.conf
+++ b/tests/scripts/change-authentication.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/console-kit.conf b/tests/scripts/console-kit.conf
index a9a44bf2..818d621a 100644
--- a/tests/scripts/console-kit.conf
+++ b/tests/scripts/console-kit.conf
@@ -20,14 +20,10 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
-# Check environment variable
-#?*SESSION-X-0 READ-ENV NAME=XDG_SESSION_COOKIE
-#?SESSION-X-0 READ-ENV NAME=XDG_SESSION_COOKIE VALUE=ck-cookie-x:0
-
# Cleanup
#?*STOP-DAEMON
#?SESSION-X-0 TERMINATE SIGNAL=15
diff --git a/tests/scripts/crash-authenticate.conf b/tests/scripts/crash-authenticate.conf
index b6a94e1c..73a513d4 100644
--- a/tests/scripts/crash-authenticate.conf
+++ b/tests/scripts/crash-authenticate.conf
@@ -19,7 +19,7 @@ user-session=default
# (authentication crashes)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/cred-error.conf b/tests/scripts/cred-error.conf
index 39e2006c..367db5c1 100644
--- a/tests/scripts/cred-error.conf
+++ b/tests/scripts/cred-error.conf
@@ -30,7 +30,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/cred-expired.conf b/tests/scripts/cred-expired.conf
index 6c08c670..53eecd93 100644
--- a/tests/scripts/cred-expired.conf
+++ b/tests/scripts/cred-expired.conf
@@ -30,7 +30,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/cred-unavail.conf b/tests/scripts/cred-unavail.conf
index 14a96039..6878c1d4 100644
--- a/tests/scripts/cred-unavail.conf
+++ b/tests/scripts/cred-unavail.conf
@@ -30,7 +30,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/dbus.conf b/tests/scripts/dbus.conf
index 5f6cd8fc..38cc52f4 100644
--- a/tests/scripts/dbus.conf
+++ b/tests/scripts/dbus.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -36,7 +36,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/denied.conf b/tests/scripts/denied.conf
index 65d47ac0..47a3bc8e 100644
--- a/tests/scripts/denied.conf
+++ b/tests/scripts/denied.conf
@@ -19,7 +19,7 @@ user-session=default
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/expired.conf b/tests/scripts/expired.conf
index 1fa029f0..8125b8c4 100644
--- a/tests/scripts/expired.conf
+++ b/tests/scripts/expired.conf
@@ -19,7 +19,7 @@ user-session=default
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-allow-guest.conf b/tests/scripts/greeter-allow-guest.conf
index 1bfc477a..baf8903e 100644
--- a/tests/scripts/greeter-allow-guest.conf
+++ b/tests/scripts/greeter-allow-guest.conf
@@ -16,7 +16,7 @@ greeter-allow-guest=false
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-default-session.conf b/tests/scripts/greeter-default-session.conf
index 54f2d7fb..0b78a47c 100644
--- a/tests/scripts/greeter-default-session.conf
+++ b/tests/scripts/greeter-default-session.conf
@@ -16,7 +16,7 @@ user-session=alternative
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-fail-start.conf b/tests/scripts/greeter-fail-start.conf
index 1d99fbf8..df035e1f 100644
--- a/tests/scripts/greeter-fail-start.conf
+++ b/tests/scripts/greeter-fail-start.conf
@@ -16,7 +16,7 @@ return-value=1
#?XSERVER-0 ACCEPT-CONNECT
# Greeter fails to start
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?GREETER-X-0 EXIT CODE=1
# X server stopped
diff --git a/tests/scripts/greeter-hide-users.conf b/tests/scripts/greeter-hide-users.conf
index 864f32b9..22b129d9 100644
--- a/tests/scripts/greeter-hide-users.conf
+++ b/tests/scripts/greeter-hide-users.conf
@@ -16,7 +16,7 @@ greeter-hide-users=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-show-manual-login.conf b/tests/scripts/greeter-show-manual-login.conf
index 8c29ebcf..38e2c1e0 100644
--- a/tests/scripts/greeter-show-manual-login.conf
+++ b/tests/scripts/greeter-show-manual-login.conf
@@ -16,7 +16,7 @@ greeter-show-manual-login=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-show-remote-login.conf b/tests/scripts/greeter-show-remote-login.conf
index 0d237f23..1fe462dd 100644
--- a/tests/scripts/greeter-show-remote-login.conf
+++ b/tests/scripts/greeter-show-remote-login.conf
@@ -16,7 +16,7 @@ greeter-show-remote-login=false
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-wrapper.conf b/tests/scripts/greeter-wrapper.conf
index c1c2f5bd..111a6e99 100644
--- a/tests/scripts/greeter-wrapper.conf
+++ b/tests/scripts/greeter-wrapper.conf
@@ -19,7 +19,7 @@ greeter-wrapper=test-greeter-wrapper
#?GREETER-WRAPPER-X-0 START
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/greeter-xserver-crash.conf b/tests/scripts/greeter-xserver-crash.conf
index 4fba2ebf..0b0e24e6 100644
--- a/tests/scripts/greeter-xserver-crash.conf
+++ b/tests/scripts/greeter-xserver-crash.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -34,7 +34,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/group-membership.conf b/tests/scripts/group-membership.conf
index c9d3e8de..0b2e218d 100644
--- a/tests/scripts/group-membership.conf
+++ b/tests/scripts/group-membership.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=group-member
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=group-member
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/home-dir-on-authenticate.conf b/tests/scripts/home-dir-on-authenticate.conf
index 159f65be..56d93942 100644
--- a/tests/scripts/home-dir-on-authenticate.conf
+++ b/tests/scripts/home-dir-on-authenticate.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=mount-home-dir
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=mount-home-dir
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/home-dir-on-session.conf b/tests/scripts/home-dir-on-session.conf
index 045d0e07..c1d22e0a 100644
--- a/tests/scripts/home-dir-on-session.conf
+++ b/tests/scripts/home-dir-on-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=make-home-dir
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=make-home-dir
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/keyboard-layout.conf b/tests/scripts/keyboard-layout.conf
index 7c733e05..76d62395 100644
--- a/tests/scripts/keyboard-layout.conf
+++ b/tests/scripts/keyboard-layout.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/language-env.conf b/tests/scripts/language-env.conf
index 3f536ffe..6fbd2cab 100644
--- a/tests/scripts/language-env.conf
+++ b/tests/scripts/language-env.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-language
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-language
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/language-no-accounts-service.conf b/tests/scripts/language-no-accounts-service.conf
index b6fcd9ed..544a0533 100644
--- a/tests/scripts/language-no-accounts-service.conf
+++ b/tests/scripts/language-no-accounts-service.conf
@@ -16,7 +16,7 @@ disable-accounts-service=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/language.conf b/tests/scripts/language.conf
index e07240b6..04abe16c 100644
--- a/tests/scripts/language.conf
+++ b/tests/scripts/language.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/lock-seat-console-kit.conf b/tests/scripts/lock-seat-console-kit.conf
new file mode 100644
index 00000000..2abe49b4
--- /dev/null
+++ b/tests/scripts/lock-seat-console-kit.conf
@@ -0,0 +1,59 @@
+#
+# Check can lock a seat from D-Bus using ConsoleKit
+#
+
+[test-runner-config]
+disable-login1=true
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=default
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Lock the seat
+#?*SESSION-X-0 LOCK-SEAT
+#?SESSION-X-0 LOCK-SEAT
+
+# New X server starts
+#?XSERVER-1 START VT=8
+
+# Daemon connects when X server is ready
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+
+# Session is locked
+#?CONSOLE-KIT LOCK-SESSION
+
+# Greeter starts
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 LOCK-HINT
+
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/lock-seat-return-session-console-kit.conf b/tests/scripts/lock-seat-return-session-console-kit.conf
new file mode 100644
index 00000000..f7032cc5
--- /dev/null
+++ b/tests/scripts/lock-seat-return-session-console-kit.conf
@@ -0,0 +1,74 @@
+#
+# Check can lock a seat from D-Bus and can return to it when using ConsoleKit
+#
+
+[test-runner-config]
+disable-login1=true
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=default
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Lock the seat
+#?*SESSION-X-0 LOCK-SEAT
+#?SESSION-X-0 LOCK-SEAT
+
+# New X server starts
+#?XSERVER-1 START VT=8
+
+# Daemon connects when X server is ready
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+
+# Session is locked
+#?CONSOLE-KIT LOCK-SESSION
+
+# Greeter starts
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1
+#?XSERVER-1 ACCEPT-CONNECT
+#?GREETER-X-1 CONNECT-XSERVER
+#?GREETER-X-1 CONNECT-TO-DAEMON
+#?GREETER-X-1 CONNECTED-TO-DAEMON
+#?GREETER-X-1 LOCK-HINT
+
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
+# Login as existing user
+#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-1 RESPOND TEXT="password"
+#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-1 START-SESSION
+
+# Old session is unlocked
+#?CONSOLE-KIT UNLOCK-SESSION
+
+# Return to session
+#?VT ACTIVATE VT=7
+
+# Greeter and X server stop
+#?GREETER-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/lock-seat-return-session.conf b/tests/scripts/lock-seat-return-session.conf
index fd024570..9a6ad338 100644
--- a/tests/scripts/lock-seat-return-session.conf
+++ b/tests/scripts/lock-seat-return-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -51,6 +54,9 @@ user-session=default
#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
#?*GREETER-X-1 START-SESSION
+# Old session is unlocked
+#?LOGIN1 UNLOCK-SESSION
+
# Return to session
#?VT ACTIVATE VT=7
diff --git a/tests/scripts/lock-seat.conf b/tests/scripts/lock-seat.conf
index 61b91bbb..b0ea9883 100644
--- a/tests/scripts/lock-seat.conf
+++ b/tests/scripts/lock-seat.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/lock-session-no-password.conf b/tests/scripts/lock-session-no-password.conf
index b7c26d76..4fad1abe 100644
--- a/tests/scripts/lock-session-no-password.conf
+++ b/tests/scripts/lock-session-no-password.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts with session user selected
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/lock-session-return-session.conf b/tests/scripts/lock-session-return-session.conf
index ed33cb30..4c17fe48 100644
--- a/tests/scripts/lock-session-return-session.conf
+++ b/tests/scripts/lock-session-return-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,7 +34,7 @@ user-session=default
#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts with session user selected
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -45,6 +45,9 @@ user-session=default
# Switch to greeter
#?VT ACTIVATE VT=8
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Login as existing user
#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
@@ -52,6 +55,9 @@ user-session=default
#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
#?*GREETER-X-1 START-SESSION
+# Existing session is unlocked
+#?LOGIN1 UNLOCK-SESSION
+
# Return to session
#?VT ACTIVATE VT=7
diff --git a/tests/scripts/lock-session.conf b/tests/scripts/lock-session.conf
index 5b7855c7..6a52cb06 100644
--- a/tests/scripts/lock-session.conf
+++ b/tests/scripts/lock-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts with session user selected
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-crash-authenticate.conf b/tests/scripts/login-crash-authenticate.conf
index 41474102..3017e720 100644
--- a/tests/scripts/login-crash-authenticate.conf
+++ b/tests/scripts/login-crash-authenticate.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-guest-disabled.conf b/tests/scripts/login-guest-disabled.conf
index e0d3220a..fcab4672 100644
--- a/tests/scripts/login-guest-disabled.conf
+++ b/tests/scripts/login-guest-disabled.conf
@@ -16,7 +16,7 @@ allow-guest=false
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-guest-fail-setup-script.conf b/tests/scripts/login-guest-fail-setup-script.conf
index 3bdcb6b0..b6f2b077 100644
--- a/tests/scripts/login-guest-fail-setup-script.conf
+++ b/tests/scripts/login-guest-fail-setup-script.conf
@@ -19,7 +19,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -34,7 +34,7 @@ user-session=default
# (guest account attempts to start and fails)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-guest-logout.conf b/tests/scripts/login-guest-logout.conf
index 0c5e7a4f..404ec1d3 100644
--- a/tests/scripts/login-guest-logout.conf
+++ b/tests/scripts/login-guest-logout.conf
@@ -19,7 +19,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -35,7 +35,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -57,7 +57,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-guest-no-setup-script.conf b/tests/scripts/login-guest-no-setup-script.conf
index 33bb1bb9..431df579 100644
--- a/tests/scripts/login-guest-no-setup-script.conf
+++ b/tests/scripts/login-guest-no-setup-script.conf
@@ -16,7 +16,7 @@ guest-account-script=
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-guest.conf b/tests/scripts/login-guest.conf
index ad536a59..1d72f3f0 100644
--- a/tests/scripts/login-guest.conf
+++ b/tests/scripts/login-guest.conf
@@ -19,7 +19,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -35,7 +35,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-info-prompt.conf b/tests/scripts/login-info-prompt.conf
index 1a0e3c6d..ff5b7cbb 100644
--- a/tests/scripts/login-info-prompt.conf
+++ b/tests/scripts/login-info-prompt.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-invalid-session.conf b/tests/scripts/login-invalid-session.conf
index b873b385..f562ae55 100644
--- a/tests/scripts/login-invalid-session.conf
+++ b/tests/scripts/login-invalid-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-invalid-user.conf b/tests/scripts/login-invalid-user.conf
index 5500b027..bc72f461 100644
--- a/tests/scripts/login-invalid-user.conf
+++ b/tests/scripts/login-invalid-user.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-logout.conf b/tests/scripts/login-logout.conf
index 1f8e245e..c88233f8 100644
--- a/tests/scripts/login-logout.conf
+++ b/tests/scripts/login-logout.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -31,7 +31,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -50,7 +50,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-long-password.conf b/tests/scripts/login-long-password.conf
index 1a07f21c..8f9dcbc3 100644
--- a/tests/scripts/login-long-password.conf
+++ b/tests/scripts/login-long-password.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-long-username.conf b/tests/scripts/login-long-username.conf
index 1e291b25..7b2efc16 100644
--- a/tests/scripts/login-long-username.conf
+++ b/tests/scripts/login-long-username.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-manual-previous-session.conf b/tests/scripts/login-manual-previous-session.conf
index bf0f6a1b..ca39bde9 100644
--- a/tests/scripts/login-manual-previous-session.conf
+++ b/tests/scripts/login-manual-previous-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -28,7 +28,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=have-session
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=have-session
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-manual.conf b/tests/scripts/login-manual.conf
index 4961848a..e6424b11 100644
--- a/tests/scripts/login-manual.conf
+++ b/tests/scripts/login-manual.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -33,7 +33,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-multi-info-prompt.conf b/tests/scripts/login-multi-info-prompt.conf
index a570c609..f42ba2b9 100644
--- a/tests/scripts/login-multi-info-prompt.conf
+++ b/tests/scripts/login-multi-info-prompt.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-multi-prompt.conf b/tests/scripts/login-multi-prompt.conf
index 7987b30e..9b765960 100644
--- a/tests/scripts/login-multi-prompt.conf
+++ b/tests/scripts/login-multi-prompt.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-new-authtok.conf b/tests/scripts/login-new-authtok.conf
index 2058e67c..b747ddda 100644
--- a/tests/scripts/login-new-authtok.conf
+++ b/tests/scripts/login-new-authtok.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -31,7 +31,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=new-authtok
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=new-authtok
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-no-password.conf b/tests/scripts/login-no-password.conf
index 04b22509..0c023122 100644
--- a/tests/scripts/login-no-password.conf
+++ b/tests/scripts/login-no-password.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -29,7 +29,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-pam.conf b/tests/scripts/login-pam.conf
index 3828a62d..4b31ecaf 100644
--- a/tests/scripts/login-pam.conf
+++ b/tests/scripts/login-pam.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -33,7 +33,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=log-pam
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=log-pam
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-pick-session.conf b/tests/scripts/login-pick-session.conf
index a624eb0d..c9e6d8de 100644
--- a/tests/scripts/login-pick-session.conf
+++ b/tests/scripts/login-pick-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -26,7 +26,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-previous-session.conf b/tests/scripts/login-previous-session.conf
index b6726cda..f567a04c 100644
--- a/tests/scripts/login-previous-session.conf
+++ b/tests/scripts/login-previous-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -26,7 +26,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=have-session
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=have-session
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-remember-session.conf b/tests/scripts/login-remember-session.conf
index 0523b7f9..097c00d1 100644
--- a/tests/scripts/login-remember-session.conf
+++ b/tests/scripts/login-remember-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -26,7 +26,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -45,7 +45,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -58,7 +58,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START NAME=alternative USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 NAME=alternative USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-remote-session.conf b/tests/scripts/login-remote-session.conf
index 1cbdad9c..c3ab9aab 100644
--- a/tests/scripts/login-remote-session.conf
+++ b/tests/scripts/login-remote-session.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -35,7 +35,7 @@
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=guest-.*
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=guest-.*
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/login-session-crash.conf b/tests/scripts/login-session-crash.conf
index 2db6ff82..a1793d62 100644
--- a/tests/scripts/login-session-crash.conf
+++ b/tests/scripts/login-session-crash.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -31,7 +31,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -50,7 +50,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-two-factor.conf b/tests/scripts/login-two-factor.conf
index 96159cac..edc669a1 100644
--- a/tests/scripts/login-two-factor.conf
+++ b/tests/scripts/login-two-factor.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-wrong-password.conf b/tests/scripts/login-wrong-password.conf
index e2d193c9..93777602 100644
--- a/tests/scripts/login-wrong-password.conf
+++ b/tests/scripts/login-wrong-password.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login-xserver-crash.conf b/tests/scripts/login-xserver-crash.conf
index 4c12aa9e..7ec72f5b 100644
--- a/tests/scripts/login-xserver-crash.conf
+++ b/tests/scripts/login-xserver-crash.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -31,7 +31,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -48,7 +48,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login.conf b/tests/scripts/login.conf
index 515d3356..cb0eede8 100644
--- a/tests/scripts/login.conf
+++ b/tests/scripts/login.conf
@@ -16,7 +16,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -31,7 +31,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/mir-autologin.conf b/tests/scripts/mir-autologin.conf
index b055b56f..9d59e043 100644
--- a/tests/scripts/mir-autologin.conf
+++ b/tests/scripts/mir-autologin.conf
@@ -19,7 +19,7 @@ user-session=mir
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/mir-session.conf b/tests/scripts/mir-session.conf
index 6121b8e0..cc1e9f7b 100644
--- a/tests/scripts/mir-session.conf
+++ b/tests/scripts/mir-session.conf
@@ -16,7 +16,7 @@ user-session=mir
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/no-accounts-service.conf b/tests/scripts/no-accounts-service.conf
index 3ee13c4a..b3f92952 100644
--- a/tests/scripts/no-accounts-service.conf
+++ b/tests/scripts/no-accounts-service.conf
@@ -20,7 +20,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/no-config.conf b/tests/scripts/no-config.conf
index 89d7ba50..da7c7444 100644
--- a/tests/scripts/no-config.conf
+++ b/tests/scripts/no-config.conf
@@ -16,7 +16,7 @@ have-config=false
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/no-console-kit-or-login1.conf b/tests/scripts/no-console-kit-or-login1.conf
index 3b2ef65e..2fb77a86 100644
--- a/tests/scripts/no-console-kit-or-login1.conf
+++ b/tests/scripts/no-console-kit-or-login1.conf
@@ -21,7 +21,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/no-console-kit.conf b/tests/scripts/no-console-kit.conf
index 3a8d9032..0b351b64 100644
--- a/tests/scripts/no-console-kit.conf
+++ b/tests/scripts/no-console-kit.conf
@@ -20,7 +20,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/no-keyboard-layout.conf b/tests/scripts/no-keyboard-layout.conf
index 58088514..62ac596c 100644
--- a/tests/scripts/no-keyboard-layout.conf
+++ b/tests/scripts/no-keyboard-layout.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/no-language.conf b/tests/scripts/no-language.conf
index 21d5459a..8d299eb4 100644
--- a/tests/scripts/no-language.conf
+++ b/tests/scripts/no-language.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/no-login1.conf b/tests/scripts/no-login1.conf
index bccc6b62..ab30b02a 100644
--- a/tests/scripts/no-login1.conf
+++ b/tests/scripts/no-login1.conf
@@ -20,7 +20,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/open-file-descriptors.conf b/tests/scripts/open-file-descriptors.conf
index a0d9dd9a..027d44ac 100644
--- a/tests/scripts/open-file-descriptors.conf
+++ b/tests/scripts/open-file-descriptors.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -32,7 +32,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/pam.conf b/tests/scripts/pam.conf
index c9456c37..c99e98c4 100644
--- a/tests/scripts/pam.conf
+++ b/tests/scripts/pam.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=log-pam
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=log-pam
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/plymouth-active-vt.conf b/tests/scripts/plymouth-active-vt.conf
index 2e2ca1a1..06e9b3a3 100644
--- a/tests/scripts/plymouth-active-vt.conf
+++ b/tests/scripts/plymouth-active-vt.conf
@@ -26,7 +26,7 @@ active=true
#?PLYMOUTH QUIT RETAIN-SPLASH=TRUE
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/plymouth-inactive-vt.conf b/tests/scripts/plymouth-inactive-vt.conf
index ec96e7dd..99549bae 100644
--- a/tests/scripts/plymouth-inactive-vt.conf
+++ b/tests/scripts/plymouth-inactive-vt.conf
@@ -20,7 +20,7 @@ active=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/power-no-console-kit.conf b/tests/scripts/power-no-console-kit.conf
index 936dbf67..fba753b9 100644
--- a/tests/scripts/power-no-console-kit.conf
+++ b/tests/scripts/power-no-console-kit.conf
@@ -16,7 +16,7 @@ disable-console-kit=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/power-no-login1.conf b/tests/scripts/power-no-login1.conf
index 62441878..5115b358 100644
--- a/tests/scripts/power-no-login1.conf
+++ b/tests/scripts/power-no-login1.conf
@@ -16,7 +16,7 @@ disable-login1=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/power-no-services.conf b/tests/scripts/power-no-services.conf
index c631d88b..71a71288 100644
--- a/tests/scripts/power-no-services.conf
+++ b/tests/scripts/power-no-services.conf
@@ -18,7 +18,7 @@ disable-login1=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/power.conf b/tests/scripts/power.conf
index 28e6f8d7..27f6ca76 100644
--- a/tests/scripts/power.conf
+++ b/tests/scripts/power.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/restart-authentication.conf b/tests/scripts/restart-authentication.conf
index 8799c649..0bcbda86 100644
--- a/tests/scripts/restart-authentication.conf
+++ b/tests/scripts/restart-authentication.conf
@@ -13,7 +13,7 @@
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/script-hook-fail-session-setup.conf b/tests/scripts/script-hook-fail-session-setup.conf
index ecc3446c..50db0649 100644
--- a/tests/scripts/script-hook-fail-session-setup.conf
+++ b/tests/scripts/script-hook-fail-session-setup.conf
@@ -21,7 +21,7 @@ user-session=default
#?SCRIPT-HOOK SESSION-SETUP
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/script-hooks.conf b/tests/scripts/script-hooks.conf
index bd33d7e2..be4cab0e 100644
--- a/tests/scripts/script-hooks.conf
+++ b/tests/scripts/script-hooks.conf
@@ -25,7 +25,7 @@ user-session=default
#?SCRIPT-HOOK SESSION-SETUP
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -51,7 +51,7 @@ user-session=default
#?SCRIPT-HOOK GREETER-SETUP
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/session-env.conf b/tests/scripts/session-env.conf
index 0ce0a4cc..651b7e06 100644
--- a/tests/scripts/session-env.conf
+++ b/tests/scripts/session-env.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/session-stderr-backup.conf b/tests/scripts/session-stderr-backup.conf
index 7273492f..5e9a0d9c 100644
--- a/tests/scripts/session-stderr-backup.conf
+++ b/tests/scripts/session-stderr-backup.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,7 +33,7 @@ user-session=default
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -42,7 +42,7 @@ user-session=default
#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
#?*GREETER-X-0 START-SESSION
#?GREETER-X-0 TERMINATE SIGNAL=15
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -62,7 +62,7 @@ user-session=default
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -71,7 +71,7 @@ user-session=default
#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
#?*GREETER-X-0 START-SESSION
#?GREETER-X-0 TERMINATE SIGNAL=15
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/session-stderr-multi-write.conf b/tests/scripts/session-stderr-multi-write.conf
index 996ccba9..0b11d92d 100644
--- a/tests/scripts/session-stderr-multi-write.conf
+++ b/tests/scripts/session-stderr-multi-write.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/session-stderr.conf b/tests/scripts/session-stderr.conf
index 7d1fb6e8..97ed4ca2 100644
--- a/tests/scripts/session-stderr.conf
+++ b/tests/scripts/session-stderr.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/session-stdout.conf b/tests/scripts/session-stdout.conf
index ab0536aa..37da1b98 100644
--- a/tests/scripts/session-stdout.conf
+++ b/tests/scripts/session-stdout.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/switch-to-greeter-new-session-logout-new.conf b/tests/scripts/switch-to-greeter-new-session-logout-new.conf
index 423e06fb..eb64e6c4 100644
--- a/tests/scripts/switch-to-greeter-new-session-logout-new.conf
+++ b/tests/scripts/switch-to-greeter-new-session-logout-new.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -52,7 +55,7 @@ user-session=default
#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-1 START USER=have-password2
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password2
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
@@ -67,7 +70,7 @@ user-session=default
#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/switch-to-greeter-new-session-logout-old.conf b/tests/scripts/switch-to-greeter-new-session-logout-old.conf
index e2864290..965a2828 100644
--- a/tests/scripts/switch-to-greeter-new-session-logout-old.conf
+++ b/tests/scripts/switch-to-greeter-new-session-logout-old.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -52,7 +55,7 @@ user-session=default
#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-1 START USER=have-password2
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password2
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
@@ -60,6 +63,15 @@ user-session=default
#?*SWITCH-TO-USER USERNAME=have-password1
#?RUNNER SWITCH-TO-USER USERNAME=have-password1
+# Existing session is unlocked
+#?LOGIN1 UNLOCK-SESSION
+
+# Switch to greeter
+#?VT ACTIVATE VT=7
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Logout of old session
#?*SESSION-X-0 LOGOUT
#?XSERVER-0 TERMINATE SIGNAL=15
@@ -71,15 +83,12 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?GREETER-X-0 CONNECTED-TO-DAEMON
-# Switch to greeter
-#?VT ACTIVATE VT=7
-
# Cleanup
#?*STOP-DAEMON
#?GREETER-X-0 TERMINATE SIGNAL=15
diff --git a/tests/scripts/switch-to-greeter-new-session.conf b/tests/scripts/switch-to-greeter-new-session.conf
index 2bf873ec..1080954a 100644
--- a/tests/scripts/switch-to-greeter-new-session.conf
+++ b/tests/scripts/switch-to-greeter-new-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -52,7 +55,7 @@ user-session=default
#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-1 START USER=have-password2
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password2
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/switch-to-greeter-return-session-logout.conf b/tests/scripts/switch-to-greeter-return-session-logout.conf
index 56842934..4102ec10 100644
--- a/tests/scripts/switch-to-greeter-return-session-logout.conf
+++ b/tests/scripts/switch-to-greeter-return-session-logout.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -50,6 +53,9 @@ user-session=default
#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
#?*GREETER-X-1 START-SESSION
+# Session is unlocked
+#?LOGIN1 UNLOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=7
@@ -68,7 +74,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/switch-to-greeter-return-session.conf b/tests/scripts/switch-to-greeter-return-session.conf
index 4688b537..20ca573a 100644
--- a/tests/scripts/switch-to-greeter-return-session.conf
+++ b/tests/scripts/switch-to-greeter-return-session.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -50,6 +53,9 @@ user-session=default
#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
#?*GREETER-X-1 START-SESSION
+# Session is unlocked
+#?LOGIN1 UNLOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=7
diff --git a/tests/scripts/switch-to-greeter.conf b/tests/scripts/switch-to-greeter.conf
index a3a40a81..a6510cc6 100644
--- a/tests/scripts/switch-to-greeter.conf
+++ b/tests/scripts/switch-to-greeter.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -33,8 +33,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/switch-to-guest.conf b/tests/scripts/switch-to-guest.conf
index 53dfb48e..d8c2813b 100644
--- a/tests/scripts/switch-to-guest.conf
+++ b/tests/scripts/switch-to-guest.conf
@@ -21,7 +21,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Default session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -37,6 +37,9 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=8
@@ -44,7 +47,7 @@ user-session=default
#?GUEST-ACCOUNT ADD USERNAME=guest-.*
# Guest session starts
-#?SESSION-X-1 START USER=guest-.*
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=guest-.*
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/switch-to-user-existing-session.conf b/tests/scripts/switch-to-user-existing-session.conf
index f56db6ca..0b33dc34 100644
--- a/tests/scripts/switch-to-user-existing-session.conf
+++ b/tests/scripts/switch-to-user-existing-session.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/switch-to-user-logout.conf b/tests/scripts/switch-to-user-logout.conf
index 0e361e8d..d6d82dcf 100644
--- a/tests/scripts/switch-to-user-logout.conf
+++ b/tests/scripts/switch-to-user-logout.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,11 +34,14 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=8
# New session starts
-#?SESSION-X-1 START USER=no-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=no-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
@@ -57,7 +60,7 @@ user-session=default
#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/switch-to-user-no-password.conf b/tests/scripts/switch-to-user-no-password.conf
index f7f78e0f..cfee1bf9 100644
--- a/tests/scripts/switch-to-user-no-password.conf
+++ b/tests/scripts/switch-to-user-no-password.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,11 +34,14 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=8
# New session starts
-#?SESSION-X-1 START USER=no-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=no-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/scripts/switch-to-user.conf b/tests/scripts/switch-to-user.conf
index 1065d0fd..539111b3 100644
--- a/tests/scripts/switch-to-user.conf
+++ b/tests/scripts/switch-to-user.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,8 +34,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
diff --git a/tests/scripts/switch-to-users.conf b/tests/scripts/switch-to-users.conf
index 3e987257..6938ea58 100644
--- a/tests/scripts/switch-to-users.conf
+++ b/tests/scripts/switch-to-users.conf
@@ -18,7 +18,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -34,11 +34,14 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# Switch to session
#?VT ACTIVATE VT=8
# New session starts
-#?SESSION-X-1 START USER=no-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=no-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
@@ -57,8 +60,11 @@ user-session=default
# Switch to session
#?VT ACTIVATE VT=9
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
# New session starts
-#?SESSION-X-2 START USER=no-password2
+#?SESSION-X-2 START XDG_SEAT=seat0 XDG_VTNR=9 USER=no-password2
#?XSERVER-2 ACCEPT-CONNECT
#?SESSION-X-2 CONNECT-XSERVER
diff --git a/tests/scripts/system-xauthority.conf b/tests/scripts/system-xauthority.conf
index 91125a7b..ea650c32 100644
--- a/tests/scripts/system-xauthority.conf
+++ b/tests/scripts/system-xauthority.conf
@@ -20,7 +20,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/unity-autologin.conf b/tests/scripts/unity-autologin.conf
index fa5b1e0c..7882e8a8 100644
--- a/tests/scripts/unity-autologin.conf
+++ b/tests/scripts/unity-autologin.conf
@@ -22,7 +22,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/unity-compositor-command.conf b/tests/scripts/unity-compositor-command.conf
index fa5900fe..01a2b01e 100644
--- a/tests/scripts/unity-compositor-command.conf
+++ b/tests/scripts/unity-compositor-command.conf
@@ -22,7 +22,7 @@ unity-compositor-command=unity-system-compositor --test
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/unity-compositor-fail-ready.conf b/tests/scripts/unity-compositor-fail-ready.conf
index 6068cf07..4b847e9a 100644
--- a/tests/scripts/unity-compositor-fail-ready.conf
+++ b/tests/scripts/unity-compositor-fail-ready.conf
@@ -23,7 +23,7 @@ unity-compositor-timeout=1
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/unity-compositor-fail-start.conf b/tests/scripts/unity-compositor-fail-start.conf
index a4dd6240..2edcdf52 100644
--- a/tests/scripts/unity-compositor-fail-start.conf
+++ b/tests/scripts/unity-compositor-fail-start.conf
@@ -23,7 +23,7 @@ type=unity
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/unity-login.conf b/tests/scripts/unity-login.conf
index 0c48b4db..c27f70a0 100644
--- a/tests/scripts/unity-login.conf
+++ b/tests/scripts/unity-login.conf
@@ -21,7 +21,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -39,7 +39,7 @@ user-session=default
#?GREETER-X-0 TERMINATE SIGNAL=15
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/unity-mir-autologin.conf b/tests/scripts/unity-mir-autologin.conf
index c9b6ca1a..61914365 100644
--- a/tests/scripts/unity-mir-autologin.conf
+++ b/tests/scripts/unity-mir-autologin.conf
@@ -14,7 +14,7 @@ user-session=mir
#?*UNITY-SYSTEM-COMPOSITOR READY
# Session starts
-#?SESSION-MIR-0 START USER=have-password1
+#?SESSION-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
# System compositor switches to session
#?UNITY-SYSTEM-COMPOSITOR SET-ACTIVE-SESSION ID=0
diff --git a/tests/scripts/unity-mir-greeter-mir-session.conf b/tests/scripts/unity-mir-greeter-mir-session.conf
index 46db3a6a..a9935d99 100644
--- a/tests/scripts/unity-mir-greeter-mir-session.conf
+++ b/tests/scripts/unity-mir-greeter-mir-session.conf
@@ -13,7 +13,7 @@ user-session=mir
#?*UNITY-SYSTEM-COMPOSITOR READY
# Greeter starts
-#?GREETER-MIR-0 START
+#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?GREETER-MIR-0 CONNECT-TO-DAEMON
#?GREETER-MIR-0 CONNECTED-TO-DAEMON
@@ -26,7 +26,7 @@ user-session=mir
#?*GREETER-MIR-0 START-SESSION
# Session starts
-#?SESSION-MIR-1 START USER=no-password1
+#?SESSION-MIR-1 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
# System compositor switches to session
#?UNITY-SYSTEM-COMPOSITOR SET-ACTIVE-SESSION ID=1
diff --git a/tests/scripts/unity-mir-greeter-x-session.conf b/tests/scripts/unity-mir-greeter-x-session.conf
index ca0f75cc..8824b006 100644
--- a/tests/scripts/unity-mir-greeter-x-session.conf
+++ b/tests/scripts/unity-mir-greeter-x-session.conf
@@ -13,7 +13,7 @@ user-session=default
#?*UNITY-SYSTEM-COMPOSITOR READY
# Greeter starts
-#?GREETER-MIR-0 START
+#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?GREETER-MIR-0 CONNECT-TO-DAEMON
#?GREETER-MIR-0 CONNECTED-TO-DAEMON
@@ -34,7 +34,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=no-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/unity-mir-session-x-greeter.conf b/tests/scripts/unity-mir-session-x-greeter.conf
index b7294c4f..07bafa9b 100644
--- a/tests/scripts/unity-mir-session-x-greeter.conf
+++ b/tests/scripts/unity-mir-session-x-greeter.conf
@@ -21,7 +21,7 @@ user-session=mir
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -36,7 +36,7 @@ user-session=mir
#?*GREETER-X-0 START-SESSION
# Session starts
-#?SESSION-MIR-1 START USER=no-password1
+#?SESSION-MIR-1 START XDG_SEAT=seat0 XDG_VTNR=7 USER=no-password1
# System compositor switches to session
#?UNITY-SYSTEM-COMPOSITOR SET-ACTIVE-SESSION ID=1
diff --git a/tests/scripts/unity-plymouth.conf b/tests/scripts/unity-plymouth.conf
index 7fa2095b..d32e51de 100644
--- a/tests/scripts/unity-plymouth.conf
+++ b/tests/scripts/unity-plymouth.conf
@@ -32,7 +32,7 @@ active=true
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/unity-switch.conf b/tests/scripts/unity-switch.conf
index 9587e1f9..80210fe2 100644
--- a/tests/scripts/unity-switch.conf
+++ b/tests/scripts/unity-switch.conf
@@ -22,7 +22,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
@@ -41,8 +41,11 @@ user-session=default
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
+# Lock session
+#?LOGIN1 LOCK-SESSION
+
# Greeter starts
-#?GREETER-X-1 START
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
@@ -60,7 +63,7 @@ user-session=default
#?GREETER-X-1 TERMINATE SIGNAL=15
# New session starts
-#?SESSION-X-1 START USER=have-password2
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password2
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
@@ -75,7 +78,7 @@ user-session=default
#?XSERVER-2 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-2 START
+#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-2 ACCEPT-CONNECT
#?GREETER-X-2 CONNECT-XSERVER
#?GREETER-X-2 CONNECT-TO-DAEMON
diff --git a/tests/scripts/login1.conf b/tests/scripts/upstart-autologin.conf
index c09ef2a2..853b3918 100644
--- a/tests/scripts/login1.conf
+++ b/tests/scripts/upstart-autologin.conf
@@ -1,11 +1,14 @@
#
-# Check logind variables are set in session
+# Check emits upstart events on autologin
#
[SeatDefaults]
autologin-user=have-password1
user-session=default
+[test-initctl-config]
+report-events=true
+
#?RUNNER DAEMON-START
# X server starts
@@ -16,17 +19,14 @@ user-session=default
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
+#?INIT -q emit login-session-start DISPLAY_MANAGER=lightdm
+#?INIT -q emit desktop-session-start DISPLAY_MANAGER=lightdm
+
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
-# Check environment variables
-#?*SESSION-X-0 READ-ENV NAME=XDG_SEAT
-#?SESSION-X-0 READ-ENV NAME=XDG_SEAT VALUE=seat0
-#?*SESSION-X-0 READ-ENV NAME=XDG_VTNR
-#?SESSION-X-0 READ-ENV NAME=XDG_VTNR VALUE=7
-
# Cleanup
#?*STOP-DAEMON
#?SESSION-X-0 TERMINATE SIGNAL=15
diff --git a/tests/scripts/upstart-login.conf b/tests/scripts/upstart-login.conf
new file mode 100644
index 00000000..c4473238
--- /dev/null
+++ b/tests/scripts/upstart-login.conf
@@ -0,0 +1,49 @@
+#
+# Check emits upstart events on login
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-initctl-config]
+report-events=true
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+#?INIT -q emit login-session-start DISPLAY_MANAGER=lightdm
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+
+#?INIT -q emit desktop-session-start DISPLAY_MANAGER=lightdm
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/user-renamed-invalid.conf b/tests/scripts/user-renamed-invalid.conf
index f8091b75..5c87285a 100644
--- a/tests/scripts/user-renamed-invalid.conf
+++ b/tests/scripts/user-renamed-invalid.conf
@@ -19,7 +19,7 @@ user-session=default
# (fails to start session for invalid user)
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/user-renamed.conf b/tests/scripts/user-renamed.conf
index db791500..c1a57e18 100644
--- a/tests/scripts/user-renamed.conf
+++ b/tests/scripts/user-renamed.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=change-user2
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=change-user2
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/users.conf b/tests/scripts/users.conf
index d50f1dc3..71d84757 100644
--- a/tests/scripts/users.conf
+++ b/tests/scripts/users.conf
@@ -19,7 +19,7 @@ log-user-changes=true
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
diff --git a/tests/scripts/util-path.conf b/tests/scripts/util-path.conf
index ac923a8b..66fabe53 100644
--- a/tests/scripts/util-path.conf
+++ b/tests/scripts/util-path.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/xauthority.conf b/tests/scripts/xauthority.conf
index 5868409d..5f73d1e8 100644
--- a/tests/scripts/xauthority.conf
+++ b/tests/scripts/xauthority.conf
@@ -17,7 +17,7 @@ user-session=default
#?XSERVER-0 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-0 START USER=have-password1
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 USER=have-password1
#?XSERVER-0 ACCEPT-CONNECT
#?SESSION-X-0 CONNECT-XSERVER
diff --git a/tests/scripts/xdg-current-desktop.conf b/tests/scripts/xdg-current-desktop.conf
new file mode 100644
index 00000000..2eae1a68
--- /dev/null
+++ b/tests/scripts/xdg-current-desktop.conf
@@ -0,0 +1,28 @@
+#
+# Check XDG_CURRENT_DESKTOP is set for sessions that support it
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=named
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_CURRENT_DESKTOP=TestDesktop USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xserver-no-share.conf b/tests/scripts/xserver-no-share.conf
index c32d0aa3..fac3e973 100644
--- a/tests/scripts/xserver-no-share.conf
+++ b/tests/scripts/xserver-no-share.conf
@@ -17,7 +17,7 @@ xserver-share=false
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -39,7 +39,7 @@ xserver-share=false
#?XSERVER-1 ACCEPT-CONNECT
# Session starts
-#?SESSION-X-1 START USER=have-password1
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 USER=have-password1
#?XSERVER-1 ACCEPT-CONNECT
#?SESSION-X-1 CONNECT-XSERVER
diff --git a/tests/src/Makefile.am b/tests/src/Makefile.am
index 733e6b6f..ccfb0e4a 100644
--- a/tests/src/Makefile.am
+++ b/tests/src/Makefile.am
@@ -191,7 +191,7 @@ test_session_LDADD = \
$(GIO_UNIX_LIBS) \
$(XCB_LIBS)
-initctl_SOURCES = initctl.c
+initctl_SOURCES = initctl.c status.c status.h
initctl_CFLAGS = \
$(WARN_CFLAGS) \
$(GLIB_CFLAGS) \
diff --git a/tests/src/initctl.c b/tests/src/initctl.c
index 428771f0..5d97b81f 100644
--- a/tests/src/initctl.c
+++ b/tests/src/initctl.c
@@ -2,8 +2,29 @@
#include <string.h>
#include <glib.h>
+#include "status.h"
+
+static GKeyFile *config;
+
int
main (int argc, char **argv)
{
+ status_connect (NULL);
+
+ config = g_key_file_new ();
+ g_key_file_load_from_file (config, g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), "script", NULL), G_KEY_FILE_NONE, NULL);
+
+ if (g_key_file_get_boolean (config, "test-initctl-config", "report-events", NULL))
+ {
+ GString *status_text;
+ int i;
+
+ status_text = g_string_new ("INIT");
+ for (i = 1; i < argc; i++)
+ g_string_append_printf (status_text, " %s", argv[i]);
+ status_notify (status_text->str);
+ g_string_free (status_text, TRUE);
+ }
+
return EXIT_SUCCESS;
}
diff --git a/tests/src/libsystem.c b/tests/src/libsystem.c
index b5f17de7..5cbf203f 100644
--- a/tests/src/libsystem.c
+++ b/tests/src/libsystem.c
@@ -290,6 +290,10 @@ access (const char *pathname, int mode)
gchar *new_path = NULL;
int ret;
+ /* Look like systemd is always running */
+ if (strcmp (pathname, "/run/systemd/seats/") == 0)
+ return 1;
+
_access = (int (*)(const char *pathname, int mode)) dlsym (RTLD_NEXT, "access");
new_path = redirect_path (pathname);
diff --git a/tests/src/test-gobject-greeter.c b/tests/src/test-gobject-greeter.c
index cfe4612a..cd8af447 100644
--- a/tests/src/test-gobject-greeter.c
+++ b/tests/src/test-gobject-greeter.c
@@ -299,7 +299,7 @@ user_removed_cb (LightDMUserList *user_list, LightDMUser *user)
int
main (int argc, char **argv)
{
- gchar *display, *mir_socket, *mir_vt, *mir_id;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *mir_socket, *mir_vt, *mir_id;
GString *status_text;
#if !defined(GLIB_VERSION_2_36)
@@ -307,6 +307,9 @@ main (int argc, char **argv)
#endif
display = getenv ("DISPLAY");
+ xdg_seat = getenv ("XDG_SEAT");
+ xdg_vtnr = getenv ("XDG_VTNR");
+ xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
mir_socket = getenv ("MIR_SERVER_FILE");
mir_vt = getenv ("MIR_SERVER_VT");
mir_id = getenv ("MIR_ID");
@@ -333,8 +336,14 @@ main (int argc, char **argv)
status_text = g_string_new ("");
g_string_printf (status_text, "%s START", greeter_id);
+ if (xdg_seat)
+ g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);
+ if (xdg_vtnr)
+ g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
+ if (xdg_session_cookie)
+ g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
if (mir_vt > 0)
- g_string_append_printf (status_text, " VT=%s", mir_vt);
+ g_string_append_printf (status_text, " MIR_SERVER_VT=%s", mir_vt);
status_notify (status_text->str);
g_string_free (status_text, TRUE);
diff --git a/tests/src/test-python-greeter b/tests/src/test-python-greeter
index af96f7e8..eee8575a 100755
--- a/tests/src/test-python-greeter
+++ b/tests/src/test-python-greeter
@@ -10,6 +10,9 @@ from gi.repository import GLib
from gi.repository import LightDM
display = os.getenv ('DISPLAY');
+xdg_seat = os.getenv ('XDG_SEAT');
+xdg_vtnr = os.getenv ('XDG_VTNR');
+xdg_session_cookie = os.getenv ('XDG_SESSION_COOKIE');
if display is not None:
if display.startswith (':'):
greeter_id = 'GREETER-X-%s' % display[1:]
@@ -186,7 +189,14 @@ status_socket = socket.socket (socket.AF_UNIX, socket.SOCK_STREAM)
status_socket.connect (path)
GLib.io_add_watch (status_socket.fileno (), GLib.IO_IN | GLib.IO_HUP, request_cb)
-status_notify ('%s START' % greeter_id)
+status_text = '%s START' % greeter_id
+if xdg_seat is not None:
+ status_text += ' XDG_SEAT=%s' % xdg_seat
+if xdg_vtnr is not None:
+ status_text += ' XDG_VTNR=%s' % xdg_vtnr
+if xdg_session_cookie is not None:
+ status_text += ' XDG_SESSION_COOKIE=%s' % xdg_session_cookie
+status_notify (status_text)
config = GLib.KeyFile ()
config.load_from_file (os.getenv ('LIGHTDM_TEST_ROOT') + '/script', GLib.KeyFileFlags.NONE)
diff --git a/tests/src/test-qt-greeter.cpp b/tests/src/test-qt-greeter.cpp
index 06a4d3b3..99e2ef7b 100644
--- a/tests/src/test-qt-greeter.cpp
+++ b/tests/src/test-qt-greeter.cpp
@@ -243,13 +243,17 @@ request_cb (const gchar *request)
int
main(int argc, char *argv[])
{
- gchar *display;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie;
+ GString *status_text;
#if !defined(GLIB_VERSION_2_36)
g_type_init ();
#endif
display = getenv ("DISPLAY");
+ xdg_seat = getenv ("XDG_SEAT");
+ xdg_vtnr = getenv ("XDG_VTNR");
+ xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
if (display)
{
if (display[0] == ':')
@@ -267,7 +271,16 @@ main(int argc, char *argv[])
signal (SIGINT, signal_cb);
signal (SIGTERM, signal_cb);
- status_notify ("%s START", greeter_id);
+ status_text = g_string_new ("");
+ g_string_printf (status_text, "%s START", greeter_id);
+ if (xdg_seat)
+ g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);
+ if (xdg_vtnr)
+ g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
+ if (xdg_session_cookie)
+ g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
+ status_notify (status_text->str);
+ g_string_free (status_text, TRUE);
config = new QSettings (g_build_filename (getenv ("LIGHTDM_TEST_ROOT"), "script", NULL), QSettings::IniFormat);
diff --git a/tests/src/test-runner.c b/tests/src/test-runner.c
index 7dc95992..526bb73e 100644
--- a/tests/src/test-runner.c
+++ b/tests/src/test-runner.c
@@ -85,10 +85,11 @@ typedef struct
gchar *cookie;
gchar *path;
guint id;
+ gboolean locked;
} CKSession;
static GList *ck_sessions = NULL;
static gint ck_session_index = 0;
-static void handle_session_call (GDBusConnection *connection,
+static void handle_ck_session_call (GDBusConnection *connection,
const gchar *sender,
const gchar *object_path,
const gchar *interface_name,
@@ -98,13 +99,14 @@ static void handle_session_call (GDBusConnection *connection,
gpointer user_data);
static const GDBusInterfaceVTable ck_session_vtable =
{
- handle_session_call,
+ handle_ck_session_call,
};
typedef struct
{
gchar *path;
guint pid;
+ gboolean locked;
} Login1Session;
static GList *login1_sessions = NULL;
@@ -1001,22 +1003,32 @@ handle_ck_call (GDBusConnection *connection,
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
}
-
-/* Shared between CK and Login1 - identical signatures */
static void
-handle_session_call (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
+handle_ck_session_call (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusMethodInvocation *invocation,
+ gpointer user_data)
{
+ CKSession *session = user_data;
+
if (strcmp (method_name, "Lock") == 0)
+ {
+ if (!session->locked)
+ check_status ("CONSOLE-KIT LOCK-SESSION");
+ session->locked = TRUE;
g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
+ }
else if (strcmp (method_name, "Unlock") == 0)
+ {
+ if (session->locked)
+ check_status ("CONSOLE-KIT UNLOCK-SESSION");
+ session->locked = FALSE;
g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
+ }
else
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
}
@@ -1118,6 +1130,36 @@ start_console_kit_daemon (void)
NULL);
}
+static void
+handle_login1_session_call (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusMethodInvocation *invocation,
+ gpointer user_data)
+{
+ Login1Session *session = user_data;
+
+ if (strcmp (method_name, "Lock") == 0)
+ {
+ if (!session->locked)
+ check_status ("LOGIN1 LOCK-SESSION");
+ session->locked = TRUE;
+ g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
+ }
+ else if (strcmp (method_name, "Unlock") == 0)
+ {
+ if (session->locked)
+ check_status ("LOGIN1 UNLOCK-SESSION");
+ session->locked = FALSE;
+ g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
+ }
+ else
+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
+}
+
static Login1Session *
open_login1_session (GDBusConnection *connection,
GVariant *params)
@@ -1135,7 +1177,7 @@ open_login1_session (GDBusConnection *connection,
"</node>";
static const GDBusInterfaceVTable login1_session_vtable =
{
- handle_session_call,
+ handle_login1_session_call,
};
session = g_malloc0 (sizeof (Login1Session));
diff --git a/tests/src/test-session.c b/tests/src/test-session.c
index eb96a795..1b2b78cc 100644
--- a/tests/src/test-session.c
+++ b/tests/src/test-session.c
@@ -167,11 +167,15 @@ request_cb (const gchar *request)
int
main (int argc, char **argv)
{
- gchar *display, *mir_socket, *mir_vt, *mir_id;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_current_desktop, *xdg_session_cookie, *mir_socket, *mir_vt, *mir_id;
GString *status_text;
int fd, open_max;
display = getenv ("DISPLAY");
+ xdg_seat = getenv ("XDG_SEAT");
+ xdg_vtnr = getenv ("XDG_VTNR");
+ xdg_current_desktop = getenv ("XDG_CURRENT_DESKTOP");
+ xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
mir_socket = getenv ("MIR_SERVER_FILE");
mir_vt = getenv ("MIR_SERVER_VT");
mir_id = getenv ("MIR_ID");
@@ -212,8 +216,16 @@ main (int argc, char **argv)
status_text = g_string_new ("");
g_string_printf (status_text, "%s START", session_id);
+ if (xdg_seat)
+ g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);
+ if (xdg_vtnr)
+ g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
+ if (xdg_current_desktop)
+ g_string_append_printf (status_text, " XDG_CURRENT_DESKTOP=%s", xdg_current_desktop);
+ if (xdg_session_cookie)
+ g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
if (mir_vt > 0)
- g_string_append_printf (status_text, " VT=%s", mir_vt);
+ g_string_append_printf (status_text, " MIR_SERVER_VT=%s", mir_vt);
if (argc > 1)
g_string_append_printf (status_text, " NAME=%s", argv[1]);
g_string_append_printf (status_text, " USER=%s", getenv ("USER"));
diff --git a/tests/test-lock-seat-console-kit b/tests/test-lock-seat-console-kit
new file mode 100755
index 00000000..8e709687
--- /dev/null
+++ b/tests/test-lock-seat-console-kit
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner lock-seat-console-kit test-gobject-greeter
diff --git a/tests/test-lock-seat-return-session-console-kit b/tests/test-lock-seat-return-session-console-kit
new file mode 100755
index 00000000..2a1df670
--- /dev/null
+++ b/tests/test-lock-seat-return-session-console-kit
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner lock-seat-return-session-console-kit test-gobject-greeter
diff --git a/tests/test-login1 b/tests/test-login1
deleted file mode 100755
index 9c4fba8d..00000000
--- a/tests/test-login1
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-./src/dbus-env ./src/test-runner login1 test-gobject-greeter
diff --git a/tests/test-upstart-autologin b/tests/test-upstart-autologin
new file mode 100755
index 00000000..16cb197d
--- /dev/null
+++ b/tests/test-upstart-autologin
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner upstart-autologin test-gobject-greeter
diff --git a/tests/test-upstart-login b/tests/test-upstart-login
new file mode 100755
index 00000000..c8b7dab3
--- /dev/null
+++ b/tests/test-upstart-login
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner upstart-login test-gobject-greeter
diff --git a/tests/test-xdg-current-desktop b/tests/test-xdg-current-desktop
new file mode 100755
index 00000000..495f9405
--- /dev/null
+++ b/tests/test-xdg-current-desktop
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner xdg-current-desktop test-gobject-greeter