[26297] in Source-Commits
/svn/athena r25500 - in trunk/debathena/config/lightdm-config/debian: . po
daemon@ATHENA.MIT.EDU (Jonathan D Reed)
Mon May 14 13:24:33 2012
Date: Mon, 14 May 2012 13:24:31 -0400
From: Jonathan D Reed <jdreed@MIT.EDU>
Message-Id: <201205141724.q4EHOVJg019624@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: jdreed
Date: 2012-05-14 13:24:31 -0400 (Mon, 14 May 2012)
New Revision: 25500
Added:
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.config
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.postinst
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.prerm
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.templates
trunk/debathena/config/lightdm-config/debian/po/
trunk/debathena/config/lightdm-config/debian/po/POTFILES.in
trunk/debathena/config/lightdm-config/debian/po/templates.pot
Modified:
trunk/debathena/config/lightdm-config/debian/changelog
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter
trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter.ui
Log:
* Add power management dialog
* Debconf for installation and removal
* i18n for debconf to make Lintian happy
Modified: trunk/debathena/config/lightdm-config/debian/changelog
===================================================================
--- trunk/debathena/config/lightdm-config/debian/changelog 2012-05-14 02:31:34 UTC (rev 25499)
+++ trunk/debathena/config/lightdm-config/debian/changelog 2012-05-14 17:24:31 UTC (rev 25500)
@@ -1,4 +1,4 @@
-debathena-lightdm-config (1.0) UNRELEASED; urgency=low
+debathena-lightdm-config (1.0) unstable; urgency=low
* Initial release.
Added: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.config
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.config (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.config 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+# Ask the user whether or not to force the greeter
+db_input high debathena-lightdm-config/force_greeter || true
+db_go
Added: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.postinst
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.postinst (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.postinst 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1,56 @@
+#!/bin/sh
+# postinst script for debathena-lightdm-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+GREETER="debathena-lightdm-greeter"
+SET_DEFAULTS="/usr/lib/lightdm/lightdm-set-defaults"
+
+case "$1" in
+ configure)
+ # First, set it anyway with --keep-old since maybe they don't
+ # have a greeter set
+ [ -x "$SET_DEFAULTS" ] && \
+ "$SET_DEFAULTS" -k -g "$GREETER" || true
+ if ! grep -qxF "greeter-session=$GREETER" /etc/lightdm/lightdm.conf; then
+ # OK, they were using something else
+ db_get debathena-lightdm-config/force_greeter
+ if [ "$RET" = "true" ]; then
+ "$SET_DEFAULTS" -g "$GREETER" || true
+ fi
+ fi
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Added: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.prerm
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.prerm (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.prerm 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1,70 @@
+#!/bin/sh
+# prerm script for debathena-lightdm-config
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+GREETER="debathena-lightdm-greeter"
+SET_DEFAULTS="/usr/lib/lightdm/lightdm-set-defaults"
+
+set_useful_greeter () {
+ GREETER_DIR=/usr/share/xgreeters
+ if [ -f "${GREETER_DIR}/unity-greeter.desktop" ]; then
+ "$SET_DEFAULTS" -g unity-greeter || true
+ elif [ -f "${GREETER_DIR}/lightdm-gtk-greeter.desktop" ]; then
+ "$SET_DEFAULTS" -g lightdm-gtk-greeter.desktop || true
+ else
+ GREETER=$(basename $(echo $(ls $GREETER_DIR/*.desktop | grep -v debathena) | cut -d ' ' -f 1) | sed -e 's/\.desktop$//')
+ if [ -n "$GREETER" ]; then
+ "$SET_DEFAULTS" -g "$GREETER" || true
+ fi
+ fi
+}
+
+
+case "$1" in
+ remove|deconfigure)
+ # Because this returns 4 when it doesn't remove the value
+ # because why not
+ "$SET_DEFAULTS" -r -g "$GREETER" || true
+ if ! grep -q "^greeter-session" /etc/lightdm/lightdm.conf || \
+ grep -qxF "greeter-session=" /etc/lightdm/lightdm.conf; then
+ db_input high debathena-lightdm-config/uninstall || true
+ db_go
+ set_useful_greeter
+ fi
+ ;;
+
+ upgrade)
+ ;;
+
+ failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Added: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.templates
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.templates (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-config.templates 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1,28 @@
+Template: debathena-lightdm-config/force_greeter
+Type: boolean
+Default: true
+_Description: Do you want to use the Debathena LightDM greeter?
+ The Debathena LightDM greeter is a greeter for the LightDM display
+ manager. It configures your workstation's login screen to look like
+ those in the public Athena clusters.
+ .
+ The Debathena team _strongly encourages_ the use of the Debathena
+ greeter. If you choose to use another greeter, you are strongly
+ encouraged to read the instructions at
+ /usr/share/doc/debathena-lightdm-config/README or other users may have
+ difficulty logging in.
+ .
+ If you have no greeter set, the debathena-lightdm-greeter will be
+ selected regardless of the answer to this question.
+
+Template: debathena-lightdm-config/uninstall
+Type: note
+_Description: A new greeter will be selected for you
+ LightDM won't function without a greeter. Since you're uninstalling
+ (or deconfiguring) this package, a new one will be selected
+ automatically, in the following order of preference:
+ - unity-greeter
+ - lightdm-gtk-greeter
+ - the first greeter found in /usr/share/xgreeters
+ .
+ You can change the greeter with /usr/lib/lightdm/lightdm-set-defaults
Modified: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter 2012-05-14 02:31:34 UTC (rev 25499)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter 2012-05-14 17:24:31 UTC (rev 25500)
@@ -13,6 +13,8 @@
import subprocess
import pwd
import time
+import os.path
+from optparse import OptionParser
# TODO: ConfigParser
MIN_UID=1
@@ -37,10 +39,10 @@
if type(args[0]) is str and len(args) > 1:
print >> sys.stderr, "D: " + args[0], args[1:]
else:
- print >> sys.stderr, "D:", args[0]
+ print >> sys.stderr, "D: ", args[0]
- def __init__(self):
- self.debugMode = True
+ def __init__(self, options):
+ self.debugMode = options.debug
self.timePedantry = True
# Set up and connect to the greeter
@@ -63,10 +65,16 @@
# Save the screen size for various window operations
defaultScreen = Gdk.Screen.get_default()
self.screenSize = (defaultScreen.width(), defaultScreen.height())
+
+ self.get_workstation_information()
# Load the UI and get objects we care about
self.builder = Gtk.Builder()
- self.builder.add_from_file(UI_FILE)
+ try:
+ self.builder.add_from_file(options.ui_file)
+ except GLib.GError, e:
+ print >> sys.stderr, "FATAL: Unable to load UI: ", e
+ sys.exit(-1)
# The login window
self.winLogin = self.builder.get_object("winLogin")
@@ -94,6 +102,14 @@
# TODO: Select the configured default session or the user's session
self.cmbSession.set_active(0)
+ self.powerDlg = self.builder.get_object("powerDialog")
+ # LightDM checks with PolKit for the various "get_can_foo()" functions
+ self.builder.get_object("rbShutdown").set_sensitive(LightDM.get_can_shutdown())
+ self.builder.get_object("rbReboot").set_sensitive(LightDM.get_can_restart())
+ # We don't allow suspend/hibernate on cluster
+ self.builder.get_object("rbHibernate").set_sensitive(LightDM.get_can_hibernate() and self.metapackage != "debathena-cluster")
+ self.builder.get_object("rbSuspend").set_sensitive(LightDM.get_can_suspend() and self.metapackage != "debathena-cluster")
+
# Scaling factor for smaller displays
logoScale = 0.40 if self.screenSize[1] <= 768 else 0.60
self.animate = self.setup_owl(logoScale)
@@ -135,21 +151,35 @@
# The "branding window", in the bottom right
winBranding = self.builder.get_object("winBranding")
lblBranding = self.builder.get_object("lblBranding")
- (metapackage, baseos) = self.get_workstation_information()
arch = platform.machine()
if arch != "x86_64":
arch = "<b>" + arch + "</b>"
# Possibly no longer needed, workaround for a Glade bug in Gtk+ 2
lblBranding.set_property('can_focus', False)
winBranding.set_property('can_focus', False)
- lblBranding.set_markup(metapackage + "\n" + baseos + "\n" + arch)
+ lblBranding.set_markup(self.metapackage + "\n" + self.baseos + "\n" + arch)
winBranding.set_gravity(Gdk.Gravity.SOUTH_EAST)
width, height = winBranding.get_size()
winBranding.move(self.screenSize[0] - width, self.screenSize[1] - height)
winBranding.show_all()
def showPowerDialog(self, widget):
- pass
+ if self.powerDlg.run() == Gtk.ResponseType.OK:
+ # Just do the action. The relevant buttons should be
+ # greyed out for things we can't do. LightDM will
+ # check with ConsoleKit anyway
+ try:
+ if self.builder.get_object("rbShutdown").get_active():
+ LightDM.shutdown()
+ elif self.builder.get_object("rbReboot").get_active():
+ LightDM.restart()
+ elif self.builder.get_object("rbHiberate").get_active():
+ LightDM.hibernate()
+ elif self.builder.get_object("rbSuspend").get_active():
+ LightDM.suspend()
+ except Glib.Gerror, e:
+ self.errDialog(str(e))
+ self.powerDlg.hide()
def showAccessDialog(self, widget):
pass
@@ -388,22 +418,27 @@
def get_workstation_information(self):
try:
- metapackage = subprocess.Popen(["machtype", "-L"], stdout=subprocess.PIPE).communicate()[0].rstrip()
+ self.metapackage = subprocess.Popen(["machtype", "-L"], stdout=subprocess.PIPE).communicate()[0].rstrip()
except OSError:
- metapackage = '(error)'
+ self.metapackage = '(unknown metapackage)'
try:
- baseos = subprocess.Popen(["machtype", "-E"], stdout=subprocess.PIPE).communicate()[0].rstrip()
+ self.baseos = subprocess.Popen(["machtype", "-E"], stdout=subprocess.PIPE).communicate()[0].rstrip()
except OSError:
- baseos = '(error)'
+ self.baseos = '(unknown OS)'
- return (metapackage, baseos)
if __name__ == '__main__':
+ parser = OptionParser()
+ parser.set_defaults(debug=False)
+ parser.add_option("--debug", action="store_true", dest="debug")
+ parser.add_option("--ui", action="store", type="string",
+ default=UI_FILE, dest="ui_file")
+ (options, args) = parser.parse_args()
Gtk.init(None);
main_loop = GObject.MainLoop ()
- dagreeter = DebathenaGreeter()
+ dagreeter = DebathenaGreeter(options)
# Add a timeout for the owl animation
GObject.timeout_add(50, dagreeter.update_owl)
# Add a timeout for the clock in the panel
Modified: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter.ui
===================================================================
--- trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter.ui 2012-05-14 02:31:34 UTC (rev 25499)
+++ trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter.ui 2012-05-14 17:24:31 UTC (rev 25500)
@@ -11,6 +11,191 @@
<property name="can_focus">False</property>
<property name="icon_name">preferences-desktop-accessibility</property>
</object>
+ <object class="GtkDialog" id="powerDialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="resizable">False</property>
+ <property name="modal">True</property>
+ <property name="window_position">center</property>
+ <property name="type_hint">dialog</property>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="dialog-vbox1">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkBox" id="box3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-quit</property>
+ <property name="icon-size">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">What would you like to do?</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkRadioButton" id="rbShutdown">
+ <property name="label" translatable="yes">Shut Down</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rbReboot">
+ <property name="label" translatable="yes">Reboot</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">rbShutdown</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rbSuspend">
+ <property name="label" translatable="yes">Suspend</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">rbShutdown</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rbHibernate">
+ <property name="label" translatable="yes">Hibernate</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">rbShutdown</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox" id="dialog-action_area1">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="btnOK">
+ <property name="label">gtk-ok</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">button2</action-widget>
+ <action-widget response="-5">btnOK</action-widget>
+ </action-widgets>
+ </object>
<object class="GtkWindow" id="winBg">
<property name="can_focus">False</property>
<property name="skip_taskbar_hint">True</property>
Property changes on: trunk/debathena/config/lightdm-config/debian/debathena-lightdm-greeter.ui
___________________________________________________________________
Deleted: svn:executable
- *
Added: trunk/debathena/config/lightdm-config/debian/po/POTFILES.in
===================================================================
--- trunk/debathena/config/lightdm-config/debian/po/POTFILES.in (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/po/POTFILES.in 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] debathena-lightdm-config.templates
Added: trunk/debathena/config/lightdm-config/debian/po/templates.pot
===================================================================
--- trunk/debathena/config/lightdm-config/debian/po/templates.pot (rev 0)
+++ trunk/debathena/config/lightdm-config/debian/po/templates.pot 2012-05-14 17:24:31 UTC (rev 25500)
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: debathena-lightdm-config@packages.debian.org\n"
+"POT-Creation-Date: 2012-05-14 11:05-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../debathena-lightdm-config.templates:1001
+msgid "Do you want to use the Debathena LightDM greeter?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../debathena-lightdm-config.templates:1001
+msgid ""
+"The Debathena LightDM greeter is a greeter for the LightDM display manager. "
+"It configures your workstation's login screen to look like those in the "
+"public Athena clusters."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../debathena-lightdm-config.templates:1001
+msgid ""
+"The Debathena team _strongly encourages_ the use of the Debathena greeter. "
+"If you choose to use another greeter, you are strongly encouraged to read "
+"the instructions at /usr/share/doc/debathena-lightdm-config/README or other "
+"users may have difficulty logging in."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../debathena-lightdm-config.templates:1001
+msgid ""
+"If you have no greeter set, the debathena-lightdm-greeter will be selected "
+"regardless of the answer to this question."
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../debathena-lightdm-config.templates:2001
+msgid "A new greeter will be selected for you"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../debathena-lightdm-config.templates:2001
+msgid ""
+"LightDM won't function without a greeter. Since you're uninstalling (or "
+"deconfiguring) this package, a new one will be selected automatically, in "
+"the following order of preference: - unity-greeter - lightdm-gtk-greeter - "
+"the first greeter found in /usr/share/xgreeters"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../debathena-lightdm-config.templates:2001
+msgid "You can change the greeter with /usr/lib/lightdm/lightdm-set-defaults"
+msgstr ""