130

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

detly
  • 3,472

8 Answers8

153

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.

The change takes effect after reloading AccountsService:

sudo systemctl restart accounts-daemon.service
mga0
  • 63
Marc Culler
  • 1,646
46

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

Eliah Kagan
  • 119,640
jrg
  • 61,707
17

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.

Anwar
  • 77,855
OerHeks
  • 171
  • 1
  • 4
10

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.

Seth
  • 59,332
dqvn2002
  • 101
4

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.

Braiam
  • 69,112
1

In Ubuntu:

printf "[User]\nSystemAccount=true\n" | sudo tee /var/lib/AccountsService/users/libvirt-qemu
sudo systemctl restart accounts-daemon.service 
1

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.

0

I just got this done using Login Manager Settings, a nice little graphical app which can be installed in a matter of seconds with flatpak:

flatpak install https://dl.flathub.org/repo/appstream/io.github.realmazharhussain.GdmSettings.flatpakref

Ok, it doesn't support hiding specific users (it will just hide all of them requiring everyone to type their username) but honestly I don't even think about complaining considering how quick and comfortable the process was.

That said, the same article where I found about the above app, also describes two other more conventional approaches, which are reported to work fine with latest Ubuntu releases (the article is just one month old).

  • Option 1: Create configuration file to disable user list
  • Option 2: Disable user list via settings command

Read more about them at https://fostips.com/hide-user-list-gdm-login-screen-ubuntu-20-04-20-10/

red-o-alf
  • 101