KDE ログイン画面でアカウントを非表示にするにはどうすればいいですか?

KDE ログイン画面でアカウントを非表示にするにはどうすればいいですか?

私はラップトップで CentOS 7 仮想マシンを実行しており、KDE ​​(バージョン 4.14.8) を使用しています。この VM は Ansible コントロール タワーとして機能し、そこから同じラップトップで使用している他の (ヘッドレス) VM に Ansible の説明が適用されます。

問題は、グラフィカル ログイン画面にアカウントだけでなく自分のアカウントも表示されることですansible。システム アカウントはそのリストに表示されないと思ったので、システム アカウントを作成しました。ただし、ここに私のファイルansibleからの抜粋があります:/etc/passwd

hg:x:1002:1002:Mercurial SCM:/home/hg:/bin/bash
saned:x:986:980:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
backupscript:x:1003:1004:Data backup script:/home/backupscript:/sbin/nologin
ansible:x:985:979::/home/ansible:/bin/bash

ご覧のとおり、これhgはユーザー アカウントですが、ログイン画面には表示されません。つまり、ユーザー アカウントとシステム アカウントの区別は、アカウントがログイン画面に表示されるかどうかを決定する要素ではないということです。

ログイン画面でアカウントを非表示にするにはどうすればいいですか?

答え1

Kubuntuでは、次の行を追加できますHideUsers=アンシブル/etc/sddm.conf.d/kde_settings.conf[ユーザー]セクション。

自動化:

(
  username=ansible
  sudo mkdir -p /etc/sddm.conf.d
  echo "[Users]" | sudo tee /etc/sddm.conf.d/hide_${username}.conf
  echo "HideUsers=$username" | sudo tee -a /etc/sddm.conf.d/hide_${username}.conf
)

これが役に立つことを願っています。

答え2

ユーザーアカウントを非表示にするには、HideUsers=アンシブル[User] セッションの /etc/sddm.conf 内。

答え3

KDE 5では、SDMデフォルトのログインマネージャです。KDE 4を実行しているので、システムではケム代わりに、KDM ハンドブックはオンラインではなくなりましたが、Wayback Machine が救いの手を差し伸べてくれました。

第4章システム設定 → ログイン マネージャーから必要な操作を実行できると書かれていますが、具体的な内容は示されていません。

ユーザー

ここから、ログイン ウィンドウでのユーザーの表示方法を変更できます。

名前で指定したユーザーとは別に、システム UID を使用して、リストに表示される有効な UID の範囲を指定できます。デフォルトでは、1000 未満のユーザー ID (多くの場合、システムまたはデーモン ユーザー) と 30000 を超えるユーザー ID は表示されません。

または第5章編集できると書かれていますkdmrc:

ユーザーを表示

このオプションは、ユーザービューに表示されるユーザーを制御します(ユーザーリスト) および/または自動補完用に提供されています (ユーザー補完)。 もしそれがSelected選択されたユーザー最終的なユーザーリストが含まれます。 の場合NotHidden、初期ユーザーリストにはシステム上で見つかったすべてのユーザーが含まれます。 に含まれるユーザー非表示ユーザーリストから削除されるのは、指定されたUIDより大きいすべてのユーザーと同様です。最大表示UIDおよび指定されたUIDより小さい非ゼロのUIDを持つユーザー最小表示UID. アイテム選択されたユーザーそして非表示ユーザーのプレフィックスが付いているものは、@その項目で指定されたユーザーグループ内のすべてのユーザーを表します。最後に、ユーザーリストはアルファベット順にソートされます。ユーザーの並べ替え有効になっています。

デフォルトは「NotHidden」です。

(簡単に検索すると、このファイルは にあるはずです/etc/kde4/kdm/kdmrc。)


興味深いのは、 UID が 985 である/etc/passwdことが示されているansibleことです。つまり、これはデフォルトですでに非表示になっているはずです。上記のいずれかの構成オプションを使用すると、このデフォルトが何らかの方法で上書きされていることがわかる場合があります。

他の方法がすべて失敗した場合は、ユーザーを手動でansible別の UID に変更し、問題が解決するかどうかを確認できます。

まず、未使用のUIDを見つけます。このコマンドは、使用済みもの:

$ awk -F: '$0=$3 "\t"$1' /etc/passwd | sort -g

次に、39001 が使用可能であることがわかったと仮定して、UID を次のように変更します。

$ sudo usermod -u 39001 ansible

所有しているファイルはansible所有権のみが更新されることに注意してくださいansibleのホームディレクトリにある場合(/home/ansibleあなたの によると/etc/passwd)。 所有する他のものはすべて手動で dansibleする必要があります。chown

関連情報