ログイン画面で特定のユーザーを非表示にするにはどうすればよいですか?


85

11.10以降のデフォルトインストールでログイン画面から特定のユーザーを非表示にするにはどうすればよいですか?(つまり、Unity Greeterを使用)?

回答:


92

お使いのシステムが使用している場合AccountsService、あなたがすることはできません再構成して、グリーター画面からユーザを隠すlightdmそれが延期のでAccountsService。それはコメントで非常にはっきりと述べられています/etc/lightdm/users.conf


代わりに行う必要があるのは、再構成することAccountsServiceです。

という名前のユーザーを非表示にするには、という名前XXXのファイルを作成します

/var/lib/AccountsService/users/XXX

2行を含む:

[User]
SystemAccount=true

ファイルがすでに存在する場合はSystemAccount=true[User]セクションに行を追加してください。


4
バニラ14.04セットアップで動作します
frnhr

3
Ubuntu 16.04でも動作をテストしました。
ソパラホデアリエレス

1
これは、GNOME 3とのUbuntu 17.10上でも動作します
Schuh

Ubuntu 19.04 Disco Dingoの正解です。
Aiyion.Prime

1
これはUbuntu 19.04で機能しています。XXXをエイリアスではなく実際のユーザー名として使用することを忘れないでください。たとえば、「postgres」ユーザー名には「PostgreSQL」エイリアスがあります。この場合、ファイルの名前として「postgres」を使用する必要があります。
フアンガルシア

40

現在、lightdmのバグのため、この方法は機能していません。

この方法を適用する前に、バグのステータスを確認してください。


あなたがしたいことはここにあります:

まず、設定のバックアップを作成します。

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](in /etc/lightdm/users.conf)に名前を変更する必要があります。(これが必要な理由に興味がある場合はcommon/user-list.c:321、lightdmソースから参照してください。)


14.04では動作しなくなりましたが、以下の@ marc-cullerからaskubuntu.com/a/575390/7304と回答してください
ローレン

6年たってもまだ修正されていない、ため息:(
Bulletmagnet

@Bulletmagnet well Ubuntuはもうlightdmを使用していません:(
jrg

使用方法が何であれ、問題は解決し
ません

16

バグ857651が修正されるまでの選択肢は、uid <1000のユーザーを作成することです

たとえば、1000未満の新しいuidを割り当てるには(999を使用しています)このコマンドを使用します

sudo usermod -u 999 user-name

交換するuser-nameと同じように、実際のユーザー名とanwardetlyなど


3
これによりユーザーは非表示になりますが、uidを変更する場合は、通常同じ番号であるため、gidも変更する必要がありますsudo groupmod -g999 user-name。dqvn2002の回答で述べているように、Ubuntu 12.04の場合、500未満の数字が必要になるため、999は機能しません。
ランバート14

2
そして忘れないでください!ユーザーIDを変更すると、そのユーザーが所有しているプラ​​イベートファイルは突然アクセスできなくなります。実行する必要があります(例)sudo chown -R user-name:user-name /home/user-name
ランバート14

8

Ubuntu 12.04セットアップ

[UserAccounts]  
minimum-uid=500

uid500未満を減らす必要があります

例: sudo usermod -u 499 user-name

それは私と一緒に動作します!幸運を祈ります。


chownOerHeksの答えにコメントしたように、グループID、およびユーザーが所有するファイルも変更する必要がある場合があります。
ランバート14

4

この方法はUbuntu 13.10では機能しません。

ユーザーのログイン名を正しく非表示にするにはLightDMの設定を開く必要があります。

sudo vim /etc/lightdm/lightdm.conf

次のオプションを追加します。

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

次に、保存して再起動します。それで全部です。


2
受け入れられた方法は14.04ではまだ機能せず、手動ログインを表示することも最適なオプションのようです。14.04で、この回答にリストされている行を/usr/share/lightdm/lightdm.conf.d/50-ubuntu.confに追加します。ゲストユーザーも無効にする場合は、allow-guest = falseを追加します
Luca Borrione

1

これはジェームズの答えのバリエーションです。lightDMでユーザーを非表示にするには、次の場所にある最小IDの下にIDを割り当てるだけです。

/etc/lightdm/users.conf

私のPCでは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

ターミナルで簡単にUIDを変更できます:

sudo usermod -u PutUserNameHere

私のPC(2016年)で動作するため、2014年にEliah KaganがJamesの答えに関して言及したlightDMのバグは解決されたと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.