Hi. Here is what you need to do.
Your home directory must actually be /home/$USER
You need to do whatever necessary to make your home directory located in that place.
I used to have my home directory on a place /data1/home/hideo.
I done that to use a second SSD drive with bigger free space.
I made that directory look like /home/hideo to the operating system.
Here is what I did:
Step 1. I added the following line on /etc/fstab
/data1/home /home none bind
This will cause a “bind mount”.
After a reboot, my home directory is visible in 2 locations, the original /data1/home/hideo and /home/hideo
Now, I need to actually make my home directory to be /home/hideo.
Step 2. For that, I edited /etc/passwd and searched for my entry, changed the home directory location from /data1/home/hideo to /home/hideo
Then, logout and login again. Now my home directory is /home/hideo.
And snap works.
I had a bunch of files in my home directory that contained absolute path names within that home directory.
I deleted them all and recreated them.
To conclude, as far as I know, you cannot keep your home directory at someplace other than /home/$USER. You have to actually move your home directory location to the standard place.
Hope this is clear enough.
Cheers.