How do I hide a particular user from the login screen on a default install of 11.10 and higher? (ie. using Unity Greeter)?
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
What you need to do instead is to reconfigure
To hide a user named
XXX, create a file named
containing two lines:
If the file already exists, make sure you append the
SystemAccount=true line to the
The change takes effect after reloading AccountsService:
sudo systemctl restart accounts-daemon.service
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
On some versions of lighdm (Ubuntu 14.04) you need to rename
/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
user-name with the actual user name, just as
This a variation of James' answer. You can hide users in lightDM by simply assigning them an ID below the minimum ID found in:
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.