How do I hide a particular user from the login screen on a default install of 11.10 and higher? (ie. using Unity Greeter)?

up vote 70 down vote accepted

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.

  • 4
    works on vanilla 14.04 setup – frnhr Mar 15 '15 at 10:21
  • 2
    Tested working on Ubuntu 16.04 too. – Sopalajo de Arrierez Sep 11 '17 at 23:45
  • This works also on Ubuntu 17.10 with Gnome 3 – Schuh Mar 15 at 14:04
up vote 39 down vote
+100

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.)

  • Does not work on 14.04 anymore but answer askubuntu.com/a/575390/7304 from @marc-culler below works. – laurent Mar 31 '15 at 9:15
  • Still not fixed after six years, sigh :( – Bulletmagnet Dec 1 '17 at 16:29
  • @Bulletmagnet well Ubuntu isn't using lightdm anymore :( – jrg Dec 1 '17 at 20:25
  • Whatever it's using, the problem persists :( – Bulletmagnet Dec 2 '17 at 10:31

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.

  • 2
    This hides the user, but if you're changing the uid you may also want to change the gid, since they are usually the same number: sudo groupmod -g999 user-name. And as dqvn2002 mentions in their answer, for Ubuntu 12.04 you'll need a number < 500, so 999 won't work. – Lambart Feb 7 '14 at 1:21
  • 1
    And don't forget! When you change the user id, any private files owned by that user will suddenly become inaccessible. You'll need to run (e.g.) sudo chown -R user-name:user-name /home/user-name. – Lambart Feb 7 '14 at 1:23

because the Ubuntu 12.04 setup

[UserAccounts]  
minimum-uid=500

so we need to reduce the uid less than 500

example: sudo usermod -u 499 user-name

It works with me! SOLVED Good luck.

  • You may want/need to also change the group id, and chown any files owned by the user, as I commented on OerHeks' answer. – Lambart Feb 7 '14 at 1:25

This method is not works on Ubuntu 13.10.

To hide user login names correctly You must to open LightDM config:

sudo vim /etc/lightdm/lightdm.conf

and add the following options:

greeter-hide-users=true
greeter-show-manual-login=true

Then save and reboot. That's all.

  • 2
    The accepted method is still not working on 14.04 and showing the manual login seems to me the best option too. In 14.04 add the lines listed in this answer to /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf .. if you want also to disable the guest user then append allow-guest=false – Luca Borrione Apr 18 '14 at 22:34

This a variation of James' answer. You can hide users in lightDM by simply assigning them an ID below the minimum ID found in:

/etc/lightdm/users.conf

On my PC it was 1000

# 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=1000

You can change UID easilly in terminal:

sudo usermod -u PutUserNameHere

It works on my PC (in 2016), so I guess the lightDM bug that Eliah Kagan mentioned in 2014 with regards James' answer has been resolved.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.