问题描述
如何在11.10及更高版本的默认安装中从登录屏幕隐藏特定用户? (即使用Unity Greeter)?
最佳解决方法
如果您的系统使用AccountsService
,则无法通过重新配置lightdm
来隐藏用户,因为它会按照AccountsService
。 /etc/lightdm/users.conf
的评论清楚地表明了这一点。
你需要做的是重新配置AccountsService
。
要隐藏名为XXX
的用户,请创建一个名为的文件
/var/lib/AccountsService/users/XXX
包含两行:
[User]
SystemAccount=true
如果该文件已存在,请确保将SystemAccount=true
行附加到[User]
部分。
次佳解决方法
目前由于lightdm中的bug,此方法不起作用。
在应用此方法之前,请检查错误状态。
下面你想要做什么:
首先,对你的配置进行备份。
sudo cp /etc/lightdm/users.conf /etc/lightdm/users.conf.bak
然后,你需要编辑你的配置:
sudo nano /etc/lightdm/users.conf
你会看到这样的东西:
#
# 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
我们感兴趣的是这里的一部分:
hidden-users=nobody nobody4 noaccess
要隐藏用户名james
,只需像这样添加它:
hidden-users=nobody nobody4 noaccess james
然后,重新启动您的电脑,它应该消失。
作为对其他人的参考,请参阅
参见https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/857651
在某些版本的lighdm(Ubuntu 14.04)中,您需要将[UserAccounts]
重命名为[UserList]
(在/etc/lightdm/users.conf
中)以使此方法起作用。 (如果您有兴趣了解为什么这可能是必要的,请参阅来自lightdm源代码的common/user-list.c:321
。)
第三种解决方法
您的选项,直到bug 857651被修正为使用uid< 1000
例如,要分配小于1000的新uid(我们使用999),请使用此命令
sudo usermod -u 999 user-name
用实际的用户名替换user-name
,就像anwar
或detly
等一样。
第四种方法
因为Ubuntu 12.04安装程序
[UserAccounts]
minimum-uid=500
所以我们需要减少uid
小于500
例如:sudo usermod -u 499 user-name
它与我合作!已解决祝你好运。
第五种方法
此方法在Ubuntu 13.10上无效。
要正确隐藏用户登录名您必须打开LightDM config:
sudo vim /etc/lightdm/lightdm.conf
并添加以下选项:
greeter-hide-users=true
greeter-show-manual-login=true
然后保存并重新启动。就这样。