--- lightdm-0.9.3.orig/NEWS +++ lightdm-0.9.3/NEWS @@ -1,3 +1,27 @@ +Overview of changes in lightdm 0.9.5 + + * Use accounts service in the daemon if it is available + +Overview of changes in lightdm 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 + Overview of changes in lightdm 0.9.3 * Unlock ConsoleKit sessions when switching to them --- lightdm-0.9.3.orig/Makefile.am +++ lightdm-0.9.3/Makefile.am @@ -5,7 +5,7 @@ if COMPILE_LIBLIGHTDM_QT SUBDIRS += liblightdm-qt endif -SUBDIRS += data greeters po src doc tests +SUBDIRS += data greeters po src doc tests utils DISTCHECK_CONFIGURE_FLAGS = --enable-introspection --enable-gtk-doc --- lightdm-0.9.3.orig/configure.ac +++ lightdm-0.9.3/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(lightdm, 0.9.3) +AC_INIT(lightdm, 0.9.4) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE @@ -195,6 +195,7 @@ src/Makefile tests/Makefile tests/src/Makefile +utils/Makefile ]) AC_OUTPUT --- lightdm-0.9.3.orig/po/eo.po +++ lightdm-0.9.3/po/eo.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/bs.po +++ lightdm-0.9.3/po/bs.po @@ -0,0 +1,101 @@ +# Bosnian translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-15 15:46+0000\n" +"Last-Translator: Daniel4x \n" +"Language-Team: Bosnian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-18 04:48+0000\n" +"X-Generator: Launchpad (build 13697)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" +"Jeste li sigurni da želite zatvoriti sve programe i isključiti računar?" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/tr.po +++ lightdm-0.9.3/po/tr.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/id.po +++ lightdm-0.9.3/po/id.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/sk.po +++ lightdm-0.9.3/po/sk.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/lb.po +++ lightdm-0.9.3/po/lb.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/de.po +++ lightdm-0.9.3/po/de.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ms.po +++ lightdm-0.9.3/po/ms.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ca.po +++ lightdm-0.9.3/po/ca.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/it.po +++ lightdm-0.9.3/po/it.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ru.po +++ lightdm-0.9.3/po/ru.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/pl.po +++ lightdm-0.9.3/po/pl.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/wae.po +++ lightdm-0.9.3/po/wae.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/sr.po +++ lightdm-0.9.3/po/sr.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ug.po +++ lightdm-0.9.3/po/ug.po @@ -0,0 +1,100 @@ +# Uyghur translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-11 07:42+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Uyghur \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-12 04:45+0000\n" +"X-Generator: Launchpad (build 13662)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "ھەممە پروگراممىنى ئېتىپ كومپيۇتېرنى قايتا قوزغامسىز؟" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "ئەمەلدىن قالدۇر" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "قايتا قوزغات" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "تاقا" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "توڭلات" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "ئۈچەك" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "قايتا قوزغات…" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "تاقا…" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/en_AU.po +++ lightdm-0.9.3/po/en_AU.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/gd.po +++ lightdm-0.9.3/po/gd.po @@ -0,0 +1,100 @@ +# Gaelic; Scottish translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-16 22:47+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gaelic; Scottish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-18 04:48+0000\n" +"X-Generator: Launchpad (build 13697)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/uk.po +++ lightdm-0.9.3/po/uk.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ast.po +++ lightdm-0.9.3/po/ast.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/he.po +++ lightdm-0.9.3/po/he.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/da.po +++ lightdm-0.9.3/po/da.po @@ -15,8 +15,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/eu.po +++ lightdm-0.9.3/po/eu.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/POTFILES.in +++ lightdm-0.9.3/po/POTFILES.in @@ -4,3 +4,5 @@ [type: gettext/glade]greeters/gtk/greeter.ui greeters/gtk/lightdm-gtk-greeter.c src/lightdm.c +utils/lightdm-set-defaults.c +utils/dm-tool.c --- lightdm-0.9.3.orig/po/ia.po +++ lightdm-0.9.3/po/ia.po @@ -0,0 +1,100 @@ +# Interlingua translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-11 05:03+0000\n" +"Last-Translator: Emilio Sepulveda \n" +"Language-Team: Interlingua \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-12 04:45+0000\n" +"X-Generator: Launchpad (build 13662)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "Cancellar" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "Re-initiar" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "Optiones" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "Linguage" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "Disposition de claviero" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "Session" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "Suspender" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "Hibernar" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "Reinitiar..." + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/bg.po +++ lightdm-0.9.3/po/bg.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/en_GB.po +++ lightdm-0.9.3/po/en_GB.po @@ -0,0 +1,100 @@ +# English (United Kingdom) translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-07-30 12:47+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (United Kingdom) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/ml.po +++ lightdm-0.9.3/po/ml.po @@ -0,0 +1,100 @@ +# Malayalam translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-07-31 12:10+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Malayalam \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/es.po +++ lightdm-0.9.3/po/es.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/zh_CN.po +++ lightdm-0.9.3/po/zh_CN.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/be.po +++ lightdm-0.9.3/po/be.po @@ -0,0 +1,100 @@ +# Belarusian translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-07-27 04:54+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Belarusian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/pt.po +++ lightdm-0.9.3/po/pt.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/oc.po +++ lightdm-0.9.3/po/oc.po @@ -0,0 +1,100 @@ +# Occitan (post 1500) translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-14 13:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Occitan (post 1500) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-15 04:42+0000\n" +"X-Generator: Launchpad (build 13674)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/cs.po +++ lightdm-0.9.3/po/cs.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/lt.po +++ lightdm-0.9.3/po/lt.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/gl.po +++ lightdm-0.9.3/po/gl.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ta.po +++ lightdm-0.9.3/po/ta.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/nl.po +++ lightdm-0.9.3/po/nl.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/fi.po +++ lightdm-0.9.3/po/fi.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/fr.po +++ lightdm-0.9.3/po/fr.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ro.po +++ lightdm-0.9.3/po/ro.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/el.po +++ lightdm-0.9.3/po/el.po @@ -0,0 +1,104 @@ +# Greek translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-07-26 21:30+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" +"Είστε βέβαιοι ότι θέλετε να κλείσετε όλα τα προγράμματα και να " +"επανεκκινήσετε τον υπολογιστή;" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "Ακύρωση" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "Επανεκκίνηση" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" +"Είστε βέβαιοι ότι θέλετε να κλείσετε όλα τα προγράμματα και να " +"απενεργοποιήσετε τον υπολογιστή;" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "Τερματισμός" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "Μεγάλη γραμματοσειρά" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "Αναμονή" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "Αδρανοποίηση" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "Επανεκκίνηση..." + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "Τερματισμός..." + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/ja.po +++ lightdm-0.9.3/po/ja.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/sv.po +++ lightdm-0.9.3/po/sv.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ko.po +++ lightdm-0.9.3/po/ko.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/sq.po +++ lightdm-0.9.3/po/sq.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/th.po +++ lightdm-0.9.3/po/th.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/pt_BR.po +++ lightdm-0.9.3/po/pt_BR.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/ar.po +++ lightdm-0.9.3/po/ar.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/hu.po +++ lightdm-0.9.3/po/hu.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/sl.po +++ lightdm-0.9.3/po/sl.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/kk.po +++ lightdm-0.9.3/po/kk.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/et.po +++ lightdm-0.9.3/po/et.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:40+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/vi.po +++ lightdm-0.9.3/po/vi.po @@ -0,0 +1,100 @@ +# Vietnamese translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-07-31 12:25+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "Bạn có chắc muốn đóng tất cả chương trình và khởi động lại máy tính?" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "Hủy bỏ" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "Khởi động lại" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "Bạn có chắc muốn đóng tất cả chương trình và tắt máy tính?" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "Tắt máy" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "Phông chữ Lớn" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "Tạm ngưng" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "Ngủ đông" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "Khởi động lại..." + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "Tắt máy..." + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/te.po +++ lightdm-0.9.3/po/te.po @@ -0,0 +1,100 @@ +# Telugu translation for lightdm +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the lightdm package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: lightdm\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2010-12-06 11:05+0000\n" +"PO-Revision-Date: 2011-08-02 13:14+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Telugu \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:322 +msgid "Are you sure you want to close all programs and restart the computer?" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:1 +msgid "Cancel" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:323 +msgid "Restart" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:347 +msgid "" +"Are you sure you want to close all programs and shutdown the computer?" +msgstr "" + +#: ../greeters/gtk/lightdm-gtk-greeter.c:348 +msgid "Shutdown" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:4 +msgid "Large Font" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:611 +msgid "High Constrast" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:615 +msgid "Options" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:620 +msgid "Language" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:646 +msgid "Keyboard Layout" +msgstr "" + +#: ../greeters/ldm-gtk-greeter.c:668 +msgid "Session" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:8 +msgid "Suspend" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:2 +msgid "Hibernate" +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:6 +msgid "Restart..." +msgstr "" + +#: ../greeters/gtk/greeter.ui.h:7 +msgid "Shutdown..." +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:100 +#, c-format +msgid "" +"Usage:\n" +" %s - Display Manager" +msgstr "" + +#. Description on how to use Light Display Manager displayed on command-line +#: ../src/lightdm.c:106 +#, c-format +msgid "" +"Help Options:\n" +" -c, --config Use configuration file\n" +" --pid-file File to write PID into\n" +" -d, --debug Print debugging messages\n" +" --test-mode Run as unprivileged user\n" +" -v, --version Show release version\n" +" -h, --help Show help options" +msgstr "" --- lightdm-0.9.3.orig/po/zh_TW.po +++ lightdm-0.9.3/po/zh_TW.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/nb.po +++ lightdm-0.9.3/po/nb.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/po/hr.po +++ lightdm-0.9.3/po/hr.po @@ -14,8 +14,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-08-09 04:56+0000\n" -"X-Generator: Launchpad (build 13628)\n" +"X-Launchpad-Export-Date: 2011-08-10 04:41+0000\n" +"X-Generator: Launchpad (build 13636)\n" #: ../greeters/gtk/lightdm-gtk-greeter.c:322 msgid "Are you sure you want to close all programs and restart the computer?" --- lightdm-0.9.3.orig/data/lightdm.conf +++ lightdm-0.9.3/data/lightdm.conf @@ -10,6 +10,8 @@ # log-directory = Directory to log information to # run-directory = Directory to put running state in # cache-directory = Directory to cache to +# xsessions-directory = Directory to find X sessions +# xgreeters-directory = Directory to find X greeters # [LightDM] #start-default-seat=true @@ -21,6 +23,8 @@ #log-directory=/var/log/lightdm #run-directory=/var/run/lightdm #cache-directory=/var/cache/lightdm +#xsessions-directory=/usr/share/xsessions +#xgreeters-directory=/usr/share/xgreeters # # Seat defaults @@ -31,8 +35,6 @@ # xdmcp-manager = XDMCP manager to connect to # xdmcp-port = XDMCP UDP/IP port to communicate on # xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) -# xsessions-directory = Directory to find X sessions -# xgreeters-directory = Directory to find X greeters # greeter-session = Session to load for greeter # greeter-hide-users = True to hide the user list # user-session = Session to load for users @@ -51,8 +53,6 @@ #xdmcp-manager= #xdmcp-port=177 #xdmcp-key= -#xsessions-directory=/usr/share/xsessions -#xgreeters-directory=/usr/share/xgreeters #greeter-session=example-gtk-gnome #greeter-hide-users=false #user-session=default --- lightdm-0.9.3.orig/debian/lightdm-session +++ lightdm-0.9.3/debian/lightdm-session @@ -0,0 +1,81 @@ +#!/bin/sh +# +# LightDM wrapper to run around X sessions. + +echo "Running X session wrapper" + +# 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 $@ --- lightdm-0.9.3.orig/debian/lightdm.upstart +++ lightdm-0.9.3/debian/lightdm.upstart @@ -0,0 +1,37 @@ +# 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 " + +start on (filesystem + and started dbus + and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 + or stopped udevtrigger)) +stop on runlevel [016] + +emits starting-dm + +script + if [ -n "$UPSTART_EVENTS" ] + then + [ ! -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; } + + # Check kernel command-line for inhibitors + for ARG in $(cat /proc/cmdline) + do + case "${ARG}" in + text|-s|s|S|single) + plymouth quit || : # We have the ball here + exit 0 + ;; + esac + done + fi + + exec lightdm +end script --- lightdm-0.9.3.orig/debian/liblightdm-gobject-1-dev.install +++ lightdm-0.9.3/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 --- lightdm-0.9.3.orig/debian/lightdm.prerm +++ lightdm-0.9.3/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 . +# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava. +# based on gdm pre-removal script + +set -e + +THIS_PACKAGE=lightdm +DAEMON=/usr/bin/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 --- lightdm-0.9.3.orig/debian/guest-account +++ lightdm-0.9.3/debian/guest-account @@ -0,0 +1,143 @@ +#!/bin/sh -e +# (C) 2008 Canonical Ltd. +# Author: Martin Pitt +# 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 screensaver, to avoid locking guest out of itself (no password) + su $USER <> "$HOME"/.config/autostart/"$service" + fi + done + + # 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" | xargs 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 --- lightdm-0.9.3.orig/debian/lightdm-qt-greeter.install +++ lightdm-0.9.3/debian/lightdm-qt-greeter.install @@ -0,0 +1,2 @@ +usr/sbin/lightdm-qt-greeter +usr/share/xgreeters/lightdm-qt-greeter.desktop \ No newline at end of file --- lightdm-0.9.3.orig/debian/source_lightdm.py +++ lightdm-0.9.3/debian/source_lightdm.py @@ -0,0 +1,13 @@ +import os +import re + +import apport.packaging +import apport.hookutils + +def add_info(report, ui): + + report["Log"] = apport.hookutils.read_file("/var/log/lightdm/:0.log") + report["LightdmLog"] = apport.hookutils.read_file("/var/log/lightdm/lightdm.log") + report["GreeterLog"] = apport.hookutils.read_file("/var/log/lightdm/:0-greeter.log") + report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log") + --- lightdm-0.9.3.orig/debian/compat +++ lightdm-0.9.3/debian/compat @@ -0,0 +1 @@ +7 --- lightdm-0.9.3.orig/debian/copyright +++ lightdm-0.9.3/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 +Source: https://launchpad.net/lightdm + +Files: * +Copyright: 2010, Robert Ancell +License: GPL-3+ + +Files: liblightdm-gobject/* liblightdm-qt/* +Copyright: 2010, Robert Ancell +License: LGPL-3+ + +Files: debian/* +Copyright: + 2010, Robert Ancell + 2010, Julien Lavergne +License: GPL-3+ + +Files: debian/*.config + debian/*.init +Copyright: + 1998-2002, 2004, 2005 Branden Robinson . + 2006 Eugene Konev +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 . +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’. --- lightdm-0.9.3.orig/debian/lightdm.config +++ lightdm-0.9.3/debian/lightdm.config @@ -0,0 +1,64 @@ +#!/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 . + +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 + +db_input high shared/default-x-display-manager || : +db_go || : + +# 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 --- lightdm-0.9.3.orig/debian/lightdm-gtk-greeter.install +++ lightdm-0.9.3/debian/lightdm-gtk-greeter.install @@ -0,0 +1,5 @@ +usr/sbin/lightdm-gtk-greeter +usr/share/lightdm-gtk-greeter +usr/share/xgreeters/lightdm-gtk-greeter.desktop +etc/lightdm/lightdm-gtk-greeter.conf usr/share/doc/lightdm-gtk-greeter +debian/lightdm-gtk-greeter.conf etc/lightdm --- lightdm-0.9.3.orig/debian/liblightdm-qt-1-dev.install +++ lightdm-0.9.3/debian/liblightdm-qt-1-dev.install @@ -0,0 +1,3 @@ +usr/include/lightdm-qt-* +usr/lib/pkgconfig/liblightdm-qt-*.pc +usr/lib/liblightdm-qt-*.so --- lightdm-0.9.3.orig/debian/rules +++ lightdm-0.9.3/debian/rules @@ -0,0 +1,32 @@ +#!/usr/bin/make -f + +LDFLAGS+=-Wl,--as-needed + +%: + dh $@ --with quilt,autoreconf,translations + +# 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 + +override_dh_install: + #Remove .la and .a files. + find debian/tmp/usr/lib/ -name *.a |xargs rm + find debian/tmp/usr/lib -name *.la |xargs rm + #Remove conf files from upstream + #find debian/tmp/etc/ -name *.conf |xargs rm + #find debian/tmp/etc/init -name *.conf |xargs rm + dh_install --list-missing + 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 + +override_dh_makeshlibs: + dh_makeshlibs -pliblightdm-gobject-1-0 -V'liblightdm-gobject-1-0 (>= 0.9.2)' -- -c4 + dh_makeshlibs -Nliblightdm-gobject-1-0 --- lightdm-0.9.3.orig/debian/changelog +++ lightdm-0.9.3/debian/changelog @@ -0,0 +1,584 @@ +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 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 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 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 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 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 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 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 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 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 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 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:] 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 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 Fri, 15 Jul 2011 13:35:49 +1000 + +lightdm (0.4.3-0ubuntu1) oneiric; urgency=low + + * New upstream release + + -- Robert Ancell Wed, 13 Jul 2011 15:06:13 +1000 + +lightdm (0.4.2-0ubuntu2) oneiric; urgency=low + + * debian/Xsession: + - Correctly load ~/.Xresource + + -- Robert Ancell 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 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 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 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 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 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 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 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 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 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 Fri, 10 Jun 2011 16:24:56 +1000 + +lightdm (0.3.7-0ubuntu1) oneric; urgency=low + + * New upstream release + + -- Robert Ancell 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 Mon, 30 May 2011 16:43:37 +1000 + +lightdm (0.3.5-0ubuntu1) oneiric; urgency=low + + * New upstream release + + -- Robert Ancell Tue, 24 May 2011 15:38:04 +1000 + +lightdm (0.3.4-0ubuntu1) oneiric; urgency=low + + * New upstream release + + -- Robert Ancell 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 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 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 Sat, 16 Apr 2011 18:22:50 +1000 + +lightdm (0.2.3-0ubuntu2) natty; urgency=low + + * debian/control: + - Fix Vcs-Bzr link + + -- Robert Ancell 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 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 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 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 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 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 Tue, 12 Oct 2010 15:52:24 +1100 + +lightdm (0.1.2-0ubuntu1) maverick; urgency=low + + * New upstream release + + -- Robert Ancell Fri, 10 Sep 2010 16:57:49 +1000 + +lightdm (0.1.1-0ubuntu1) maverick; urgency=low + + * New upstream release + + -- Robert Ancell 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 Thu, 22 Jul 2010 22:17:46 +0200 + +lightdm (0.1.0-0ubuntu1) maverick; urgency=low + + * New upstream release + + -- Robert Ancell 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 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 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 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 Thu, 01 Jul 2010 11:47:58 +1000 + +lightdm (0.0.1-0ubuntu1) maverick; urgency=low + + * Initial release + + -- Robert Ancell Sun, 27 Jun 2010 11:14:01 +1000 --- lightdm-0.9.3.orig/debian/liblightdm-gobject-1-doc.install +++ lightdm-0.9.3/debian/liblightdm-gobject-1-doc.install @@ -0,0 +1 @@ +usr/share/gtk-doc/html/lightdm-gobject-* --- lightdm-0.9.3.orig/debian/lightdm.pam +++ lightdm-0.9.3/debian/lightdm.pam @@ -0,0 +1,14 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so readenv=1 +auth required pam_env.so readenv=1 envfile=/etc/default/locale +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 +@include common-password --- lightdm-0.9.3.orig/debian/lightdm.postinst +++ lightdm-0.9.3/debian/lightdm.postinst @@ -0,0 +1,74 @@ +#!/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 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 + +#DEBHELPER# + +exit 0 --- lightdm-0.9.3.orig/debian/lightdm.dirs +++ lightdm-0.9.3/debian/lightdm.dirs @@ -0,0 +1,2 @@ +/var/log/lightdm +/var/cache/lightdm --- lightdm-0.9.3.orig/debian/lightdm-greeter-session +++ lightdm-0.9.3/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 +# +# 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= --- lightdm-0.9.3.orig/debian/lightdm.preinst +++ lightdm-0.9.3/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# + --- lightdm-0.9.3.orig/debian/lightdm.install +++ lightdm-0.9.3/debian/lightdm.install @@ -0,0 +1,13 @@ +usr/sbin/lightdm +usr/share/man +usr/share/locale +usr/share/man +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/ +debian/lightdm-session usr/sbin +debian/guest-account usr/sbin +debian/lightdm-greeter-session usr/lib/lightdm --- lightdm-0.9.3.orig/debian/lightdm.init +++ lightdm-0.9.3/debian/lightdm.init @@ -0,0 +1,112 @@ +#!/bin/sh + +# Largely adapted from xdm's init script: +# Copyright 1998-2002, 2004, 2005 Branden Robinson . +# Copyright 2006 Eugene Konev +# +# 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/bin/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" ]; 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 --- lightdm-0.9.3.orig/debian/lightdm.templates +++ lightdm-0.9.3/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. --- lightdm-0.9.3.orig/debian/liblightdm-gobject-1-0.symbols +++ lightdm-0.9.3/debian/liblightdm-gobject-1-0.symbols @@ -0,0 +1,65 @@ +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_sessions@Base 0.9.2 + lightdm_greeter_authenticate@Base 0.9.2 + lightdm_greeter_authenticate_as_guest@Base 0.9.2 + 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_select_guest_hint@Base 0.9.2 + lightdm_greeter_get_select_user_hint@Base 0.9.2 + lightdm_greeter_get_type@Base 0.9.2 + lightdm_greeter_new@Base 0.9.2 + lightdm_greeter_respond@Base 0.9.2 + 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_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_display_name@Base 0.9.2 + 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_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 --- lightdm-0.9.3.orig/debian/lightdm-gtk-greeter.conf +++ lightdm-0.9.3/debian/lightdm-gtk-greeter.conf @@ -0,0 +1,17 @@ +# +# background = Background file to use, either an image path or a color (e.g. #772953) +# theme-name = GTK+ theme to use +# font-name = Font to use +# xft-antialias = Whether to antialias Xft fonts (true or false) +# xft-dpi = Resolution for Xft in dots per inch (e.g. 96) +# xft-hintstyle = What degree of hinting to use (hintnone, hintslight, hintmedium, or hintfull) +# xft-rgba = Type of subpixel antialiasing (none, rgb, bgr, vrgb or vbgr) +# +[greeter] +background=/usr/share/backgrounds/warty-final-ubuntu.png +theme-name=Ambiance +font-name=Ubuntu 11 +xft-antialias=true +xft-dpi=96 +xft-hintstyle=slight +xft-rgba=rgb --- lightdm-0.9.3.orig/debian/gir1.2-lightdm-1.install +++ lightdm-0.9.3/debian/gir1.2-lightdm-1.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/girepository-1.0 --- lightdm-0.9.3.orig/debian/lightdm.postrm +++ lightdm-0.9.3/debian/lightdm.postrm @@ -0,0 +1,38 @@ +#!/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 +fi +#DEBHELPER# +exit 0 --- lightdm-0.9.3.orig/debian/liblightdm-qt-1-0.install +++ lightdm-0.9.3/debian/liblightdm-qt-1-0.install @@ -0,0 +1 @@ +usr/lib/liblightdm-qt-*.so.* --- lightdm-0.9.3.orig/debian/control +++ lightdm-0.9.3/debian/control @@ -0,0 +1,123 @@ +Source: lightdm +Section: x11 +Priority: optional +Maintainer: Robert Ancell +Uploaders: Julien Lavergne +Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 7.0.50~), + intltool (>= 0.35.0), + quilt, + libglib2.0-dev, + libpam0g-dev, + libxdmcp-dev, + libxcb1-dev, + libxklavier-dev, + libgtk-3-dev, + gobject-introspection, + libgirepository1.0-dev, + libqt4-dev, + dh-autoreconf, + dh-translations, + gtk-doc-tools, + dbus +Homepage: https://launchpad.net/lightdm +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/lightdm/ubuntu + +Package: lightdm +Architecture: any +Pre-Depends: dpkg (>= 1.15.7.2) +Depends: ${misc:Depends}, + ${shlibs:Depends}, + libpam-runtime (>= 0.76-14), + libpam-modules, + adduser, + dbus +Recommends: xserver-xorg, + unity-greeter | lightdm-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: lightdm-gtk-greeter +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: lightdm +Provides: lightdm-greeter, lightdm-greeter-example-gtk +Description: LightDM GTK+ Greeter + A LightDM greeter that uses the GTK+ toolkit. + +Package: lightdm-qt-greeter +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: lightdm +Provides: lightdm-greeter +Description: LightDM Qt Greeter + A LightDM greeter that uses the Qt 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-1-0 +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: lightdm +Description: LightDM Qt client library + A Qt 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 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-1-dev +Section: libdevel +Architecture: any +Depends: ${misc:Depends}, + liblightdm-qt-1-0 (= ${binary:Version}), + libqt4-dev +Description: LightDM 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-gobject-1-doc +Section: doc +Architecture: any +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. --- lightdm-0.9.3.orig/debian/watch +++ lightdm-0.9.3/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://people.ubuntu.com/~robert-ancell/lightdm/releases/lightdm-([0-9.]+)\.tar\.gz --- lightdm-0.9.3.orig/debian/liblightdm-gobject-1-0.install +++ lightdm-0.9.3/debian/liblightdm-gobject-1-0.install @@ -0,0 +1 @@ +usr/lib/liblightdm-gobject-*.so.* --- lightdm-0.9.3.orig/debian/lightdm.lightdm-autologin.pam +++ lightdm-0.9.3/debian/lightdm.lightdm-autologin.pam @@ -0,0 +1,11 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so readenv=1 +auth required pam_env.so readenv=1 envfile=/etc/default/locale +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 +@include common-password --- lightdm-0.9.3.orig/debian/po/tr.po +++ lightdm-0.9.3/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 , 2004, 2006. +# Recai Oktaş , 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 \n" +"Language-Team: Debian L10n Turkish \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." + --- lightdm-0.9.3.orig/debian/po/sk.po +++ lightdm-0.9.3/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 , 2004 +# Peter Mann , 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 \n" +"Language-Team: Slovak \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." --- lightdm-0.9.3.orig/debian/po/de.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: german \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." --- lightdm-0.9.3.orig/debian/po/ca.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Catalan \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." --- lightdm-0.9.3.orig/debian/po/it.po +++ lightdm-0.9.3/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 \n" +"Language-Team: Italian \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." --- lightdm-0.9.3.orig/debian/po/ru.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Russian \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 снова перезапустят." --- lightdm-0.9.3.orig/debian/po/pl.po +++ lightdm-0.9.3/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 domylny 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, ktry umoliwia logowanie si bezporednio 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 moe kontrolowa dany X serwer, ale " +"zainstalowanych jest obecnie kilka takich programw. Wybierz, ktry z nich " +"ma by uruchamiany domylnie." + +#. 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 "" +"(Mona uruchomi kilka programw \"display manager\", ale musz one " +"kontrolowa rne serwery; mona to osign konfigurujc odpowiednio kady " +"z nich i wyczajc w ich skryptach startowych fragment sprawdzajcy " +"domylny display manager.)" --- lightdm-0.9.3.orig/debian/po/pothead.in +++ lightdm-0.9.3/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" --- lightdm-0.9.3.orig/debian/po/da.po +++ lightdm-0.9.3/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 , 2003. +# Claus Hindsgaul , 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 \n" +"Language-Team: Danish \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 "Vlg den nskede logindhndtering." + +#. 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 logindhndtering 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 kre n logindhndtering for hver X-server, men der er " +"installeret flere logindhndteringer Vlg hvilken logindhndtering 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 logindhndteringer kan kre samtidig. hvis de er sat op til at " +"hndtere forskellige servere. For at f dette til at fungere, skal " +"logindhndteringenerne sttes op til det. Det gr du ved at fjerne tjekket " +"for standard logindhndtering i deres initialiseringsskripter i /etc/init.d.)" + +#, fuzzy +#~ msgid "Stop the xdm daemon?" +#~ msgstr "Vil du stoppe xdm-dmonen?" + +#, 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-logindhndteringsdmonen (xdm) stoppes typisk under opgradering eller " +#~ "afinstallation af pakken, men det ser ud til at der allerede krer mindst " +#~ "n X-session. Hvis xdm bliver stoppet nu, vil alle de X-sessioner, den " +#~ "hndterer, blive afbrudt. Ellers kan du lade xdm kre, s den nye version " +#~ "frst bliver taget i brug nste gang dmonen 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-logindhndteringsdmonen (xdm) stoppes typisk under opgradering eller " +#~ "afinstallation af pakken, men det ser ud til at der allerede krer mindst " +#~ "n X-session. Hvis xdm bliver stoppet nu, vil alle de X-sessioner, den " +#~ "hndterer, blive afbrudt. Ellers kan du lade xdm kre, s den nye version " +#~ "frst bliver taget i brug nste gang dmonen bliver genstartet." --- lightdm-0.9.3.orig/debian/po/eu.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: librezale \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." --- lightdm-0.9.3.orig/debian/po/POTFILES.in +++ lightdm-0.9.3/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] lightdm.templates --- lightdm-0.9.3.orig/debian/po/ml.po +++ lightdm-0.9.3/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|എ , 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|എ \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \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 ഇപ്പോള്‍ നിര്‍ത്തുകയാണെങ്കില്‍, ഇത് മാനേജ് ചെയ്തുകൊണ്ടിരിക്കുന്ന ഏത് എക്സ് സെഷനുകളും " +#~ "അവസാനിപ്പിക്കുന്നതായിരിക്കും. അല്ലെങ്കില്‍, അടുത്ത തവണ ഡീമണ്‍ വീണ്ടും തുടങ്ങുമ്പോള്‍ പുതിയ ലക്കം " +#~ "നിലവില്‍ വരും." --- lightdm-0.9.3.orig/debian/po/es.po +++ lightdm-0.9.3/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 , 2001, 2002, 2005 +# Francisco Javier Cuadrado , 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 \n" +"Language-Team: 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 "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." + --- lightdm-0.9.3.orig/debian/po/zh_CN.po +++ lightdm-0.9.3/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 , 2005 +# Ming Hua , 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 \n" +"Language-Team: Debian Chinese [GB] \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,新" +#~ "安装的版本将会在守护进程下次重新启动时生效。" --- lightdm-0.9.3.orig/debian/po/pt.po +++ lightdm-0.9.3/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 , 2005 +# Miguel Figueiredo , 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 \n" +"Language-Team: Portuguese \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." --- lightdm-0.9.3.orig/debian/po/cs.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Czech \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." --- lightdm-0.9.3.orig/debian/po/gl.po +++ lightdm-0.9.3/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 \n" +"Language-Team: Galician \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." --- lightdm-0.9.3.orig/debian/po/ta.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: TAMIL \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 "" +#~ "இப்போது எக்ஸ்டிஎம் நிறுத்தப் பட்டால் அது மேலாளும் எக்ஸ் அமர்வுகள் நிறுத்தப் படும். அல்லது " +#~ "புதிய பதிப்பு கிங்கரன் அடுத்த முறை இயங்கும் போது செயல் ல் படும்." --- lightdm-0.9.3.orig/debian/po/nl.po +++ lightdm-0.9.3/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 \n" +"Language-Team: debian-l10n-dutch \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. " --- lightdm-0.9.3.orig/debian/po/templates.pot +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: LANGUAGE \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 "" --- lightdm-0.9.3.orig/debian/po/fi.po +++ lightdm-0.9.3/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 \n" +"Language-Team: Finnish \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." + --- lightdm-0.9.3.orig/debian/po/fr.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: French \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." --- lightdm-0.9.3.orig/debian/po/ro.po +++ lightdm-0.9.3/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 , 2005. +# Ruşeţ Zeno , 2005. +# Eddy Petrisor , 2005. +# Eddy Petrișor , 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 \n" +"Language-Team: Romanian \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." --- lightdm-0.9.3.orig/debian/po/el.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Greek \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 να συνεχίσει τη λειτουργία του και η νέα έκδοση να " +#~ "χρησιμοποιηθεί την επόμενη φορά που θα τρέξει ο δαίμονας." --- lightdm-0.9.3.orig/debian/po/ja.po +++ lightdm-0.9.3/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 and ISHIKAWA Mutsumi " +"\n" +"Language-Team: Japanese \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 を有効に" +#~ "することもできます。" --- lightdm-0.9.3.orig/debian/po/sv.po +++ lightdm-0.9.3/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 \n" +"Language-Team: Swedish \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 tillhandahller grafiska " +"inloggningsmjligheter 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. Vlj vilken displayhanterare som " +"skall kras 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 kras samtidigt om de r konfigurerade att " +"hantera olika servrar. Fr 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 krande " +#~ "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 nsta gng som demonen " +#~ "startas om." --- lightdm-0.9.3.orig/debian/po/ko.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Korean \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 세션은 모두 중단됩니다. 지금 " +#~ "중지시키지 않으면 새로 설치한 버전은 데몬을 다시 시작할 때부터 사용됩니다." --- lightdm-0.9.3.orig/debian/po/pt_BR.po +++ lightdm-0.9.3/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 , 2001-2005. +# Eder L. Marques , 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 \n" +"Language-Team: l10n portuguese \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." --- lightdm-0.9.3.orig/debian/po/vi.po +++ lightdm-0.9.3/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 , 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 \n" +"Language-Team: Vietnamese \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 , 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." --- lightdm-0.9.3.orig/debian/patches/01_transition_gnome_ubuntu_desktop.patch +++ lightdm-0.9.3/debian/patches/01_transition_gnome_ubuntu_desktop.patch @@ -0,0 +1,18 @@ +=== modified file 'liblightdm-gobject/user.c' +Index: ubuntu/liblightdm-gobject/user.c +=================================================================== +--- ubuntu.orig/liblightdm-gobject/user.c 2011-08-09 15:46:31.588195339 +0200 ++++ ubuntu/liblightdm-gobject/user.c 2011-08-09 15:46:34.372209141 +0200 +@@ -883,6 +883,12 @@ + priv->language = g_key_file_get_string (priv->dmrc_file, "Desktop", "Language", NULL); + priv->layout = g_key_file_get_string (priv->dmrc_file, "Desktop", "Layout", NULL); + priv->session = g_key_file_get_string (priv->dmrc_file, "Desktop", "Session", NULL); ++ ++ if (g_strcmp0 (priv->session, "gnome") == 0) ++ { ++ g_free(priv->session); ++ priv->session = g_strdup ("ubuntu"); ++ } + } + + /** --- lightdm-0.9.3.orig/debian/patches/02_disable_tests.patch +++ lightdm-0.9.3/debian/patches/02_disable_tests.patch @@ -0,0 +1,13 @@ +Index: lightdm-0.9.0/tests/Makefile.am +=================================================================== +--- lightdm-0.9.0.orig/tests/Makefile.am 2011-07-22 16:03:37.000000000 +1000 ++++ lightdm-0.9.0/tests/Makefile.am 2011-07-22 17:04:50.109290576 +1000 +@@ -49,6 +49,8 @@ + # test-xserver-fail-start + # test-greeter-xserver-crash + ++TESTS = ++ + EXTRA_DIST = \ + $(TESTS) \ + data/xgreeters/test-gobject-greeter.desktop \ --- lightdm-0.9.3.orig/debian/patches/03_launch_dbus.patch +++ lightdm-0.9.3/debian/patches/03_launch_dbus.patch @@ -0,0 +1,17 @@ +=== modified file 'src/display.c' +--- a/src/display.c 2011-08-23 01:59:52 +0000 ++++ b/src/display.c 2011-08-24 19:06:54 +0000 +@@ -460,6 +460,12 @@ + g_free (wrapper); + } + } ++ else if (is_greeter) ++ { ++ gchar *t = command; ++ command = g_strdup_printf ("/usr/lib/lightdm/lightdm-greeter-session '%s'", command); ++ g_free (t); ++ } + + session = DISPLAY_GET_CLASS (display)->create_session (display); + g_return_val_if_fail (session != NULL, NULL); + --- lightdm-0.9.3.orig/debian/patches/series +++ lightdm-0.9.3/debian/patches/series @@ -0,0 +1,3 @@ +01_transition_gnome_ubuntu_desktop.patch +02_disable_tests.patch +03_launch_dbus.patch --- lightdm-0.9.3.orig/debian/source/format +++ lightdm-0.9.3/debian/source/format @@ -0,0 +1 @@ +1.0 --- lightdm-0.9.3.orig/utils/gdmflexiserver +++ lightdm-0.9.3/utils/gdmflexiserver @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Copyright (C) 2011 Canonical Ltd +# Author: Michael Terry +# +# 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 for the full text of the license. + +if [ -z "$XDG_SEAT_PATH" ]; then + # something went wrong + exit 1 +fi + +dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter --- lightdm-0.9.3.orig/utils/Makefile.am +++ lightdm-0.9.3/utils/Makefile.am @@ -0,0 +1,29 @@ +bin_PROGRAMS = dm-tool +libexec_PROGRAMS = lightdm-set-defaults +dist_pkglibexec_SCRIPTS = gdmflexiserver + +dm_tool_SOURCES = \ + dm-tool.c + +dm_tool_CFLAGS = \ + $(LIGHTDM_CFLAGS) \ + -DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \ + -DLOCALE_DIR=\"$(datadir)/locale\" + +dm_tool_LDADD = \ + $(LIGHTDM_LIBS) + +lightdm_set_defaults_SOURCES = \ + lightdm-set-defaults.c + +lightdm_set_defaults_CFLAGS = \ + $(LIGHTDM_CFLAGS) \ + -DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \ + -DLOCALE_DIR=\"$(datadir)/locale\" + +lightdm_set_defaults_LDADD = \ + $(LIGHTDM_LIBS) + +DISTCLEANFILES = \ + Makefile.in + --- lightdm-0.9.3.orig/utils/lightdm-set-defaults.c +++ lightdm-0.9.3/utils/lightdm-set-defaults.c @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2011 Didier Roche. + * Author: Didier Roche + * + * 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. See http://www.gnu.org/copyleft/gpl.html the full text of the + * license. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include +#include + +#define SEATDEFAULT_KEY_GROUP "SeatDefaults" +#define SESSION_KEY_NAME "user-session" +#define GREETER_KEY_NAME "greeter-session" + +#define IS_STRING_EMPTY(x) ((x)==NULL||(x)[0]=='\0') + +static gboolean debug = FALSE; +static gboolean keep_old = FALSE; +static gboolean remove = FALSE; + +static char *session = NULL; +static char *greeter = NULL; + +static GOptionEntry entries[] = +{ + { "debug", 'd', 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging"), NULL }, + { "keep-old", 'k', 0, G_OPTION_ARG_NONE, &keep_old, N_("Only update if no default already set"), NULL }, + { "remove", 'r', 0, G_OPTION_ARG_NONE, &remove, N_("Remove default value if it's the current one"), NULL }, + { "session", 's', 0, G_OPTION_ARG_STRING, &session, N_("Set default session"), NULL }, + { "greeter", 'g', 0, G_OPTION_ARG_STRING, &greeter, N_("Set default greeter"), NULL }, + { NULL } +}; + +void +show_nothing(const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data) {}; + +int +update_string(const gchar *default_value, + const gchar *new_value, + gboolean keep_old, + gboolean remove, + const gchar *key_group, + const gchar *key_name, + GKeyFile *keyfile) +{ + gboolean success = TRUE; + + if (!(default_value) || (strlen(default_value) < 1)) { + g_debug ("No existing valid value for %s. Set to %s", key_name, new_value); + g_key_file_set_string (keyfile, key_group, key_name, new_value); + } + else { + if (remove) { + if (g_strcmp0 (default_value, new_value) == 0) { + g_debug ("Remove %s as default value for %s", default_value, key_name); + g_key_file_set_string (keyfile, key_group, key_name, ""); + if (!success) + return(2); + return(0); + } + g_debug ("Can't remove: %s is not the default value for %s", default_value, key_name); + return(4); + } + else { + g_debug ("Found existing default value(%s) for %s", default_value, key_name); + if (keep_old) + g_debug ("keep-old mode: keep previous default value"); + else { + g_debug ("Update to %s for %s", default_value, key_name); + g_key_file_set_string (keyfile, key_group, key_name, new_value); + } + } + } + if (!success) + return(2); + return(0); +} + +int +main (int argc, char *argv[]) +{ + GOptionContext *context = NULL; + GError *error = NULL; + + GKeyFile *keyfile; + GKeyFileFlags flags; + gchar *s_data; + gsize size; + const gchar *gdm_conf_file = CONFIG_DIR "/lightdm.conf"; + + gchar *default_session = NULL; + gchar *default_greeter = NULL; + gint return_code = 0; + + bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + g_type_init (); + + context = g_option_context_new (N_("- set lightdm default values")); + g_option_context_add_main_entries (context, entries, NULL); + if (!g_option_context_parse (context, &argc, &argv, &error)) { + g_printerr (N_("option parsing failed: %s\n"), error->message); + g_option_context_free (context); + g_error_free (error); + return 1; + } + if (IS_STRING_EMPTY (session) && IS_STRING_EMPTY (greeter)) { + g_printerr (N_("Wrong usage of the command\n%s"), g_option_context_get_help (context, FALSE, NULL)); + g_option_context_free (context); + return 1; + } + if (context) + g_option_context_free (context); + if (!debug) + g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, show_nothing, NULL); + + keyfile = g_key_file_new (); + flags = G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS; + if (!(g_key_file_load_from_file (keyfile, gdm_conf_file, flags, &error))) { + g_debug ("File doesn't seem to exist or can't be read: create one (%s)", error->message); + g_error_free (error); + error = NULL; + } + + // try to get the right keys + default_session = g_key_file_get_string (keyfile, SEATDEFAULT_KEY_GROUP, SESSION_KEY_NAME, NULL); + default_greeter = g_key_file_get_string (keyfile, SEATDEFAULT_KEY_GROUP, GREETER_KEY_NAME, NULL); + + if (!(IS_STRING_EMPTY (session))) + return_code = update_string (default_session, session, keep_old, remove, SEATDEFAULT_KEY_GROUP, SESSION_KEY_NAME, keyfile); + if (!(IS_STRING_EMPTY (greeter)) && (return_code == 0)) + return_code = update_string (default_greeter, greeter, keep_old, remove, SEATDEFAULT_KEY_GROUP, GREETER_KEY_NAME, keyfile); + + if(return_code == 0) { + s_data = g_key_file_to_data (keyfile, &size, &error); + if (!s_data) { + g_debug ("Can't convert data to string: %s", error->message); + g_error_free (error); + return_code = 1; + } + else { + if(!g_file_set_contents (gdm_conf_file, s_data, size, &error)) { + g_printerr ("Can't update: %s\n", error->message); + g_error_free (error); + return_code = 1; + } + g_free (s_data); + } + } + + g_key_file_free (keyfile); + + if (default_session) + g_free (default_session); + if (default_greeter) + g_free (default_greeter); + + return return_code; + +} --- lightdm-0.9.3.orig/utils/dm-tool.c +++ lightdm-0.9.3/utils/dm-tool.c @@ -0,0 +1,467 @@ +/* + * Copyright (C) 2010-2011 Robert Ancell. + * Author: Robert Ancell + * + * 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. See http://www.gnu.org/copyleft/gpl.html the full text of the + * license. + */ + +#include + +#include +#include +#include +#include + +static GDBusProxy *dm_proxy, *seat_proxy; + +static gint xephyr_display_number; +static GPid xephyr_pid; + +static void +usage () +{ + g_printerr (/* Text printed out when an unknown command-line argument provided */ + _("Run 'dm-tool --help' to see a full list of available command line options.")); + g_printerr ("\n"); +} + +static void +xephyr_setup_cb (gpointer user_data) +{ + signal (SIGUSR1, SIG_IGN); +} + +static void +xephyr_signal_cb (int signum) +{ + gchar *display_number_string, *path; + GVariantBuilder *properties; + GVariant *result; + GError *error = NULL; + + properties = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); + display_number_string = g_strdup_printf ("%d", xephyr_display_number); + g_variant_builder_add_value (properties, g_variant_new ("(ss)", "xserver-display-number", display_number_string)); + g_free (display_number_string); + + result = g_dbus_proxy_call_sync (dm_proxy, + "AddSeat", + g_variant_new ("(sa(ss))", "xremote", properties), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + g_variant_builder_unref (properties); + if (!result) + { + g_printerr ("Unable to add seat: %s\n", error->message); + kill (xephyr_pid, SIGQUIT); + exit (EXIT_FAILURE); + } + + if (!g_variant_is_of_type (result, G_VARIANT_TYPE ("(o)"))) + { + g_printerr ("Unexpected response to AddSeat: %s\n", g_variant_get_type_string (result)); + exit (EXIT_FAILURE); + } + + g_variant_get (result, "(&o)", &path); + g_print ("%s\n", path); + + exit (EXIT_SUCCESS); +} + +int +main (int argc, char **argv) +{ + gchar *command; + gint n_options; + gchar **options; + GError *error = NULL; + gint arg_index; + GBusType bus_type = G_BUS_TYPE_SYSTEM; + + g_type_init (); + + for (arg_index = 1; arg_index < argc; arg_index++) + { + gchar *arg = argv[arg_index]; + + if (!g_str_has_prefix (arg, "-")) + break; + + if (strcmp (arg, "-h") == 0 || strcmp (arg, "--help") == 0) + { + g_printerr ("Usage:\n" + " dm-tool [OPTION...] COMMAND [ARGS...] - Display Manager tool\n" + "\n" + "Options:\n" + " -h, --help Show help options\n" + " -v, --version Show release version\n" + " --session-bus Use session D-Bus\n" + "\n" + "Commands:\n" + " switch-to-greeter Switch to the greeter\n" + " switch-to-user USERNAME [SESSION] Switch to a user session\n" + " switch-to-guest [SESSION] Switch to a guest session\n" + " list-seats List the active seats\n" + " add-nested-seat Start a nested display\n" + " add-seat TYPE [NAME=VALUE...] Add a dynamic seat\n"); + return EXIT_SUCCESS; + } + else if (strcmp (arg, "-v") == 0 || strcmp (arg, "--version") == 0) + { + /* NOTE: Is not translated so can be easily parsed */ + g_printerr ("lightdm %s\n", VERSION); + return EXIT_SUCCESS; + } + else if (strcmp (arg, "--session-bus") == 0) + bus_type = G_BUS_TYPE_SESSION; + else + { + g_printerr ("Unknown option %s\n", arg); + usage (); + return EXIT_FAILURE; + } + } + + if (arg_index >= argc) + { + g_printerr ("Missing command\n"); + usage (); + return EXIT_FAILURE; + } + + dm_proxy = g_dbus_proxy_new_for_bus_sync (bus_type, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.DisplayManager", + "/org/freedesktop/DisplayManager", + "org.freedesktop.DisplayManager", + NULL, + &error); + if (!dm_proxy) + { + g_printerr ("Unable to contact display manager: %s\n", error->message); + return EXIT_FAILURE; + } + g_clear_error (&error); + + seat_proxy = g_dbus_proxy_new_for_bus_sync (bus_type, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.DisplayManager", + g_getenv ("XDG_SEAT_PATH"), + "org.freedesktop.DisplayManager.Seat", + NULL, + &error); + if (!seat_proxy) + { + g_printerr ("Unable to contact display manager: %s\n", error->message); + return EXIT_FAILURE; + } + g_clear_error (&error); + + command = argv[arg_index]; + arg_index++; + n_options = argc - arg_index; + options = argv + arg_index; + if (strcmp (command, "switch-to-greeter") == 0) + { + if (n_options != 0) + { + g_printerr ("Usage switch-to-greeter\n"); + usage (); + return EXIT_FAILURE; + } + + if (!g_dbus_proxy_call_sync (seat_proxy, + "SwitchToGreeter", + g_variant_new ("()"), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error)) + { + g_printerr ("Unable to switch to greeter: %s\n", error->message); + return EXIT_FAILURE; + } + return EXIT_SUCCESS; + } + else if (strcmp (command, "switch-to-user") == 0) + { + gchar *username, *session = ""; + + if (n_options > 1) + { + g_printerr ("Usage switch-to-user USERNAME [SESSION]\n"); + usage (); + return EXIT_FAILURE; + } + + username = options[0]; + if (n_options == 2) + session = options[1]; + + if (!g_dbus_proxy_call_sync (seat_proxy, + "SwitchToUser", + g_variant_new ("(ss)", username, session), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error)) + { + g_printerr ("Unable to switch to user %s: %s\n", username, error->message); + return EXIT_FAILURE; + } + return EXIT_SUCCESS; + } + else if (strcmp (command, "switch-to-guest") == 0) + { + gchar *session = ""; + + if (n_options > 1) + { + g_printerr ("Usage switch-to-guest [SESSION]\n"); + usage (); + return EXIT_FAILURE; + } + + if (n_options == 1) + session = options[0]; + + if (!g_dbus_proxy_call_sync (seat_proxy, + "SwitchToGuest", + g_variant_new ("(s)", session), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error)) + { + g_printerr ("Unable to switch to guest: %s\n", error->message); + return EXIT_FAILURE; + } + return EXIT_SUCCESS; + } + else if (strcmp (command, "list-seats") == 0) + { + GVariant *seats, *sessions; + GVariantIter *seat_iter; + gchar *seat_path; + + if (!g_dbus_proxy_get_name_owner (dm_proxy)) + { + g_printerr ("Unable to contact display manager\n"); + return EXIT_FAILURE; + } + seats = g_dbus_proxy_get_cached_property (dm_proxy, "Seats"); + + g_variant_get (seats, "ao", &seat_iter); + while (g_variant_iter_loop (seat_iter, "&o", &seat_path)) + { + gchar *seat_name; + GDBusProxy *seat_proxy; + gchar **property_names; + GVariant *sessions; + GVariantIter *session_iter; + gchar *session_path; + gint i; + + if (g_str_has_prefix (seat_path, "/org/freedesktop/DisplayManager/")) + seat_name = seat_path + strlen ("/org/freedesktop/DisplayManager/"); + else + seat_name = seat_path; + + seat_proxy = g_dbus_proxy_new_sync (g_dbus_proxy_get_connection (dm_proxy), + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.DisplayManager", + seat_path, + "org.freedesktop.DisplayManager.Seat", + NULL, + NULL); + if (!seat_proxy || !g_dbus_proxy_get_name_owner (seat_proxy)) + continue; + + g_print ("%s\n", seat_name); + property_names = g_dbus_proxy_get_cached_property_names (seat_proxy); + for (i = 0; property_names[i]; i++) + { + GVariant *value; + + if (strcmp (property_names[i], "Sessions") == 0) + continue; + + value = g_dbus_proxy_get_cached_property (seat_proxy, property_names[i]); + g_print (" %s=%s\n", property_names[i], g_variant_print (value, FALSE)); + g_variant_unref (value); + } + + sessions = g_dbus_proxy_get_cached_property (seat_proxy, "Sessions"); + if (!sessions) + continue; + + g_variant_get (sessions, "ao", &session_iter); + while (g_variant_iter_loop (session_iter, "&o", &session_path)) + { + GDBusProxy *session_proxy; + gchar *session_name; + + if (g_str_has_prefix (session_path, "/org/freedesktop/DisplayManager/")) + session_name = session_path + strlen ("/org/freedesktop/DisplayManager/"); + else + session_name = session_path; + + session_proxy = g_dbus_proxy_new_sync (g_dbus_proxy_get_connection (dm_proxy), + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.DisplayManager", + session_path, + "org.freedesktop.DisplayManager.Session", + NULL, + NULL); + if (!session_proxy || !g_dbus_proxy_get_name_owner (session_proxy)) + continue; + + g_print (" %s\n", session_name); + property_names = g_dbus_proxy_get_cached_property_names (session_proxy); + for (i = 0; property_names[i]; i++) + { + GVariant *value; + + if (strcmp (property_names[i], "Seat") == 0) + continue; + + value = g_dbus_proxy_get_cached_property (session_proxy, property_names[i]); + g_print (" %s=%s\n", property_names[i], g_variant_print (value, FALSE)); + g_variant_unref (value); + } + + g_object_unref (session_proxy); + } + g_variant_iter_free (session_iter); + + g_object_unref (seat_proxy); + } + g_variant_iter_free (seat_iter); + + return EXIT_SUCCESS; + } + else if (strcmp (command, "add-nested-seat") == 0) + { + gchar *path, *xephyr_command, **xephyr_argv; + GMainLoop *loop; + + path = g_find_program_in_path ("Xephyr"); + if (!path) + { + g_printerr ("Unable to find Xephyr, please install it\n"); + return EXIT_FAILURE; + } + + /* Get a unique display number. It's racy, but the only reliable method to get one */ + xephyr_display_number = 0; + while (TRUE) + { + gchar *lock_name; + gboolean has_lock; + + lock_name = g_strdup_printf ("/tmp/.X%d-lock", xephyr_display_number); + has_lock = g_file_test (lock_name, G_FILE_TEST_EXISTS); + g_free (lock_name); + + if (has_lock) + xephyr_display_number++; + else + break; + } + + /* Wait for signal from Xephyr is ready */ + signal (SIGUSR1, xephyr_signal_cb); + + xephyr_command = g_strdup_printf ("Xephyr :%d", xephyr_display_number); + if (!g_shell_parse_argv (xephyr_command, NULL, &xephyr_argv, &error) || + !g_spawn_async (NULL, xephyr_argv, NULL, + G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, + xephyr_setup_cb, NULL, + &xephyr_pid, &error)) + { + g_printerr ("Error running Xephyr: %s\n", error->message); + exit (EXIT_FAILURE); + } + g_clear_error (&error); + + /* Block until ready */ + loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (loop); + } + else if (strcmp (command, "add-seat") == 0) + { + GVariant *result; + gchar *type, *path; + GVariantBuilder *properties; + gint i; + + if (n_options < 1) + { + g_printerr ("Usage add-seat TYPE [NAME=VALUE...]\n"); + usage (); + return EXIT_FAILURE; + } + + type = options[0]; + properties = g_variant_builder_new (G_VARIANT_TYPE ("a(ss)")); + + for (i = 1; i < n_options; i++) + { + gchar *property, *name, *value; + + property = g_strdup (options[i]); + name = property; + value = strchr (property, '='); + if (value) + { + *value = '\0'; + value++; + } + else + value = ""; + + g_variant_builder_add_value (properties, g_variant_new ("(ss)", name, value)); + g_free (property); + } + + result = g_dbus_proxy_call_sync (dm_proxy, + "AddSeat", + g_variant_new ("(sa(ss))", type, properties), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + g_variant_builder_unref (properties); + if (!result) + { + g_printerr ("Unable to add seat: %s\n", error->message); + return EXIT_FAILURE; + } + + if (!g_variant_is_of_type (result, G_VARIANT_TYPE ("(o)"))) + { + g_printerr ("Unexpected response to AddSeat: %s\n", g_variant_get_type_string (result)); + return EXIT_FAILURE; + } + + g_variant_get (result, "(&o)", &path); + g_print ("%s\n", path); + + return EXIT_SUCCESS; + } + + g_printerr ("Unknown command %s\n", command); + usage (); + return EXIT_FAILURE; +} --- lightdm-0.9.3.orig/src/display.c +++ lightdm-0.9.3/src/display.c @@ -1,7 +1,8 @@ -/* +/* -*- Mode: C; indent-tabs-mode: nil; tab-width: 4 -*- + * * Copyright (C) 2010-2011 Robert Ancell. * Author: Robert Ancell - * + * * 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 @@ -18,7 +19,6 @@ #include "configuration.h" #include "user.h" #include "pam-session.h" -#include "dmrc.h" #include "ldm-marshal.h" #include "greeter.h" #include "xserver-local.h" // FIXME: Shouldn't know if it's an xserver @@ -51,9 +51,6 @@ /* Display server */ DisplayServer *display_server; - /* User to run greeter as */ - gchar *greeter_user; - /* Greeter session */ gchar *greeter_session; @@ -62,12 +59,6 @@ /* Session requested to log into */ gchar *user_session; - - /* Directory to load X sessions from */ - gchar *xsessions_dir; - - /* Directory to load X greeters from */ - gchar *xgreeters_dir; /* Program to run sessions through */ gchar *session_wrapper; @@ -77,13 +68,16 @@ /* PAM service to authenticate against for automatic logins */ gchar *pam_autologin_service; + + /* TRUE if a session should be started on greeter quit */ + gboolean start_session_on_greeter_quit; /* TRUE if in a user session */ gboolean in_user_session; - + /* TRUE if have emitted ready signal */ gboolean indicated_ready; - + /* Session process */ Session *session; @@ -97,16 +91,19 @@ /* TRUE if start greeter if fail to login */ gboolean start_greeter_if_fail; - + /* Hint to select user in greeter */ gchar *select_user_hint; gboolean select_guest_hint; - + /* TRUE if allowed to log into guest account */ gboolean allow_guest; /* TRUE if stopping the display (waiting for dispaly server, greeter and session to stop) */ - gboolean stopping; + gboolean stopping; + + /* TRUE if stopped */ + gboolean stopped; }; G_DEFINE_TYPE (Display, display, G_TYPE_OBJECT); @@ -115,41 +112,6 @@ static gboolean start_user_session (Display *display, PAMSession *authentication); // FIXME: Should be a construct property -// FIXME: Move into seat.c -void -display_load_config (Display *display, const gchar *config_section) -{ - g_return_if_fail (display != NULL); - - display->priv->greeter_user = config_get_string (config_get_instance (), "LightDM", "greeter-user"); - - if (config_section) - display->priv->greeter_session = config_get_string (config_get_instance (), config_section, "greeter-session"); - if (!display->priv->greeter_session) - display->priv->greeter_session = config_get_string (config_get_instance (), "SeatDefaults", "greeter-session"); - if (config_section && config_has_key (config_get_instance (), config_section, "greeter-hide-users")) - display->priv->greeter_hide_users = config_get_boolean (config_get_instance (), config_section, "greeter-hide-users"); - else if (config_has_key (config_get_instance (), "SeatDefaults", "greeter-hide-users")) - display->priv->greeter_hide_users = config_get_boolean (config_get_instance (), "SeatDefaults", "greeter-hide-users"); - if (config_section) - display->priv->user_session = config_get_string (config_get_instance (), config_section, "user-session"); - if (!display->priv->user_session) - display->priv->user_session = config_get_string (config_get_instance (), "SeatDefaults", "user-session"); - if (config_section) - display->priv->xsessions_dir = config_get_string (config_get_instance (), config_section, "xsessions-directory"); - if (!display->priv->xsessions_dir) - display->priv->xsessions_dir = config_get_string (config_get_instance (), "SeatDefaults", "xsessions-directory"); - if (config_section) - display->priv->xgreeters_dir = config_get_string (config_get_instance (), config_section, "xgreeters-directory"); - if (!display->priv->xgreeters_dir) - display->priv->xgreeters_dir = config_get_string (config_get_instance (), "SeatDefaults", "xgreeters-directory"); - if (config_section) - display->priv->session_wrapper = config_get_string (config_get_instance (), config_section, "session-wrapper"); - if (!display->priv->session_wrapper) - display->priv->session_wrapper = config_get_string (config_get_instance (), "SeatDefaults", "session-wrapper"); -} - -// FIXME: Should be a construct property void display_set_display_server (Display *display, DisplayServer *display_server) { @@ -184,6 +146,22 @@ } void +display_set_greeter_session (Display *display, const gchar *greeter_session) +{ + g_return_if_fail (display != NULL); + g_free (display->priv->greeter_session); + display->priv->greeter_session = g_strdup (greeter_session); +} + +void +display_set_session_wrapper (Display *display, const gchar *session_wrapper) +{ + g_return_if_fail (display != NULL); + g_free (display->priv->session_wrapper); + display->priv->session_wrapper = g_strdup (session_wrapper); +} + +void display_set_allow_guest (Display *display, gboolean allow_guest) { g_return_if_fail (display != NULL); @@ -210,14 +188,18 @@ } void +display_set_hide_users_hint (Display *display, gboolean hide_users) +{ + g_return_if_fail (display != NULL); + display->priv->greeter_hide_users = hide_users; +} + +void display_set_user_session (Display *display, const gchar *session_name) { g_return_if_fail (display != NULL); - if (session_name) - { - g_free (display->priv->user_session); - display->priv->user_session = g_strdup (session_name); - } + g_free (display->priv->user_session); + display->priv->user_session = g_strdup (session_name); } static gboolean @@ -263,7 +245,7 @@ NULL, "org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", + "org.freedesktop.ConsoleKit.Manager", NULL, &error); if (!proxy) g_warning ("Unable to get connection to ConsoleKit: %s", error->message); @@ -337,7 +319,7 @@ NULL, "org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", + "org.freedesktop.ConsoleKit.Manager", NULL, NULL); result = g_dbus_proxy_call_sync (proxy, "CloseSession", @@ -384,9 +366,11 @@ check_stopped (Display *display) { if (display->priv->stopping && + !display->priv->stopped && display->priv->display_server == NULL && display->priv->session == NULL) { + display->priv->stopped = TRUE; g_debug ("Display stopped"); g_signal_emit (display, signals[STOPPED], 0); } @@ -427,7 +411,7 @@ } if (!started_session) - display_stop (display); + display_stop (display); } static gboolean @@ -508,19 +492,22 @@ if (!display->priv->display_server) return; - /* Start the session for the authenticated user */ - if (greeter_get_guest_authenticated (display->priv->greeter)) + /* Start the session for the authenticated user */ + if (display->priv->start_session_on_greeter_quit) { - started_session = autologin_guest (display, FALSE); - if (!started_session) - g_debug ("Failed to start guest session"); - } - else - { - display->priv->in_user_session = TRUE; - started_session = start_user_session (display, greeter_get_authentication (display->priv->greeter)); - if (!started_session) - g_debug ("Failed to start user session"); + if (greeter_get_guest_authenticated (display->priv->greeter)) + { + started_session = autologin_guest (display, FALSE); + if (!started_session) + g_debug ("Failed to start guest session"); + } + else + { + display->priv->in_user_session = TRUE; + started_session = start_user_session (display, greeter_get_authentication (display->priv->greeter)); + if (!started_session) + g_debug ("Failed to start user session"); + } } g_signal_handlers_disconnect_matched (display->priv->greeter, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, display); @@ -549,7 +536,6 @@ create_session (Display *display, PAMSession *authentication, const gchar *session_name, gboolean is_greeter, const gchar *log_filename) { gchar *sessions_dir, *filename, *path, *command = NULL; - const gchar *orig_path; GKeyFile *session_desktop_file; Session *session; gchar *cookie; @@ -560,12 +546,12 @@ // FIXME: This is X specific, move into xsession.c if (is_greeter) - sessions_dir = display->priv->xgreeters_dir; + sessions_dir = config_get_string (config_get_instance (), "LightDM", "xgreeters-directory"); else - sessions_dir = display->priv->xsessions_dir; - + sessions_dir = config_get_string (config_get_instance (), "LightDM", "xsessions-directory"); filename = g_strdup_printf ("%s.desktop", session_name); path = g_build_filename (sessions_dir, filename, NULL); + g_free (sessions_dir); g_free (filename); session_desktop_file = g_key_file_new (); @@ -613,18 +599,6 @@ process_set_env (PROCESS (session), "DESKTOP_SESSION", session_name); // FIXME: Apparently deprecated? process_set_env (PROCESS (session), "GDMSESSION", session_name); // FIXME: Not cross-desktop - /* Insert our own utility directory to PATH - * This is to provide gdmflexiserver which provides backwards compatibility with GDM. - * This can be removed when this is no longer required. - */ - orig_path = process_get_env (PROCESS (session), "PATH"); - if (orig_path) - { - path = g_strdup_printf ("%s:%s", PKGLIBEXEC_DIR, orig_path); - process_set_env (PROCESS (session), "PATH", path); - g_free (path); - } - process_set_log_file (PROCESS (session), log_filename); /* Open ConsoleKit session */ @@ -654,7 +628,7 @@ process_set_env (PROCESS (session), "LIGHTDM_TEST_HOME_DIR", g_getenv ("LIGHTDM_TEST_HOME_DIR")); process_set_env (PROCESS (session), "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); } - + return session; } @@ -691,7 +665,8 @@ /* Stop the greeter, the session will start when the greeter has quit */ g_debug ("Stopping greeter"); - session_stop (display->priv->session); + display->priv->start_session_on_greeter_quit = TRUE; + session_stop (display->priv->session); return TRUE; } @@ -708,19 +683,23 @@ if (getuid () != 0) user = user_get_current (); - else if (display->priv->greeter_user) + else { - user = user_get_by_name (display->priv->greeter_user); - if (!user) + gchar *greeter_user; + + greeter_user = config_get_string (config_get_instance (), "LightDM", "greeter-user"); + if (!greeter_user) { - g_debug ("Unable to start greeter, user %s does not exist", display->priv->greeter_user); + g_warning ("Greeter must not be run as root"); return FALSE; } - } - else - { - g_warning ("Greeter must not be run as root"); - return FALSE; + + user = user_get_by_name (greeter_user); + if (!user) + g_debug ("Unable to start greeter, user %s does not exist", greeter_user); + g_free (greeter_user); + if (!user) + return FALSE; } display->priv->in_user_session = FALSE; @@ -752,7 +731,7 @@ if (display->priv->autologin_user) greeter_set_hint (display->priv->greeter, "autologin-user", display->priv->autologin_user); else if (display->priv->autologin_guest) - greeter_set_hint (display->priv->greeter, "autologin-guest", "true"); + greeter_set_hint (display->priv->greeter, "autologin-guest", "true"); } if (display->priv->select_user_hint) greeter_set_hint (display->priv->greeter, "select-user", display->priv->select_user_hint); @@ -792,21 +771,15 @@ start_user_session (Display *display, PAMSession *authentication) { User *user; - GKeyFile *dmrc_file; gchar *log_filename; gboolean result = FALSE; g_debug ("Starting user session"); - - user = pam_session_get_user (authentication); - /* Load the users login settings (~/.dmrc) */ - dmrc_file = dmrc_load (user_get_name (user)); + user = pam_session_get_user (authentication); - /* Update the .dmrc with changed settings */ - g_key_file_set_string (dmrc_file, "Desktop", "Session", display->priv->user_session); - dmrc_save (dmrc_file, user_get_name (user)); - g_key_file_free (dmrc_file); + /* Update user's xsession setting */ + user_set_session (user, display->priv->user_session); // FIXME: Copy old error file log_filename = g_build_filename (user_get_home_directory (user), ".xsession-errors", NULL); @@ -938,7 +911,7 @@ NULL, "org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", + "org.freedesktop.ConsoleKit.Manager", NULL, &error); if (!proxy) g_warning ("Unable to get connection to ConsoleKit: %s", error->message); @@ -974,7 +947,7 @@ NULL, "org.freedesktop.ConsoleKit", session_path, - "org.freedesktop.ConsoleKit.Session", + "org.freedesktop.ConsoleKit.Session", NULL, &error); if (!proxy) g_warning ("Unable to get connection to ConsoleKit session: %s", error->message); @@ -1042,12 +1015,9 @@ if (self->priv->display_server) g_object_unref (self->priv->display_server); - g_free (self->priv->greeter_user); g_free (self->priv->greeter_session); if (self->priv->greeter) g_object_unref (self->priv->greeter); - g_free (self->priv->xsessions_dir); - g_free (self->priv->xgreeters_dir); g_free (self->priv->session_wrapper); g_free (self->priv->pam_service); g_free (self->priv->pam_autologin_service); --- lightdm-0.9.3.orig/src/user.c +++ lightdm-0.9.3/src/user.c @@ -1,4 +1,5 @@ -/* +/* -*- Mode: C; indent-tabs-mode: nil; tab-width: 4 -*- + * * Copyright (C) 2010-2011 Robert Ancell. * Author: Robert Ancell * @@ -15,12 +16,16 @@ #include #include "user.h" +#include "dmrc.h" struct UserPrivate { /* Name of user */ gchar *name; + /* Accounts interface proxy */ + GDBusProxy *proxy; + /* User ID */ uid_t uid; @@ -41,6 +46,157 @@ static gchar *passwd_file = NULL; +static gboolean +call_method (GDBusProxy *proxy, const gchar *method, GVariant *args, + const gchar *expected, GVariant **result) +{ + GVariant *answer; + GError *error = NULL; + + if (!proxy) + return FALSE; + + answer = g_dbus_proxy_call_sync (proxy, + method, + args, + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + + if (!answer) { + g_warning ("Could not call %s: %s", method, error->message); + g_error_free (error); + return FALSE; + } + + if (!g_variant_is_of_type (answer, G_VARIANT_TYPE (expected))) { + g_warning ("Unexpected response from %s: %s", + method, g_variant_get_type_string (answer)); + g_variant_unref (answer); + return FALSE; + } + + if (result) + *result = answer; + else + g_variant_unref (answer); + return TRUE; +} + +static gboolean +get_property (GDBusProxy *proxy, const gchar *property, + const gchar *expected, GVariant **result) +{ + GVariant *answer; + + if (!proxy) + return FALSE; + + answer = g_dbus_proxy_get_cached_property (proxy, property); + + if (!answer) { + g_warning ("Could not get accounts property %s", property); + return FALSE; + } + + if (!g_variant_is_of_type (answer, G_VARIANT_TYPE (expected))) { + g_warning ("Unexpected accounts property type for %s: %s", + property, g_variant_get_type_string (answer)); + g_variant_unref (answer); + return FALSE; + } + + if (result) + *result = answer; + else + g_variant_unref (answer); + return TRUE; +} + +static void +save_string_to_dmrc (const gchar *username, const gchar *group, + const gchar *key, const gchar *value) +{ + GKeyFile *dmrc; + + dmrc = dmrc_load (username); + g_key_file_set_string (dmrc, group, key, value); + dmrc_save (dmrc, username); + + g_key_file_free (dmrc); +} + +static gchar * +get_string_from_dmrc (const gchar *username, const gchar *group, + const gchar *key) +{ + GKeyFile *dmrc; + gchar *value; + + dmrc = dmrc_load (username); + value = g_key_file_get_string (dmrc, group, key, NULL); + + g_key_file_free (dmrc); + return value; +} + +static GDBusProxy * +get_accounts_proxy_for_user (const gchar *user) +{ + g_return_val_if_fail (user != NULL, NULL); + + GDBusProxy *proxy; + GError *error = NULL; + GVariant *result; + gboolean success; + gchar *user_path = NULL; + + proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.Accounts", + "/org/freedesktop/Accounts", + "org.freedesktop.Accounts", + NULL, &error); + + if (!proxy) { + g_warning ("Could not get accounts proxy: %s", error->message); + g_error_free (error); + return NULL; + } + + success = call_method (proxy, "FindUserByName", g_variant_new ("(s)", user), + "(o)", &result); + g_object_unref (proxy); + + if (!success) + return NULL; + + g_variant_get (result, "(o)", &user_path); + g_variant_unref (result); + + if (!user_path) + return NULL; + + proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.Accounts", + user_path, + "org.freedesktop.Accounts.User", + NULL, &error); + g_free (user_path); + + if (!proxy) { + g_warning ("Could not get accounts user proxy: %s", error->message); + g_error_free (error); + return NULL; + } + + return proxy; +} + static User * user_from_passwd (struct passwd *user_info) { @@ -53,6 +209,7 @@ user->priv->gecos = g_strdup (user_info->pw_gecos); user->priv->home_directory = g_strdup (user_info->pw_dir); user->priv->shell = g_strdup (user_info->pw_shell); + user->priv->proxy = get_accounts_proxy_for_user (user->priv->name); return user; } @@ -236,6 +393,40 @@ return user->priv->shell; } +void +user_set_session (User *user, const gchar *session) +{ + g_return_if_fail (user != NULL); + + call_method (user->priv->proxy, "SetXSession", + g_variant_new ("(s)", session), "()", NULL); + + save_string_to_dmrc (user->priv->name, "Desktop", "Session", session); +} + +gchar * +user_get_session (User *user) +{ + g_return_val_if_fail (user != NULL, NULL); + + GVariant *result; + gchar *session; + + if (!get_property (user->priv->proxy, "XSession", + "s", &result)) + return get_string_from_dmrc (user->priv->name, "Desktop", "Session"); + + g_variant_get (result, "s", &session); + g_variant_unref (result); + + if (g_strcmp0 (session, "") == 0) { + g_free (session); + return NULL; + } + + return session; +} + static void user_init (User *user) { @@ -243,6 +434,21 @@ } static void +user_dispose (GObject *object) +{ + User *self; + + self = USER (object); + + if (self->priv->proxy) { + g_object_unref (self->priv->proxy); + self->priv->proxy = NULL; + } + + G_OBJECT_CLASS (user_parent_class)->dispose (object); +} + +static void user_finalize (GObject *object) { User *self; @@ -262,6 +468,7 @@ { GObjectClass *object_class = G_OBJECT_CLASS (klass); + object_class->dispose = user_dispose; object_class->finalize = user_finalize; g_type_class_add_private (klass, sizeof (UserPrivate)); --- lightdm-0.9.3.orig/src/lightdm.c +++ lightdm-0.9.3/src/lightdm.c @@ -21,6 +21,8 @@ #include "configuration.h" #include "display-manager.h" +#include "xdmcp-server.h" +#include "seat-xdmcp-session.h" #include "xserver.h" #include "user.h" #include "pam-session.h" @@ -33,7 +35,7 @@ static gboolean debug = FALSE; static DisplayManager *display_manager = NULL; - +static XDMCPServer *xdmcp_server = NULL; static GDBusConnection *bus = NULL; static guint bus_id; static GDBusNodeInfo *seat_info; @@ -122,6 +124,7 @@ { g_debug ("Caught %s signal, shutting down", g_strsignal (signum)); display_manager_stop (display_manager); + // FIXME: Stop XDMCP server } static void @@ -210,6 +213,34 @@ } static void +set_seat_properties (Seat *seat, const gchar *config_section) +{ + gchar **keys; + gint i; + + keys = config_get_keys (config_get_instance (), "SeatDefaults"); + for (i = 0; keys[i]; i++) + { + gchar *value = config_get_string (config_get_instance (), "SeatDefaults", keys[i]); + seat_set_property (seat, keys[i], value); + g_free (value); + } + g_strfreev (keys); + + if (config_section) + { + keys = config_get_keys (config_get_instance (), config_section); + for (i = 0; keys[i]; i++) + { + gchar *value = config_get_string (config_get_instance (), config_section, keys[i]); + seat_set_property (seat, keys[i], value); + g_free (value); + } + g_strfreev (keys); + } +} + +static void handle_display_manager_call (GDBusConnection *connection, const gchar *sender, const gchar *object_path, @@ -219,7 +250,47 @@ GDBusMethodInvocation *invocation, gpointer user_data) { - if (g_strcmp0 (method_name, "GetSeatForCookie") == 0) + if (g_strcmp0 (method_name, "AddSeat") == 0) + { + gchar *type; + GVariantIter *property_iter; + gchar *name, *value; + Seat *seat; + + if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa(ss))"))) + return; + + g_variant_get (parameters, "(&sa(ss))", &type, &property_iter); + + g_debug ("Adding seat of type %s", type); + + seat = seat_new (type); + if (seat) + { + set_seat_properties (seat, NULL); + while (g_variant_iter_loop (property_iter, "(&s&s)", &name, &value)) + seat_set_property (seat, name, value); + } + g_variant_iter_free (property_iter); + + if (!seat) + { + // FIXME: Need to make proper error + g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Unable to create seat of type %s", type); + return; + } + + if (display_manager_add_seat (display_manager, seat)) + { + BusEntry *entry; + + entry = g_hash_table_lookup (seat_bus_entries, seat); + g_dbus_method_invocation_return_value (invocation, g_variant_new ("(o)", entry->path)); + } + else// FIXME: Need to make proper error + g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Failed to start seat"); + } + else if (g_strcmp0 (method_name, "GetSeatForCookie") == 0) { gchar *cookie; Seat *seat = NULL; @@ -228,11 +299,9 @@ if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(s)"))) return; - g_variant_get (parameters, "(s)", &cookie); + g_variant_get (parameters, "(&s)", &cookie); get_session_for_cookie (cookie, &seat); - g_free (cookie); - if (seat) entry = g_hash_table_lookup (seat_bus_entries, seat); if (entry) @@ -249,10 +318,9 @@ if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(s)"))) return; - g_variant_get (parameters, "(s)", &cookie); + g_variant_get (parameters, "(&s)", &cookie); session = get_session_for_cookie (cookie, NULL); - g_free (cookie); if (session) entry = g_hash_table_lookup (session_bus_entries, session); if (entry) @@ -397,6 +465,7 @@ bus_entry_free (gpointer data) { BusEntry *entry = data; + g_dbus_connection_unregister_object (bus, entry->bus_id); g_dbus_connection_emit_signal (bus, @@ -442,7 +511,7 @@ session = display_get_session (display); seat_entry = g_hash_table_lookup (seat_bus_entries, seat); - entry = bus_entry_new (process_get_env (PROCESS (session), "XDG_SEAT_PATH"), seat_entry ? seat_entry->path : NULL, "SessionRemoved"); + entry = bus_entry_new (process_get_env (PROCESS (session), "XDG_SESSION_PATH"), seat_entry ? seat_entry->path : NULL, "SessionRemoved"); g_hash_table_insert (session_bus_entries, g_object_ref (session), entry); entry->bus_id = g_dbus_connection_register_object (bus, @@ -513,7 +582,7 @@ } static void -seat_removed_cb (Seat *seat) +seat_removed_cb (DisplayManager *display_manager, Seat *seat) { g_hash_table_remove (seat_bus_entries, seat); } @@ -528,6 +597,11 @@ " " " " " " + " " + " " + " " + " " + " " " " " " " " @@ -636,11 +710,27 @@ return abs_path; } +static gboolean +xdmcp_session_cb (XDMCPServer *server, XDMCPSession *session) +{ + SeatXDMCPSession *seat; + gboolean result; + + seat = seat_xdmcp_session_new (session); + set_seat_properties (SEAT (seat), NULL); + result = display_manager_add_seat (display_manager, SEAT (seat)); + g_object_unref (seat); + + return result; +} + int main (int argc, char **argv) { FILE *pid_file; GOptionContext *option_context; + gchar **groups, **i; + gint n_seats = 0; gboolean explicit_config = FALSE; gboolean test_mode = FALSE; gchar *pid_path = "/var/run/lightdm.pid"; @@ -831,10 +921,6 @@ config_set_string (config_get_instance (), "SeatDefaults", "type", "xlocal"); if (!config_has_key (config_get_instance (), "SeatDefaults", "xserver-command")) config_set_string (config_get_instance (), "SeatDefaults", "xserver-command", "X"); - if (!config_has_key (config_get_instance (), "SeatDefaults", "xsessions-directory")) - config_set_string (config_get_instance (), "SeatDefaults", "xsessions-directory", XSESSIONS_DIR); - if (!config_has_key (config_get_instance (), "SeatDefaults", "xgreeters-directory")) - config_set_string (config_get_instance (), "SeatDefaults", "xgreeters-directory", XGREETERS_DIR); if (!config_has_key (config_get_instance (), "SeatDefaults", "allow-guest")) config_set_boolean (config_get_instance (), "SeatDefaults", "allow-guest", TRUE); if (!config_has_key (config_get_instance (), "SeatDefaults", "greeter-session")) @@ -852,6 +938,10 @@ if (!config_has_key (config_get_instance (), "LightDM", "cache-directory")) config_set_string (config_get_instance (), "LightDM", "cache-directory", default_cache_dir); g_free (default_cache_dir); + if (!config_has_key (config_get_instance (), "LightDM", "xsessions-directory")) + config_set_string (config_get_instance (), "LightDM", "xsessions-directory", XSESSIONS_DIR); + if (!config_has_key (config_get_instance (), "LightDM", "xgreeters-directory")) + config_set_string (config_get_instance (), "LightDM", "xgreeters-directory", XGREETERS_DIR); /* Override defaults */ if (minimum_vt) @@ -869,6 +959,12 @@ if (cache_dir) config_set_string (config_get_instance (), "LightDM", "cache-directory", cache_dir); g_free (cache_dir); + if (xsessions_dir) + config_set_string (config_get_instance (), "LightDM", "xsessions-directory", xsessions_dir); + g_free (xsessions_dir); + if (xgreeters_dir) + config_set_string (config_get_instance (), "LightDM", "xgreeters-directory", xgreeters_dir); + g_free (xgreeters_dir); if (xserver_command) config_set_string (config_get_instance (), "SeatDefaults", "xserver-command", xserver_command); g_free (xserver_command); @@ -881,12 +977,6 @@ if (session_wrapper) config_set_string (config_get_instance (), "SeatDefaults", "session-wrapper", session_wrapper); g_free (session_wrapper); - if (xsessions_dir) - config_set_string (config_get_instance (), "SeatDefaults", "xsessions-directory", xsessions_dir); - g_free (xsessions_dir); - if (xgreeters_dir) - config_set_string (config_get_instance (), "SeatDefaults", "xgreeters-directory", xgreeters_dir); - g_free (xgreeters_dir); /* Create run and cache directories */ g_mkdir_with_parents (config_get_string (config_get_instance (), "LightDM", "log-directory"), S_IRWXU | S_IXGRP | S_IXOTH); @@ -925,8 +1015,105 @@ display_manager = display_manager_new (); g_signal_connect (display_manager, "stopped", G_CALLBACK (display_manager_stopped_cb), NULL); + /* Load the static display entries */ + groups = config_get_groups (config_get_instance ()); + for (i = groups; *i; i++) + { + gchar *config_section = *i; + gchar *type; + Seat *seat; + + if (!g_str_has_prefix (config_section, "Seat:")) + continue; + + g_debug ("Loading seat %s", config_section); + type = config_get_string (config_get_instance (), config_section, "type"); + if (!type) + type = config_get_string (config_get_instance (), config_section, "type"); + seat = seat_new (type); + g_free (type); + if (seat) + { + set_seat_properties (seat, config_section); + display_manager_add_seat (display_manager, seat); + n_seats++; + } + else + g_warning ("Failed to create seat %s", config_section); + } + g_strfreev (groups); + + /* If no seats start a default one */ + if (n_seats == 0 && config_get_boolean (config_get_instance (), "LightDM", "start-default-seat")) + { + gchar *type; + Seat *seat; + + g_debug ("Adding default seat"); + + type = config_get_string (config_get_instance (), "SeatDefaults", "type"); + seat = seat_new (type); + g_free (type); + if (seat) + { + set_seat_properties (seat, NULL); + display_manager_add_seat (display_manager, seat); + } + else + g_warning ("Failed to create default seat"); + } + display_manager_start (display_manager); + /* Start the XDMCP server */ + if (config_get_boolean (config_get_instance (), "XDMCPServer", "enabled")) + { + gchar *key_name, *key = NULL; + + xdmcp_server = xdmcp_server_new (); + if (config_has_key (config_get_instance (), "XDMCPServer", "port")) + { + gint port; + port = config_get_integer (config_get_instance (), "XDMCPServer", "port"); + if (port > 0) + xdmcp_server_set_port (xdmcp_server, port); + } + g_signal_connect (xdmcp_server, "new-session", G_CALLBACK (xdmcp_session_cb), NULL); + + key_name = config_get_string (config_get_instance (), "XDMCPServer", "key"); + if (key_name) + { + gchar *dir, *path; + GKeyFile *keys; + GError *error = NULL; + + dir = config_get_string (config_get_instance (), "LightDM", "config-directory"); + path = g_build_filename (dir, "keys.conf", NULL); + g_free (dir); + + keys = g_key_file_new (); + if (g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error)) + { + 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", error->message); + } + else + g_debug ("Error getting key %s", error->message); + g_clear_error (&error); + g_free (path); + g_key_file_free (keys); + } + if (key) + xdmcp_server_set_key (xdmcp_server, key); + g_free (key_name); + g_free (key); + + g_debug ("Starting XDMCP server on UDP/IP port %d", xdmcp_server_get_port (xdmcp_server)); + xdmcp_server_start (xdmcp_server); + } + g_main_loop_run (loop); return EXIT_SUCCESS; --- lightdm-0.9.3.orig/src/Makefile.am +++ lightdm-0.9.3/src/Makefile.am @@ -1,7 +1,5 @@ sbin_PROGRAMS = lightdm -dist_pkglibexec_SCRIPTS = gdmflexiserver - ldm-marshal.c: ldm-marshal.list @GLIB_GENMARSHAL@ --prefix=ldm_marshal $(srcdir)/ldm-marshal.list --header --body > ldm-marshal.c @@ -38,6 +36,8 @@ seat-xdmcp-session.h \ seat-xlocal.c \ seat-xlocal.h \ + seat-xremote.c \ + seat-xremote.h \ session.c \ session.h \ user.c \ --- lightdm-0.9.3.orig/src/greeter.c +++ lightdm-0.9.3/src/greeter.c @@ -376,13 +376,14 @@ if (strcmp (session, "") == 0) session = NULL; - if (session) - g_debug ("Start session %s", session); - else - g_debug ("Start default session"); - if (greeter->priv->guest_account_authenticated || pam_session_get_is_authenticated (greeter->priv->authentication)) + { + if (session) + g_debug ("Start session %s", session); + else + g_debug ("Start default session"); g_signal_emit (greeter, signals[START_SESSION], 0, session, &result); + } else { g_debug ("Ignoring start session request, user is not authorized"); --- lightdm-0.9.3.orig/src/seat-xlocal.c +++ lightdm-0.9.3/src/seat-xlocal.c @@ -19,12 +19,6 @@ G_DEFINE_TYPE (SeatXLocal, seat_xlocal, SEAT_TYPE); -struct SeatXLocalPrivate -{ - /* TRUE if stopping this seat (waiting for displays to stop) */ - gboolean stopping; -}; - static void seat_xlocal_setup (Seat *seat) { @@ -37,62 +31,38 @@ { XServerLocal *xserver; XDisplay *display; - const gchar *config_section; - gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL, *key = NULL; + const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL; gint port = 0; - g_debug ("Starting Local X Display"); + g_debug ("Starting local X display"); xserver = xserver_local_new (); - config_section = seat_get_config_section (seat); - /* If running inside an X server use Xephyr instead */ if (g_getenv ("DISPLAY")) - command = g_strdup ("Xephyr"); - if (!command && config_section) - command = config_get_string (config_get_instance (), config_section, "xserver-command"); + command = "Xephyr"; if (!command) - command = config_get_string (config_get_instance (), "SeatDefaults", "xserver-command"); + command = seat_get_string_property (seat, "xserver-command"); if (command) xserver_local_set_command (xserver, command); - g_free (command); - if (config_section) - layout = config_get_string (config_get_instance (), config_section, "xserver-layout"); - if (!layout) - layout = config_get_string (config_get_instance (), "SeatDefaults", "layout"); + layout = seat_get_string_property (seat, "xserver-layout"); if (layout) xserver_local_set_layout (xserver, layout); - g_free (layout); - if (config_section) - config_file = config_get_string (config_get_instance (), config_section, "xserver-config"); - if (!config_file) - config_file = config_get_string (config_get_instance (), "SeatDefaults", "xserver-config"); + config_file = seat_get_string_property (seat, "xserver-config"); if (config_file) xserver_local_set_config (xserver, config_file); - g_free (config_file); - if (config_section) - xdmcp_manager = config_get_string (config_get_instance (), config_section, "xdmcp-manager"); - if (!xdmcp_manager) - xdmcp_manager = config_get_string (config_get_instance (), "SeatDefaults", "xdmcp-manager"); + xdmcp_manager = seat_get_string_property (seat, "xdmcp-manager"); if (xdmcp_manager) xserver_local_set_xdmcp_server (xserver, xdmcp_manager); - g_free (xdmcp_manager); - if (config_section && config_has_key (config_get_instance (), config_section, "xdmcp-port")) - port = config_get_integer (config_get_instance (), config_section, "xdmcp-port"); - else if (config_has_key (config_get_instance (), "SeatDefaults", "xdmcp-port")) - port = config_get_integer (config_get_instance (), "SeatDefaults", "xdmcp-port"); + port = seat_get_integer_property (seat, "xdmcp-port"); if (port > 0) xserver_local_set_xdmcp_port (xserver, port); - if (config_section) - key_name = config_get_string (config_get_instance (), config_section, "xdmcp-key"); - if (!key_name) - key_name = config_get_string (config_get_instance (), "SeatDefaults", "xdmcp-key"); + key_name = seat_get_string_property (seat, "xdmcp-key"); if (key_name) { gchar *dir, *path; @@ -106,10 +76,16 @@ keys = g_key_file_new (); if (g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error)) { + gchar *key = NULL; + 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", error->message); + + if (key) + xserver_local_set_xdmcp_key (xserver, key); + g_free (key); } else g_debug ("Error getting key %s", error->message); @@ -117,10 +93,6 @@ g_clear_error (&error); g_key_file_free (keys); } - if (key) - xserver_local_set_xdmcp_key (xserver, key); - g_free (key_name); - g_free (key); display = xdisplay_new (XSERVER (xserver)); g_object_unref (xserver); @@ -141,10 +113,8 @@ static void seat_xlocal_display_removed (Seat *seat, Display *display) { - SeatXLocalPrivate *priv = SEAT_XLOCAL (seat)->priv; - /* Show a new greeter */ - if (!priv->stopping && display == seat_get_active_display (seat)) + if (!seat_get_is_stopping (seat) && display == seat_get_active_display (seat)) { g_debug ("Active display stopped, switching to greeter"); seat_switch_to_greeter (seat); @@ -152,16 +122,8 @@ } static void -seat_xlocal_stop (Seat *seat) -{ - SEAT_XLOCAL (seat)->priv->stopping = TRUE; - SEAT_CLASS (seat_xlocal_parent_class)->stop (seat); -} - -static void seat_xlocal_init (SeatXLocal *seat) { - seat->priv = G_TYPE_INSTANCE_GET_PRIVATE (seat, SEAT_XLOCAL_TYPE, SeatXLocalPrivate); } static void @@ -173,7 +135,4 @@ seat_class->add_display = seat_xlocal_add_display; seat_class->set_active_display = seat_xlocal_set_active_display; seat_class->display_removed = seat_xlocal_display_removed; - seat_class->stop = seat_xlocal_stop; - - g_type_class_add_private (klass, sizeof (SeatXLocalPrivate)); } --- lightdm-0.9.3.orig/src/display.h +++ lightdm-0.9.3/src/display.h @@ -52,8 +52,6 @@ GType display_get_type (void); -void display_load_config (Display *display, const gchar *config_section); - void display_set_display_server (Display *display, DisplayServer *display_server); DisplayServer *display_get_display_server (Display *display); @@ -62,12 +60,18 @@ Session *display_get_session (Display *display); +void display_set_greeter_session (Display *display, const gchar *greeter_session); + +void display_set_session_wrapper (Display *display, const gchar *session_wrapper); + void display_set_allow_guest (Display *display, gboolean allow_guest); void display_set_autologin_user (Display *display, const gchar *username, gboolean is_guest, gint timeout); void display_set_select_user_hint (Display *display, const gchar *username, gboolean is_guest); +void display_set_hide_users_hint (Display *display, gboolean hide_users); + void display_set_user_session (Display *display, const gchar *session_name); gboolean display_start (Display *display); --- lightdm-0.9.3.orig/src/seat-xremote.c +++ lightdm-0.9.3/src/seat-xremote.c @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2010-2011 Robert Ancell. + * Author: Robert Ancell + * + * 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. See http://www.gnu.org/copyleft/gpl.html the full text of the + * license. + */ + +#include + +#include "seat-xremote.h" +#include "configuration.h" +#include "xdisplay.h" +#include "xserver-remote.h" +#include "vt.h" + +G_DEFINE_TYPE (SeatXRemote, seat_xremote, SEAT_TYPE); + +struct SeatXRemotePrivate +{ + /* Display being controlled by this seat */ + XDisplay *display; +}; + +static void +seat_xremote_setup (Seat *seat) +{ + seat_set_can_switch (seat, FALSE); + SEAT_CLASS (seat_xremote_parent_class)->setup (seat); +} + +static Display * +seat_xremote_add_display (Seat *seat) +{ + XServerRemote *xserver; + const gchar *hostname; + gint number; + + /* Can only have one display */ + if (SEAT_XREMOTE (seat)->priv->display) + return NULL; + + hostname = seat_get_string_property (seat, "xserver-hostname"); + if (!hostname) + hostname = "localhost"; + number = seat_get_integer_property (seat, "xserver-display-number"); + + g_debug ("Starting remote X display %s:%d", hostname, number); + + xserver = xserver_remote_new (hostname, number, NULL); + + SEAT_XREMOTE (seat)->priv->display = xdisplay_new (XSERVER (xserver)); + g_object_unref (xserver); + + return DISPLAY (SEAT_XREMOTE (seat)->priv->display); +} + +static void +seat_xremote_display_removed (Seat *seat, Display *display) +{ + /* Can't restart the display, so remote this seat */ + seat_stop (seat); +} + +static void +seat_xremote_init (SeatXRemote *seat) +{ + seat->priv = G_TYPE_INSTANCE_GET_PRIVATE (seat, SEAT_XREMOTE_TYPE, SeatXRemotePrivate); +} + +static void +seat_xremote_class_init (SeatXRemoteClass *klass) +{ + SeatClass *seat_class = SEAT_CLASS (klass); + + seat_class->setup = seat_xremote_setup; + seat_class->add_display = seat_xremote_add_display; + seat_class->display_removed = seat_xremote_display_removed; + + g_type_class_add_private (klass, sizeof (SeatXRemotePrivate)); +} --- lightdm-0.9.3.orig/src/configuration.c +++ lightdm-0.9.3/src/configuration.c @@ -40,6 +40,12 @@ return g_key_file_get_groups (config->priv->key_file, NULL); } +gchar ** +config_get_keys (Configuration *config, const gchar *group_name) +{ + return g_key_file_get_keys (config->priv->key_file, group_name, NULL, NULL); +} + gboolean config_has_key (Configuration *config, const gchar *section, const gchar *key) { --- lightdm-0.9.3.orig/src/configuration.h +++ lightdm-0.9.3/src/configuration.h @@ -40,6 +40,8 @@ gchar **config_get_groups (Configuration *config); +gchar **config_get_keys (Configuration *config, const gchar *group_name); + gboolean config_has_key (Configuration *config, const gchar *section, const gchar *key); void config_set_string (Configuration *config, const gchar *section, const gchar *key, const gchar *value); --- lightdm-0.9.3.orig/src/seat-xremote.h +++ lightdm-0.9.3/src/seat-xremote.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2010-2011 Robert Ancell. + * Author: Robert Ancell + * + * 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. See http://www.gnu.org/copyleft/gpl.html the full text of the + * license. + */ + +#ifndef _SEAT_XREMOTE_H_ +#define _SEAT_XREMOTE_H_ + +#include +#include "seat.h" + +G_BEGIN_DECLS + +#define SEAT_XREMOTE_TYPE (seat_xremote_get_type()) +#define SEAT_XREMOTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAT_XREMOTE_TYPE, SeatXRemote)) + +typedef struct SeatXRemotePrivate SeatXRemotePrivate; + +typedef struct +{ + Seat parent_instance; + SeatXRemotePrivate *priv; +} SeatXRemote; + +typedef struct +{ + SeatClass parent_class; +} SeatXRemoteClass; + +GType seat_xremote_get_type (void); + +G_END_DECLS + +#endif /* _SEAT_XREMOTE_H_ */ --- lightdm-0.9.3.orig/src/display-manager.c +++ lightdm-0.9.3/src/display-manager.c @@ -18,9 +18,8 @@ #include "display-manager.h" #include "configuration.h" #include "display.h" -#include "xdmcp-server.h" #include "seat-xlocal.h" -#include "seat-xdmcp-session.h" +#include "seat-xremote.h" #include "plymouth.h" enum { @@ -37,11 +36,11 @@ /* The seats available */ GList *seats; - /* XDMCP server */ - XDMCPServer *xdmcp_server; - /* TRUE if stopping the display manager (waiting for seats to stop) */ gboolean stopping; + + /* TRUE if stopped */ + gboolean stopped; }; G_DEFINE_TYPE (DisplayManager, display_manager, G_TYPE_OBJECT); @@ -58,92 +57,52 @@ return manager->priv->seats; } -static gboolean -add_seat (DisplayManager *manager, Seat *seat) +static void +check_stopped (DisplayManager *manager) { - gboolean result; - - result = seat_start (SEAT (seat)); - if (!result) - return FALSE; - - manager->priv->seats = g_list_append (manager->priv->seats, g_object_ref (seat)); - g_signal_emit (manager, signals[SEAT_ADDED], 0, seat); - - return TRUE; + if (manager->priv->stopping && + !manager->priv->stopped && + g_list_length (manager->priv->seats) == 0) + { + manager->priv->stopped = TRUE; + g_debug ("Display manager stopped"); + g_signal_emit (manager, signals[STOPPED], 0); + } } -static gboolean -xdmcp_session_cb (XDMCPServer *server, XDMCPSession *session, DisplayManager *manager) +static void +seat_stopped_cb (Seat *seat, DisplayManager *manager) { - SeatXDMCPSession *seat; - gboolean result; + manager->priv->seats = g_list_remove (manager->priv->seats, seat); + g_signal_handlers_disconnect_matched (seat, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, manager); - seat = seat_xdmcp_session_new (session); - result = add_seat (manager, SEAT (seat)); - g_object_unref (seat); - - return result; + check_stopped (manager); + + if (!manager->priv->stopping) + g_signal_emit (manager, signals[SEAT_REMOVED], 0, seat); } -static void -add_static_seat (DisplayManager *manager, const gchar *config_section) +gboolean +display_manager_add_seat (DisplayManager *manager, Seat *seat) { - gchar *type = NULL; - Seat *seat; + gboolean result; - if (config_section) - type = config_get_string (config_get_instance (), config_section, "type"); - if (!type) - type = config_get_string (config_get_instance (), "SeatDefaults", "type"); - if (!type) - { - g_debug ("Seat missing type field"); - return; - } + result = seat_start (SEAT (seat)); + if (!result) + return FALSE; - seat = seat_new (type, config_section); - if (seat) - { - if (!add_seat (manager, seat)) - g_warning ("Failed to start seat %s", config_section); - g_object_unref (seat); - } - else - g_debug ("Unknown seat type %s", type); + manager->priv->seats = g_list_append (manager->priv->seats, g_object_ref (seat)); + g_signal_connect (seat, "stopped", G_CALLBACK (seat_stopped_cb), manager); + g_signal_emit (manager, signals[SEAT_ADDED], 0, seat); + + return TRUE; } void display_manager_start (DisplayManager *manager) { - gchar **groups, **i; - g_return_if_fail (manager != NULL); - /* Load the seat modules */ - seat_register_module ("xlocal", SEAT_XLOCAL_TYPE); - - /* Load the static display entries */ - groups = config_get_groups (config_get_instance ()); - for (i = groups; *i; i++) - { - gchar *config_section = *i; - - if (!g_str_has_prefix (config_section, "Seat:")) - continue; - - g_debug ("Loading seat %s", config_section); - add_static_seat (manager, config_section); - } - g_strfreev (groups); - - /* If no seats start a default one */ - if (!manager->priv->seats && config_get_boolean (config_get_instance (), "LightDM", "start-default-seat")) - { - g_debug ("Adding default seat"); - add_static_seat (manager, NULL); - } - /* Disable Plymouth if no X servers are replacing it */ if (plymouth_get_is_active ()) { @@ -151,85 +110,9 @@ plymouth_quit (FALSE); } - /* Start the XDMCP server */ - if (config_get_boolean (config_get_instance (), "XDMCPServer", "enabled")) - { - gchar *key_name, *key = NULL; - - manager->priv->xdmcp_server = xdmcp_server_new (); - if (config_has_key (config_get_instance (), "XDMCPServer", "port")) - { - gint port; - port = config_get_integer (config_get_instance (), "XDMCPServer", "port"); - if (port > 0) - xdmcp_server_set_port (manager->priv->xdmcp_server, port); - } - g_signal_connect (manager->priv->xdmcp_server, "new-session", G_CALLBACK (xdmcp_session_cb), manager); - - key_name = config_get_string (config_get_instance (), "XDMCPServer", "key"); - if (key_name) - { - gchar *dir, *path; - GKeyFile *keys; - GError *error = NULL; - - dir = config_get_string (config_get_instance (), "LightDM", "config-directory"); - path = g_build_filename (dir, "keys.conf", NULL); - g_free (dir); - - keys = g_key_file_new (); - if (g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error)) - { - 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", error->message); - } - else - g_debug ("Error getting key %s", error->message); - g_clear_error (&error); - g_free (path); - g_key_file_free (keys); - } - if (key) - xdmcp_server_set_key (manager->priv->xdmcp_server, key); - g_free (key_name); - g_free (key); - - g_debug ("Starting XDMCP server on UDP/IP port %d", xdmcp_server_get_port (manager->priv->xdmcp_server)); - xdmcp_server_start (manager->priv->xdmcp_server); - } - g_signal_emit (manager, signals[STARTED], 0); } -static gboolean -check_stopped (DisplayManager *manager) -{ - if (g_list_length (manager->priv->seats) == 0) - { - g_debug ("Display manager stopped"); - g_signal_emit (manager, signals[STOPPED], 0); - return TRUE; - } - return FALSE; -} - -static void -seat_stopped_cb (Seat *seat, DisplayManager *manager) -{ - manager->priv->seats = g_list_remove (manager->priv->seats, seat); - g_signal_handlers_disconnect_matched (seat, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, manager); - - if (manager->priv->stopping) - { - check_stopped (manager); - return; - } - - g_signal_emit (manager, signals[SEAT_REMOVED], 0, seat); -} - void display_manager_stop (DisplayManager *manager) { @@ -244,20 +127,10 @@ manager->priv->stopping = TRUE; - if (manager->priv->xdmcp_server) - { - // FIXME: xdmcp_server_stop - g_object_unref (manager->priv->xdmcp_server); - manager->priv->xdmcp_server = NULL; - } - - if (check_stopped (manager)) - return; - + check_stopped (manager); for (link = manager->priv->seats; link; link = link->next) { Seat *seat = link->data; - g_signal_connect (seat, "stopped", G_CALLBACK (seat_stopped_cb), manager); seat_stop (seat); } } @@ -266,6 +139,10 @@ display_manager_init (DisplayManager *manager) { manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, DISPLAY_MANAGER_TYPE, DisplayManagerPrivate); + + /* Load the seat modules */ + seat_register_module ("xlocal", SEAT_XLOCAL_TYPE); + seat_register_module ("xremote", SEAT_XREMOTE_TYPE); } static void @@ -276,8 +153,6 @@ self = DISPLAY_MANAGER (object); - if (self->priv->xdmcp_server) - g_object_unref (self->priv->xdmcp_server); for (link = self->priv->seats; link; link = link->next) g_object_unref (link->data); g_list_free (self->priv->seats); --- lightdm-0.9.3.orig/src/xserver.c +++ lightdm-0.9.3/src/xserver.c @@ -14,7 +14,6 @@ #include #include "xserver.h" -#include "configuration.h" #include "xsession.h" struct XServerPrivate @@ -90,9 +89,13 @@ xserver_set_authority (XServer *server, XAuthority *authority) { g_return_if_fail (server != NULL); + if (server->priv->authority) g_object_unref (server->priv->authority); - server->priv->authority = g_object_ref (authority); + if (authority) + server->priv->authority = g_object_ref (authority); + else + server->priv->authority = NULL; } XAuthority * --- lightdm-0.9.3.orig/src/user.h +++ lightdm-0.9.3/src/user.h @@ -1,4 +1,5 @@ -/* +/* -*- Mode: C; indent-tabs-mode: nil; tab-width: 4 -*- + * * Copyright (C) 2010-2011 Robert Ancell. * Author: Robert Ancell * @@ -57,6 +58,10 @@ const gchar *user_get_shell (User *user); +gchar *user_get_session (User *user); + +void user_set_session (User *user, const gchar *session); + G_END_DECLS #endif /* _USER_H_ */ --- lightdm-0.9.3.orig/src/display-manager.h +++ lightdm-0.9.3/src/display-manager.h @@ -43,6 +43,8 @@ DisplayManager *display_manager_new (void); +gboolean display_manager_add_seat (DisplayManager *manager, Seat *seat); + GList *display_manager_get_seats (DisplayManager *manager); void display_manager_start (DisplayManager *manager); --- lightdm-0.9.3.orig/src/seat.h +++ lightdm-0.9.3/src/seat.h @@ -50,9 +50,17 @@ void seat_register_module (const gchar *name, GType type); -Seat *seat_new (const gchar *module, const gchar *config_section); +Seat *seat_new (const gchar *module_name); -const gchar *seat_get_config_section (Seat *seat); +void seat_set_property (Seat *seat, const gchar *name, const gchar *value); + +gboolean seat_has_property (Seat *seat, const gchar *name); + +const gchar *seat_get_string_property (Seat *seat, const gchar *name); + +gboolean seat_get_boolean_property (Seat *seat, const gchar *name); + +gint seat_get_integer_property (Seat *seat, const gchar *name); void seat_set_can_switch (Seat *seat, gboolean can_switch); @@ -76,6 +84,8 @@ void seat_stop (Seat *seat); +gboolean seat_get_is_stopping (Seat *seat); + G_END_DECLS #endif /* _SEAT_H_ */ --- lightdm-0.9.3.orig/src/seat.c +++ lightdm-0.9.3/src/seat.c @@ -9,10 +9,10 @@ * license. */ +#include #include #include "seat.h" -#include "configuration.h" #include "display.h" #include "xserver.h" #include "guest-account.h" @@ -29,22 +29,14 @@ struct SeatPrivate { /* Configuration for this seat */ - gchar *config_section; + GHashTable *properties; /* TRUE if able to switch users */ gboolean can_switch; - /* TRUE if allowed to log into guest account */ - gboolean allow_guest; - /* Name of guest account */ gchar *guest_username; - /* User to automatically log in as */ - gchar *autologin_username; - gboolean autologin_guest; - guint autologin_timeout; - /* The displays for this seat */ GList *displays; @@ -53,6 +45,9 @@ /* TRUE if stopping this seat (waiting for displays to stop) */ gboolean stopping; + + /* TRUE if stopped */ + gboolean stopped; }; G_DEFINE_TYPE (Seat, seat, G_TYPE_OBJECT); @@ -81,27 +76,57 @@ } Seat * -seat_new (const gchar *module, const gchar *config_section) +seat_new (const gchar *module_name) { Seat *seat; SeatModule *m = NULL; + + g_return_val_if_fail (module_name != NULL, NULL); if (seat_modules) - m = g_hash_table_lookup (seat_modules, module); + m = g_hash_table_lookup (seat_modules, module_name); if (!m) return NULL; seat = g_object_new (m->type, NULL); - seat->priv->config_section = g_strdup (config_section); return seat; } +void +seat_set_property (Seat *seat, const gchar *name, const gchar *value) +{ + g_return_if_fail (seat != NULL); + g_hash_table_insert (seat->priv->properties, g_strdup (name), g_strdup (value)); +} + +gboolean +seat_has_property (Seat *seat, const gchar *name) +{ + g_return_val_if_fail (seat != NULL, FALSE); + return g_hash_table_lookup (seat->priv->properties, name) != NULL; +} + const gchar * -seat_get_config_section (Seat *seat) +seat_get_string_property (Seat *seat, const gchar *name) { g_return_val_if_fail (seat != NULL, NULL); - return seat->priv->config_section; + return g_hash_table_lookup (seat->priv->properties, name); +} + +gboolean +seat_get_boolean_property (Seat *seat, const gchar *name) +{ + return g_strcmp0 (seat_get_string_property (seat, name), "true") == 0; +} + +gint +seat_get_integer_property (Seat *seat, const gchar *name) +{ + const gchar *value; + + value = seat_get_string_property (seat, name); + return value ? atoi (value) : 0; } void @@ -154,7 +179,7 @@ seat_get_allow_guest (Seat *seat) { g_return_val_if_fail (seat != NULL, FALSE); - return seat->priv->allow_guest && guest_account_is_installed (); + return seat_get_boolean_property (seat, "allow-guest") && guest_account_is_installed (); } static gboolean @@ -227,16 +252,17 @@ } } -static gboolean +static void check_stopped (Seat *seat) { - if (g_list_length (seat->priv->displays) == 0) + if (seat->priv->stopping && + !seat->priv->stopped && + g_list_length (seat->priv->displays) == 0) { + seat->priv->stopped = TRUE; g_debug ("Seat stopped"); g_signal_emit (seat, signals[STOPPED], 0); - return TRUE; } - return FALSE; } static void @@ -247,8 +273,7 @@ g_signal_emit (seat, signals[DISPLAY_REMOVED], 0, display); g_object_unref (display); - if (seat->priv->stopping) - check_stopped (seat); + check_stopped (seat); } static gboolean @@ -296,18 +321,22 @@ } new_display = SEAT_GET_CLASS (seat)->add_display (seat); - display_load_config (DISPLAY (new_display), seat->priv->config_section); g_signal_connect (new_display, "switch-to-user", G_CALLBACK (display_switch_to_user_cb), seat); g_signal_connect (new_display, "switch-to-guest", G_CALLBACK (display_switch_to_guest_cb), seat); g_signal_connect (new_display, "get-guest-username", G_CALLBACK (display_get_guest_username_cb), seat); g_signal_connect (new_display, "ready", G_CALLBACK (display_ready_cb), seat); g_signal_connect (new_display, "session-stopped", G_CALLBACK (display_session_stopped_cb), seat); g_signal_connect (new_display, "stopped", G_CALLBACK (display_stopped_cb), seat); + display_set_greeter_session (new_display, seat_get_string_property (seat, "greeter-session")); + display_set_session_wrapper (new_display, seat_get_string_property (seat, "session-wrapper")); + display_set_hide_users_hint (new_display, seat_get_boolean_property (seat, "greeter-hide-users")); display_set_allow_guest (new_display, seat_get_allow_guest (seat)); if (autologin) display_set_autologin_user (new_display, username, is_guest, 0); else display_set_select_user_hint (new_display, username, is_guest); + if (!session_name) + session_name = seat_get_string_property (seat, "user-session"); display_set_user_session (new_display, session_name); seat->priv->displays = g_list_append (seat->priv->displays, new_display); @@ -373,38 +402,33 @@ SEAT_GET_CLASS (seat)->stop (seat); } +gboolean +seat_get_is_stopping (Seat *seat) +{ + g_return_val_if_fail (seat != NULL, FALSE); + return seat->priv->stopping; +} + static void seat_real_setup (Seat *seat) { - if (seat->priv->config_section && config_has_key (config_get_instance (), seat->priv->config_section, "allow-guest")) - seat->priv->allow_guest = config_get_boolean (config_get_instance (), seat->priv->config_section, "allow-guest"); - else if (config_has_key (config_get_instance (), "SeatDefaults", "allow-guest")) - seat->priv->allow_guest = config_get_boolean (config_get_instance (), "SeatDefaults", "allow-guest"); - if (seat->priv->config_section && config_has_key (config_get_instance (), seat->priv->config_section, "autologin-guest")) - seat->priv->autologin_guest = config_get_boolean (config_get_instance (), seat->priv->config_section, "autologin-guest"); - else if (config_has_key (config_get_instance (), "SeatDefaults", "autologin-guest")) - seat->priv->autologin_guest = config_get_boolean (config_get_instance (), "SeatDefaults", "autologin-guest"); - if (seat->priv->config_section) - seat->priv->autologin_username = config_get_string (config_get_instance (), seat->priv->config_section, "autologin-user"); - if (!seat->priv->autologin_username) - seat->priv->autologin_username = config_get_string (config_get_instance (), "SeatDefaults", "autologin-user"); - if (seat->priv->config_section && config_has_key (config_get_instance (), seat->priv->config_section, "autologin-user-timeout")) - seat->priv->autologin_timeout = config_get_integer (config_get_instance (), seat->priv->config_section, "autologin-user-timeout"); - else - seat->priv->autologin_timeout = config_get_integer (config_get_instance (), "SeatDefaults", "autologin-user-timeout"); - if (seat->priv->autologin_timeout < 0) - seat->priv->autologin_timeout = 0; } static gboolean seat_real_start (Seat *seat) { + const gchar *autologin_username; + g_debug ("Starting seat"); /* Start showing a greeter */ - if (seat->priv->autologin_username) - return switch_to_user_or_start_greeter (seat, seat->priv->autologin_username, FALSE, NULL, TRUE); - else if (seat->priv->autologin_guest) + autologin_username = seat_get_string_property (seat, "autologin-user"); + if (g_strcmp0 (autologin_username, "") == 0) + autologin_username = NULL; + + if (autologin_username) + return switch_to_user_or_start_greeter (seat, autologin_username, FALSE, NULL, TRUE); + else if (seat_get_boolean_property (seat, "autologin-guest")) return switch_to_user_or_start_greeter (seat, NULL, TRUE, NULL, TRUE); else return switch_to_user_or_start_greeter (seat, NULL, FALSE, NULL, FALSE); @@ -440,7 +464,8 @@ { GList *link; - if (check_stopped (seat)) + check_stopped (seat); + if (seat->priv->stopped) return; for (link = seat->priv->displays; link; link = link->next) @@ -454,6 +479,7 @@ seat_init (Seat *seat) { seat->priv = G_TYPE_INSTANCE_GET_PRIVATE (seat, SEAT_TYPE, SeatPrivate); + seat->priv->properties = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); } static void @@ -463,7 +489,8 @@ self = SEAT (object); - g_free (self->priv->config_section); + g_hash_table_unref (self->priv->properties); + g_free (self->priv->guest_username); g_list_free_full (self->priv->displays, g_object_unref); if (self->priv->active_display) g_object_unref (self->priv->active_display); --- lightdm-0.9.3.orig/src/session.c +++ lightdm-0.9.3/src/session.c @@ -19,7 +19,6 @@ #include #include "session.h" -#include "configuration.h" struct SessionPrivate { @@ -158,15 +157,11 @@ static gboolean session_real_start (Session *session) { - //gint session_stdin, session_stdout, session_stderr; - gboolean result; User *user; + gboolean result; gchar *absolute_command; GError *error = NULL; - g_return_val_if_fail (session->priv->authentication != NULL, FALSE); - g_return_val_if_fail (session->priv->command != NULL, FALSE); - absolute_command = get_absolute_command (session->priv->command); if (!absolute_command) { @@ -174,21 +169,7 @@ return FALSE; } - pam_session_open (session->priv->authentication); - - g_debug ("Launching session"); - user = pam_session_get_user (session->priv->authentication); - process_set_env (PROCESS (session), "PATH", "/usr/local/bin:/usr/bin:/bin"); - process_set_env (PROCESS (session), "USER", user_get_name (user)); - process_set_env (PROCESS (session), "USERNAME", user_get_name (user)); // FIXME: Is this required? - process_set_env (PROCESS (session), "HOME", user_get_home_directory (user)); - process_set_env (PROCESS (session), "SHELL", user_get_shell (user)); - set_env_from_authentication (session, session->priv->authentication); - - if (session->priv->cookie) - process_set_env (PROCESS (session), "XDG_SESSION_COOKIE", session->priv->cookie); - result = process_start (PROCESS (session), user, user_get_home_directory (user), @@ -206,8 +187,48 @@ gboolean session_start (Session *session) { - g_return_val_if_fail (session != NULL, FALSE); - return SESSION_GET_CLASS (session)->start (session); + User *user; + const gchar *orig_path; + gboolean result; + + g_return_val_if_fail (session != NULL, FALSE); + g_return_val_if_fail (session->priv->authentication != NULL, FALSE); + g_return_val_if_fail (session->priv->command != NULL, FALSE); + + g_debug ("Launching session"); + + pam_session_open (session->priv->authentication); + + user = pam_session_get_user (session->priv->authentication); + process_set_env (PROCESS (session), "PATH", "/usr/local/bin:/usr/bin:/bin"); + process_set_env (PROCESS (session), "USER", user_get_name (user)); + process_set_env (PROCESS (session), "USERNAME", user_get_name (user)); // FIXME: Is this required? + process_set_env (PROCESS (session), "HOME", user_get_home_directory (user)); + process_set_env (PROCESS (session), "SHELL", user_get_shell (user)); + set_env_from_authentication (session, session->priv->authentication); + + /* Insert our own utility directory to PATH + * This is to provide gdmflexiserver which provides backwards compatibility with GDM. + * Must be done after set_env_from_authentication because that often sets PATH. + * This can be removed when this is no longer required. + */ + orig_path = process_get_env (PROCESS (session), "PATH"); + if (orig_path) + { + gchar *path = g_strdup_printf ("%s:%s", PKGLIBEXEC_DIR, orig_path); + process_set_env (PROCESS (session), "PATH", path); + g_free (path); + } + + if (session->priv->cookie) + process_set_env (PROCESS (session), "XDG_SESSION_COOKIE", session->priv->cookie); + + result = SESSION_GET_CLASS (session)->start (session); + + if (!result) + pam_session_close (session->priv->authentication); + + return result; } static void --- lightdm-0.9.3.orig/liblightdm-gobject/user.c +++ lightdm-0.9.3/liblightdm-gobject/user.c @@ -186,7 +186,7 @@ } static void -load_passwd_file (LightDMUserList *user_list) +load_passwd_file (LightDMUserList *user_list, gboolean emit_add_signal) { LightDMUserListPrivate *priv = GET_LIST_PRIVATE (user_list); GKeyFile *config; @@ -326,7 +326,8 @@ LightDMUser *info = link->data; g_debug ("User %s added", lightdm_user_get_name (info)); g_signal_connect (info, "changed", G_CALLBACK (user_changed_cb), user_list); - g_signal_emit (user_list, list_signals[USER_ADDED], 0, info); + if (emit_add_signal) + g_signal_emit (user_list, list_signals[USER_ADDED], 0, info); } g_list_free (new_users); for (link = changed_users; link; link = link->next) @@ -364,7 +365,7 @@ if (event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT) { g_debug ("%s changed, reloading user list", g_file_get_path (file)); - load_passwd_file (user_list); + load_passwd_file (user_list, TRUE); } } @@ -667,7 +668,6 @@ update_users (LightDMUserList *user_list) { LightDMUserListPrivate *priv = GET_LIST_PRIVATE (user_list); - GFile *passwd_file; GError *error = NULL; if (priv->have_users) @@ -686,6 +686,21 @@ g_warning ("Error contacting org.freedesktop.Accounts: %s", error->message); g_clear_error (&error); + /* Check if the service exists */ + if (priv->accounts_service_proxy) + { + gchar *name; + + name = g_dbus_proxy_get_name_owner (priv->accounts_service_proxy); + if (!name) + { + g_debug ("org.freedesktop.Accounts does not exist, falling back to passwd file"); + g_object_unref (priv->accounts_service_proxy); + priv->accounts_service_proxy = NULL; + } + g_free (name); + } + if (priv->accounts_service_proxy) { GVariant *result; @@ -737,7 +752,9 @@ } else { - load_passwd_file (user_list); + GFile *passwd_file; + + load_passwd_file (user_list, FALSE); /* Watch for changes to user list */ passwd_file = g_file_new_for_path (PASSWD_FILE); @@ -1078,11 +1095,84 @@ // FIXME: Watch for changes + if (priv->language) + g_free (priv->language); + if (priv->layout) + g_free (priv->layout); + if (priv->session) + g_free (priv->session); + priv->language = g_key_file_get_string (priv->dmrc_file, "Desktop", "Language", NULL); priv->layout = g_key_file_get_string (priv->dmrc_file, "Desktop", "Layout", NULL); priv->session = g_key_file_get_string (priv->dmrc_file, "Desktop", "Session", NULL); } +static gchar * +get_string_property (GDBusProxy *proxy, const gchar *property) +{ + GVariant *answer; + gchar *rv; + + if (!proxy) + return NULL; + + answer = g_dbus_proxy_get_cached_property (proxy, property); + + if (!answer) { + g_warning ("Could not get accounts property %s", property); + return NULL; + } + + if (!g_variant_is_of_type (answer, G_VARIANT_TYPE ("s"))) { + g_warning ("Unexpected accounts property type for %s: %s", + property, g_variant_get_type_string (answer)); + g_variant_unref (answer); + return NULL; + } + + g_variant_get (answer, "s", &rv); + + g_variant_unref (answer); + return rv; +} + +static gboolean +load_accounts_service (LightDMUser *user) +{ + LightDMUserPrivate *priv = GET_USER_PRIVATE (user); + LightDMUserListPrivate *list_priv = GET_LIST_PRIVATE (priv->user_list); + + /* First, find AccountObject proxy */ + UserAccountObject *account = NULL; + GList *iter; + for (iter = list_priv->user_account_objects; iter; iter = iter->next) { + if (((UserAccountObject *)iter->data)->user == user) { + account = (UserAccountObject *)iter->data; + break; + } + } + if (!account) + return FALSE; + + /* We have proxy, let's grab some properties */ + if (priv->language) + g_free (priv->language); + if (priv->session) + g_free (priv->session); + priv->language = get_string_property (account->proxy, "Language"); + priv->session = get_string_property (account->proxy, "XSession"); + + return TRUE; +} + +/* Loads language/layout/session info for user */ +static void +load_user_values (LightDMUser *user) +{ + load_dmrc (user); + load_accounts_service (user); // overrides dmrc values +} + /** * lightdm_user_get_language * @user: A #LightDMUser @@ -1095,7 +1185,7 @@ lightdm_user_get_language (LightDMUser *user) { g_return_val_if_fail (LIGHTDM_IS_USER (user), NULL); - load_dmrc (user); + load_user_values (user); return GET_USER_PRIVATE (user)->language; } @@ -1111,7 +1201,7 @@ lightdm_user_get_layout (LightDMUser *user) { g_return_val_if_fail (LIGHTDM_IS_USER (user), NULL); - load_dmrc (user); + load_user_values (user); return GET_USER_PRIVATE (user)->layout; } @@ -1127,7 +1217,7 @@ lightdm_user_get_session (LightDMUser *user) { g_return_val_if_fail (LIGHTDM_IS_USER (user), NULL); - load_dmrc (user); + load_user_values (user); return GET_USER_PRIVATE (user)->session; } @@ -1250,69 +1340,69 @@ object_class->get_property = lightdm_user_get_property; object_class->finalize = lightdm_user_finalize; - g_object_class_install_property(object_class, - USER_PROP_NAME, - g_param_spec_string("name", - "name", - "Username", - NULL, - G_PARAM_READWRITE)); - g_object_class_install_property(object_class, - USER_PROP_REAL_NAME, - g_param_spec_string("real-name", - "real-name", - "Users real name", - NULL, - G_PARAM_READWRITE)); - g_object_class_install_property(object_class, - USER_PROP_DISPLAY_NAME, - g_param_spec_string("display-name", - "display-name", - "Users display name", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - USER_PROP_HOME_DIRECTORY, - g_param_spec_string("home-directory", - "home-directory", - "Home directory", - NULL, - G_PARAM_READWRITE)); - g_object_class_install_property(object_class, - USER_PROP_IMAGE, - g_param_spec_string("image", - "image", - "Avatar image", - NULL, - G_PARAM_READWRITE)); - g_object_class_install_property(object_class, - USER_PROP_LANGUAGE, - g_param_spec_string("language", - "language", - "Language used by this user", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - USER_PROP_LAYOUT, - g_param_spec_string("layout", - "layout", - "Keyboard layout used by this user", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - USER_PROP_SESSION, - g_param_spec_string("session", - "session", - "Session used by this user", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - USER_PROP_LOGGED_IN, - g_param_spec_boolean("logged-in", - "logged-in", - "TRUE if the user is currently in a session", - FALSE, - G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + USER_PROP_NAME, + g_param_spec_string ("name", + "name", + "Username", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + USER_PROP_REAL_NAME, + g_param_spec_string ("real-name", + "real-name", + "Users real name", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + USER_PROP_DISPLAY_NAME, + g_param_spec_string ("display-name", + "display-name", + "Users display name", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + USER_PROP_HOME_DIRECTORY, + g_param_spec_string ("home-directory", + "home-directory", + "Home directory", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + USER_PROP_IMAGE, + g_param_spec_string ("image", + "image", + "Avatar image", + NULL, + G_PARAM_READWRITE)); + g_object_class_install_property (object_class, + USER_PROP_LANGUAGE, + g_param_spec_string ("language", + "language", + "Language used by this user", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + USER_PROP_LAYOUT, + g_param_spec_string ("layout", + "layout", + "Keyboard layout used by this user", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + USER_PROP_SESSION, + g_param_spec_string ("session", + "session", + "Session used by this user", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + USER_PROP_LOGGED_IN, + g_param_spec_boolean ("logged-in", + "logged-in", + "TRUE if the user is currently in a session", + FALSE, + G_PARAM_READWRITE)); /** * LightDMUser::changed: --- lightdm-0.9.3.orig/liblightdm-gobject/layout.c +++ lightdm-0.9.3/liblightdm-gobject/layout.c @@ -235,25 +235,25 @@ object_class->set_property = lightdm_layout_set_property; object_class->get_property = lightdm_layout_get_property; - g_object_class_install_property(object_class, - PROP_NAME, - g_param_spec_string("name", - "name", - "Name of the layout", - NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property(object_class, - PROP_SHORT_DESCRIPTION, - g_param_spec_string("short-description", - "short-description", - "Short description of the layout", - NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property(object_class, - PROP_DESCRIPTION, - g_param_spec_string("description", - "description", - "Long description of the layout", - NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "name", + "Name of the layout", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_SHORT_DESCRIPTION, + g_param_spec_string ("short-description", + "short-description", + "Short description of the layout", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_DESCRIPTION, + g_param_spec_string ("description", + "description", + "Long description of the layout", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } --- lightdm-0.9.3.orig/liblightdm-gobject/language.c +++ lightdm-0.9.3/liblightdm-gobject/language.c @@ -298,25 +298,25 @@ object_class->set_property = lightdm_language_set_property; object_class->get_property = lightdm_language_get_property; - g_object_class_install_property(object_class, - PROP_CODE, - g_param_spec_string("code", - "code", - "Language code", - NULL, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property(object_class, - PROP_NAME, - g_param_spec_string("name", - "name", - "Name of the language", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - PROP_TERRITORY, - g_param_spec_string("territory", - "territory", - "Territory the language is from", - NULL, - G_PARAM_READABLE)); + g_object_class_install_property (object_class, + PROP_CODE, + g_param_spec_string ("code", + "code", + "Language code", + NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "name", + "Name of the language", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + PROP_TERRITORY, + g_param_spec_string ("territory", + "territory", + "Territory the language is from", + NULL, + G_PARAM_READABLE)); } --- lightdm-0.9.3.orig/liblightdm-gobject/session.c +++ lightdm-0.9.3/liblightdm-gobject/session.c @@ -275,25 +275,25 @@ object_class->set_property = lightdm_session_set_property; object_class->get_property = lightdm_session_get_property; - g_object_class_install_property(object_class, - PROP_KEY, - g_param_spec_string ("key", - "key", - "Session key", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - PROP_NAME, - g_param_spec_string ("name", - "name", - "Session name", - NULL, - G_PARAM_READABLE)); - g_object_class_install_property(object_class, - PROP_COMMENT, - g_param_spec_string ("comment", - "comment", - "Session comment", - NULL, - G_PARAM_READABLE)); + g_object_class_install_property (object_class, + PROP_KEY, + g_param_spec_string ("key", + "key", + "Session key", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "name", + "Session name", + NULL, + G_PARAM_READABLE)); + g_object_class_install_property (object_class, + PROP_COMMENT, + g_param_spec_string ("comment", + "comment", + "Session comment", + NULL, + G_PARAM_READABLE)); } --- lightdm-0.9.3.orig/greeters/gtk/lightdm-gtk-greeter.c +++ lightdm-0.9.3/greeters/gtk/lightdm-gtk-greeter.c @@ -388,7 +388,7 @@ gboolean matched; gtk_tree_model_get (model, iter, 0, &name, -1); - matched = strcmp (name, username) == 0; + matched = g_strcmp0 (name, username) == 0; g_free (name); if (matched) return TRUE;