login, splash, and lock background..
While changing the desktop background is pretty straight forward on KDE, I did have some issues with the lightDM login, the splash, and the session lockout backgrounds. They are all independent of each other. The following is how I managed to change them.
The login screen..
In a terminal, I first copied an image I liked into the shared wallpapers/ directory and called it global-image.png. You may call it however you want.
sudo cp ~/Pictures/some-image.png /usr/share/wallpapers/global-image.png
I used this location since it kept the background consistently through reboots, where as using my user’s Pictures/ directory didn’t. Your mileage may differ. Then, in the System Settings>login screen(lightDM), I selected the above image by clicking on the background image button. I clicked Apply and that part was done.
The splash image..
By splash image I don’t mean the boot splash image before the login prompt, I mean the post login splash image, before the desktop is loaded:
I used the default setting with the Elarun image, which can be found at System Setings>Workspace Appearance>Splash Screen. Different resolutions exist in the themes directory for the splash, located at:
some-user:~$ ls /usr/share/kde4/apps/ksplash/Themes/Default/ 1024x768 1280x1024 1600x1200 1920x1080 1920x1200 600x400 800x600 Preview.png Theme.rc
Within each of the different resolution folders is a file called background.png. I didn’t really know which one to change, and although it was tedious, I simply created several blank images in gimp with the corresponding resolutions (skipped 600×400 and 800×600), and on the blanks I wrote what resolution the image was:
I then replaced each of them while keeping a copy of the original:
(To keep the commands short for this example, I CD into the directory)
cd /usr/share/kde4/apps/ksplash/Themes/Default/1024x768 sudo mv background.png background.png.bak sudo cp ~/Pictures/background-1024.png background.png cd /usr/share/kde4/apps/ksplash/Themes/Default/1280x1024 sudo mv background.png background.png.bak sudo cp ~/Pictures/background-1024.png background.png ...
note: I kept the name as background.png
After doing some of these, I then logged out and back in. During the login, I saw the 1920×1080 resolution image was being used, so I knew I had to change the corresponding file. Luckily, the image of my choice was already in this resolution, but you could always open an image editor and change yours if it isn’t in the corresponding resolution. If you have gimp, go to image>scale image and set the resolution. Then export the file as png (other formats work, but this is to keep the consistency). Now, I can link to my miage:
cd /usr/share/kde4/apps/ksplash/Themes/Default/1920x1080 sudo ln -s /usr/share/wallpapers/global-image.png background.png
There may have been a cache of the image, I’m not entirely sure they are related, but for good measure (and it,s just a cached image anyways) I deleted:
sudo rm /var/tmp/kdecache-some-user/ksplashx/Default-1366x768-background.png
The locked session..
For the locked session the procedure is pretty straight forward. In System Settings>Display and Monitor>Screen Locker, I selected Desktop Widgets and clicked customize. Here you’ll be presented with a blank screen where you can add widgets you’d like to make available if your session is locked. I right-clicked anywhere on the desktop and selected settings(the only option available on my machine) and here I selected the background image I copied to the shared wallpapers/ directory earlier.
However, this solution is if you wish to use widgets. Also, the Esc or some other key has to be typed before the password dialogue appears. If the widgets aren’t desired, then the simple locker should suffice. On my machine, the Elarun background is used by default, similar to the splash above. The image is located at:
Again, here I made a backup of the original, and then I simply created a link to the actual image I want to use:
cd /usr/share/wallpapers/Elarun/contents/images/ cp 2560x1600.png 2560x1600.png.bak sudo ln -s /usr/share/wallpapers/global-image.png 2560x1600.png
Now, when I lock my session, the new background is active, to unlock the session, I simply start typing my password. The same locker is used when waking from sleep. Also, if I decide I’d like to change the images, with the exception of the login screen, I simply replace the global-image.png I created, and the others are already linked to this location so I need not worry.
All done! Now, whenever I start-up my machine, all backgrounds are consistent.