I tried this a few times, but it wasn't until this afternoon that I stumbled upon the keys to getting something the Gnome Tweaks could process:
- You need a complete "cursor theme" in your /usr/share/icons directory. This (at least, so far as I'm aware) means all of the mouse pointers, not just the one you want to change.
- All mouse cursors have to be in the "X11 Mouse Cursor" format, with the extension lopped off.
- The primary mouse pointer is called "left_ptr"
- GIMP can save directly to that format.
- Mouse pointers can be as big as you want them to be.
So here we go. You'll need GIMP, and Gnome Tweaks.
Begin by creating a new subdirectory of /usr/share/icons. You'll need to sudo this.
Next, find an existing theme in /usr/share/icons that has a cursor.theme file and a cursors subdirectory, and copy them into the directory you just created. You'll need to sudo this as well.
Then, get your image of choice, and load it into GIMP. Get it into a square format, at least 24x24. I started with 32x32, then tried 64x64, then settled on 48x48.
Save it as an "X11 Mouse Cursor" (xmc) file. You'll get a dialog asking you how big (the size to which you scaled your image), and where to put the hotspot. In my case, the hotspot was at (0,0).
Now, once it's saved, rename it (assuming you're changing the primary mouse pointer) to "left_ptr" (lopping off the extension in the process).
Now, copy this into the "cursors" directory of your theme (in my case, /usr/share/icons/Willard/cursors).
Finally, go into Gnome Tweaks, go to Appearance, and change the cursor theme to your new one, and if everything went OK, it should take effect immediately.