After hours of researching on how to change my login background on this Kali Rolling Version, I finally found this solution.
This instruction is for Kali Rolling Version only! If you are looking for Kali 2.0 scroll down, find the post.
I'm on Kali Rolling Version
*Kernel release: 4.6.0-kali1-amd64
*Kernel version: #1 SMP Debian 4.6.4-1kali1 (2016-07-21)
*GNOME Shell 3.21.90
Got the instructions from here, but I corrected the script and added a forward slash after theme/ to make it work. See below.
1. Save the script below to a file - myscript.sh
Code:
#!/bin/sh
workdir=${HOME}/shell-theme/
if [ ! -d ${workdir}/theme ]; then
mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource
for r in `gresource list $gst`; do
gresource extract $gst $r >$workdir${r#\/org\/gnome\/shell/}
done
2. Run the script on the command line: bash myscript.sh
- the script just extracted files from "/usr/share/gnome-shell/gnome-shell-theme.gresource"
3. You should now have a directory "/shell-theme/theme/"
- CHANGE to this directory and copy your file background here
- view the extracted files via the command line (e.g. ls -l)
4. create a file called "gnome-shell-theme.gresource.xml"
- add the code below
- on the line that has FILENAME replace it with the filename of your background
- save and exit
Code:
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">
<file>calendar-arrow-left.svg</file>
<file>calendar-arrow-right.svg</file>
<file>calendar-today.svg</file>
<file>checkbox-focused.svg</file>
<file>checkbox-off-focused.svg</file>
<file>checkbox-off.svg</file>
<file>checkbox.svg</file>
<file>close-window.svg</file>
<file>close.svg</file>
<file>corner-ripple-ltr.png</file>
<file>corner-ripple-rtl.png</file>
<file>dash-placeholder.svg</file>
<file>filter-selected-ltr.svg</file>
<file>filter-selected-rtl.svg</file>
<file>gnome-shell.css</file>
<file>gnome-shell-high-contrast.css</file>
<file>logged-in-indicator.svg</file>
<file>FILENAME</file>
<file>more-results.svg</file>
<file>no-events.svg</file>
<file>no-notifications.svg</file>
<file>noise-texture.png</file>
<file>page-indicator-active.svg</file>
<file>page-indicator-inactive.svg</file>
<file>page-indicator-checked.svg</file>
<file>page-indicator-hover.svg</file>
<file>process-working.svg</file>
<file>running-indicator.svg</file>
<file>source-button-border.svg</file>
<file>summary-counter.svg</file>
<file>toggle-off-us.svg</file>
<file>toggle-off-intl.svg</file>
<file>toggle-on-hc.svg</file>
<file>toggle-on-us.svg</file>
<file>toggle-on-intl.svg</file>
<file>ws-switch-arrow-up.png</file>
<file>ws-switch-arrow-down.png</file>
</gresource>
</gresources>
5. Open gnome-shell.css, find and modify the following id element: #lockDialogGroup
- add the filename of your background.
- add dimensions of your background (optional)
- add "no-repeat" means no tiled effect
- save and exit
Code:
#lockDialogGroup {
background: #2e3436 url(resource:///org/gnome/shell/theme/FILENAME);
background-size: [WIDTH]px [HEIGHT]px;
background-repeat: no-repeat;
}
6. Compile this resource
- on the command line type: glib-compile-resources gnome-shell-theme.gresource.xml
- the result would be a new file called: gnome-shell-theme.gresource
Note: Disregard the error, "XMLLINT not set and xmllint not found in path; skipping xml preprocessing."
the compilation will still produce a "gnome-shell-theme.gresource" file. list your directory to see it.
7. Rename the OLD: gnome-shell-theme.gresource to whatever you like
- mv /usr/share/gnome-shell/gnome-shell-theme.gresource /usr/share/gnome-shell/gnome-shell-theme.gresource.bak
(add sudo if you are not on root)
8. Copy the NEW: gnome-shell-theme.gresource TO /usr/share/gnome-shell/
cp gnome-shell-theme.gresource /usr/share/gnome-shell/
(add sudo if you are not on root)
- reboot and your new login background is now applied.
Hope this helps...