Change Start Menu Icon in Zorin 17.1 Core

To my knowledge there is no way of updating the start menu icon in a system-friendly way, and it's possible for an update to reset some settings to their default values. In this case, the start menu icon, which I knew it could be overwritten but didn't know for sure.

Luckily, is not something we can't work around with yet another hack :smiley: Let's write a small shell script to update the icon on every boot, as follows:

#!/bin/bash

folder=/usr/share/gnome-shell/extensions/zorin-menu@zorinos.com
default_file=zorin-icon-symbolic.svg
custom_file=/home/zenzen/Desktop/debian_pixel_art.svg

# Nothing to do.
if [[ -h ${folder}/${file} ]];
then
  exit 0;
fi

if [[ ! -f ${folder}/${file}.bak ]];
then
  mv "${folder}/${file}" "${folder}/${file}.bak"
fi

ln -s "$custom_file" "${folder}/${file}"

All you need to change from this script is the line that starts with "custom_file". It needs to point to the exact location in your system where the svg icon that you want to use lives. Do not leave any spaces in between the equal signs.

Save this file with a meaningful name so that you remember what it does. I suggest saving it under a hidden folder in your home folder: /home/zenzen/.local/bin (hidden folders start with a period). This location is typically used for scripts but you can place it anywhere you like.

Next, we need to create a so-called "cron job" which will run a particular command at the given schedule. In our case, we want to run this on every boot. You'll need to open the terminal for this, and run the following command:

sudo crontab -e

You should see a small prompt asking which editor to use. Press 1 and hit enter to use something called nano.

Then, at the bottom of the file add a single line like so:

@reboot /home/zenzen/.local/bin/update_start_menu_icon.sh

Here you should change the username and the location of the script that you chose. To save the changes in nano, press Ctrl+O, and exit with Ctrl+X.

You're almost done, but don't close the terminal just yet. You need to run this command to make the script executable. This way, you can re-run it yourself if you ever need or want to.

chmod +x /home/zenzen/.local/bin/update_start_menu_icon.sh

Ok, done! Restart and see if this makes a difference.

2 Likes