How do I hide a particular user from the login screen?

If your system uses AccountsService, you can not hide a user from the greeter screen by reconfiguring lightdm because it defers to AccountsService. That is stated very clearly in the comments in /etc/lightdm/users.conf.


What you need to do instead is to reconfigure AccountsService.

To hide a user named XXX, create a file named

/var/lib/AccountsService/users/XXX

containing two lines:

[User]
SystemAccount=true

If the file already exists, make sure you append the SystemAccount=true line to the [User] section.


Currently this method is not working because of a bug in lightdm.

Please check the bug status before applying this method.


Heres what you want to do:

First, make a backup of your config.

sudo cp /etc/lightdm/users.conf /etc/lightdm/users.conf.bak

Then, you need to edit your config:

sudo nano /etc/lightdm/users.conf

You'll see something like this:

#
# User accounts configuration
#
# NOTE: If you have AccountsService installed on your system, then LightDM will
# use this instead and these settings will be ignored
#
# minimum-uid = Minimum UID required to be shown in greeter
# hidden-users = Users that are not shown to the user
# hidden-shells = Shells that indicate a user cannot login
#
[UserAccounts]
minimum-uid=500
hidden-users=nobody nobody4 noaccess
hidden-shells=/bin/false /usr/sbin/nologin

Of interest to us is the part here:

hidden-users=nobody nobody4 noaccess

To hide the username james, just add it like this:

hidden-users=nobody nobody4 noaccess james

Then, reboot your computer and it should be gone.

As a reference to others, see

See https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/857651

On some versions of lighdm (Ubuntu 14.04) you need to rename [UserAccounts] to [UserList] (in /etc/lightdm/users.conf) for this method to work. (If you're interested in why this may be necessary, see common/user-list.c:321 from lightdm source.)


Your option until bug 857651 is fixed is to create the user with uid < 1000

For example, to assign new uid less than 1000, (we are using 999) use this command

sudo usermod -u 999 user-name

Replace the user-name with the actual user name, just as anwar or detly etc.