lightdm-mini-greeter

by prikhi

A Minimal, Configurable, Single-User GTK3 LightDM Greeter

248 Stars 35 Forks Last release: 7 months ago (0.4.0) GNU General Public License v3.0 143 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Mini-Greeter

AUR package Codacy Badge

A minimal but highly configurable single-user GTK3 greeter for LightDM.

Inspired by the SLiM Display Manager & LightDM GTK3 Greeter.

Goals

Eventually this is will present a more customizable interface:

  • Randomized Background Wallpapers
  • Configurable language/session info? (lightdm provides this already?)
  • Hotkey to cycle between DE/WM sessions
  • Handle GdkDisplay's
    monitor-added
    &
    monitor-removed
    signals

Open Feature Requests

Current Status

Right now you can:

  • log in
  • hide the
    Password:
    label & customize the text
  • hide the password input's cursor
  • set the size of the login window, the font & every color.
  • set a background image.
  • use modifiable hotkeys to trigger a shutdown, restart, hibernate or suspend.

A screen with a dark background and a single password input box in the center

Install

Arch Linux

Install the lightdm-mini-greeter package from the Arch User Repository:

packer -S lightdm-mini-greeter

Gentoo Linux

Emerge the lightdm-mini-greeter package:

emerge x11-misc/lightdm-mini-greeter

NixOS

Enable & configure the greeter & default session in your

configuration.nix
:
{
    services.xserver = {
        enable = true;
        displayManager.lightdm.greeters.mini = {
            enable = true;
            user = "your-username";
            extraConfig = ''
                [greeter]
                show-password-label = false
                [greeter-theme]
                background-image = ""
            '';
        };
        windowManager = {
            default = "awesome";
            awesome.enable = true;
        };
    };
}

Then rebuild & switch your configuration with

nixos-rebuild switch
.

Debian

Debian packages for the latest

stable
branch are available on the Releases page.

You can use

debhelper
to build the package yourself:
sudo apt-get install build-essential automake pkg-config fakeroot debhelper \
    liblightdm-gobject-dev libgtk-3-dev
cd lightdm-mini-greeter
fakeroot dh binary
sudo dpkg -i ../lightdm-mini-greeter_*.deb

Manual

You will need

automake
,
pkg-config
,
gtk+
, &
liblightdm-gobject
to build the project.

Grab the source, build the greeter, & install it manually:

./autogen.sh
./configure --datadir /usr/share --bindir /usr/bin --sysconfdir /etc
make
sudo make install

Run

sudo make uninstall
to remove the greeter.

Configure

Once installed, you should specify

lightdm-mini-greeter
as your
greeter-session
in
/etc/lightdm/lightdm.conf
. If you have multiple Desktop Environments or Window Managers installed, you can specify the one to start by changing the
user-session
option as well(look in
/usr/share/xsession
for possible values).

Modify

/etc/lightdm/lightdm-mini-greeter.conf
to customize the greeter. At the very least, you will need to set the
user
.

You can test it out using LightDM's

test-mode
:
lightdm --test-mode -d

Or with

dm-tool
:
dm-tool add-nested-seat

Note: If you've added a

background-image
it will appear in this preview, but it may not appear during normal use if the file is not in directory which lightdm has permission to read(like
/etc/lightdm/
). A symlink into this location won't work.

Keyboard layout

If your keyboard layout is loaded from your shell configuration files (

.bashrc
for example) then it might not be possible to type certain characters after installing lightdm-mini-greeter. You should consider modifying your Xorg keyboard configuration.

For example for a french keyboard layout (azerty) you should edit/create

/etc/X11/xorg.conf.d/00-keyboard.conf
with at least the following options:
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbModel" "pc104"
        Option "XkbLayout" "fr"
EndSection

Contribute

You can submit feature requests, bug reports, pull requests or patches on either github or redmine.

If you like Mini-Greeter, please consider packaging it for your distribution.

Style

  • Use indentation and braces, 4 spaces - no tabs, no trailing whitespace.
  • Declare pointers like this:
    char *p1, *p2;
    , avoid:
    char* p1;
    .
  • Function braces should be on their own line.
  • If/else/while/do should always use braces and indentation.
  • Use
    g_critical
    for irrecoverable user errors,
    g_error
    for programming errors.

When in doubt, check surrounding code.

License

GPL-3

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.