Motivation
For the longest time I had been planning to build a kick-ass workstation to experiment with virtualization, storage benchmarking and modern devops tools. I had started with some success using vmware ESXi but this not only required licensing, but also a second machine to act as a head which seemed cumbersome and wasteful. With KVM gaining ground as a virtualization host, I decided to try Linux/KVM/QEMU.
Distribution 
Since the Nutanix CVM is based on CentOS distribution AND most enterprises use RedHat Enterprise Linux (AKA RHEL) I decided to go with CentOS 7.
First Steps (first detour).
I wanted this to be a comfortable home environment, and so I started the first steps to some very slight customization. Coming from Mac OS, I expected this to be pretty trivial, but of course it was not. All I wanted was to have my username appear on the login sreen, along with a custom icon.
Who manages the login screen? Answer, gdm.
In Linux land, the login screen is managed by “gdm” regrettably users need to know this because, of course nothing works without tweaking a few things. GDM is the “GNOME Display Manager” confusingly, this is used pretty much regardless of whether the user wishes to use KDM or GNOME as the desktop manager. Setting an icon with one of the supplied images is trivial – using a custom icon – less so.
Of course there are hundreds of articles on customizing CentOS, but Centos 7 uses gdm V3. Lots of articles on the www seem not to work as expected with this version. Here’s what did work.
[gary@arches ~]$ gdm --version GDM 3.8.4
Setting “Faces” in the login screen. Ninja Style.
Copy a png to the directory /usr/share/pixmaps/faces/ Then set this image as the “User image” using the GUI tool “Settings/Users”. Images that are copied to that directory will automatically appear in the Image browser which appears when the users Icon is clicked. Specifically I was NOT able to have the icon recognized when the SAME image was named ~/.face despite all the articles claiming that it should.
In this case I added the images “hoff.png” and “Ninja.png”. Both worked fin.
hoff.png: PNG image data, 96 x 96, 8-bit/color RGB, non-interlaced Ninja.png: PNG image data, 151 x 151, 8-bit colormap, non-interlaced
Creating a login “Banner”.
A text message can be made to appear once the User has selected their icon, and the password box appears in the login screen. Create a file called 01-banner-message in /etc/dconf/db/gdm.d like this
[root@arches gdm.d]# cat 01-banner-message [org/gnome/login-screen] banner-message-enable=true banner-message-text='~=~=~= Welcome to Arches =~=~=~'
Creating “a logo”. WarGames – Naturally.
A small “logo” image can be made to appear on the login screen (after user has selected their username, and appears at the same time as the banner message, but at the bottom of the screen. Create a file called 01-logo in /etc/dconf/db/gdm.d
[root@arches gdm.d]# pwd /etc/dconf/db/gdm.d
[root@arches gdm.d]# cat 01-logo [org/gnome/login-screen] logo='/usr/share/pixmaps/WarGames-Med.jpg'
Removing unwanted “system” accounts from the login page.
In my case a single system user “openvpn” appeared in the login dialog box, even though the login shell was set to /sbin/false. I removed the encrypted password from the /etc/shadow file, and replaced it with “!!” which is what the other system were set as. Obviously this user can no longer login, but that should not be a problem.
qemu:!!:16529:::::: sssd:!!:16704:::::: openvpn:!!:16740:0:99999:7::: openvpn_as:!!:16740:0:99999:7::: gnome-initial-setup:!!:16741::::::