Why are Linux symbolic links in account settings replaced with full path?
I am using Thunderbird 24.0.0 on Linux. My mail folders are on a flash drive. I remove .thunderbird and then make it a symbolic link to the mail folders on the flash drive. I set up the mail folders to point through the symbolic link. Everything works fine. As long as the flash drive gets mounted at the same point, Thunderbird works great.
But if the flash drive gets mounted at a different point, the email doesn't show up. When I look at the account settings, I find that Thunderbird had changed the address of the mail folders and signatures from the symbolic link to the full path. But since the flash drive is mounted differently (/media/sdb1 instead of /media/sdd1 for example), the path to the mail folders does not exist. Instead of .thunderbird/<something>.default, it changed the path to /media/sdd1/<something>.default. But since my mail folders today happened to be mounted on /media/sdb1, it can't find the mail. My .thunderbird "directory" is now a symbolic link to a directory on /media/sdb1 (where previously it was a symbolic link to the same directory on /media/sdd1)
Why does Thunderbird change the path I entered (the symbolic link) into the full path? This makes the mount point critical, which it shouldn't. I can manage pointing the symbolic link to the correct directory, but if Thunderbird is always using full paths instead of the symbolic link I entered, it doesn't help.
被采纳的解决方案
I don't understand how you expect a symbolic link to keep up with changing mount points.
However, the usual way to work with a profile in a non-standard location is to leave .thunderbird where it is, along with the profiles.ini file, and edit that to point to the profile's data folders. I don't know if this will be any more tolerant of a symbolic link, since it recognizes absolute vs relative pathnames. You could try to get the ini file to refer to a symlink to the real data folder location. There is a switch to tell it whether to interpret the path as relative or absolute. In this case, your symlink could be in the usual place and would therefore be relative.
In my experience, several add-ons also unhelpfully store pathnames to their own data files as absolute pathnames, so you may continue to be stymied here too. :-(
定位到答案原位置 👍 1所有回复 (2)
选择的解决方案
I don't understand how you expect a symbolic link to keep up with changing mount points.
However, the usual way to work with a profile in a non-standard location is to leave .thunderbird where it is, along with the profiles.ini file, and edit that to point to the profile's data folders. I don't know if this will be any more tolerant of a symbolic link, since it recognizes absolute vs relative pathnames. You could try to get the ini file to refer to a symlink to the real data folder location. There is a switch to tell it whether to interpret the path as relative or absolute. In this case, your symlink could be in the usual place and would therefore be relative.
In my experience, several add-ons also unhelpfully store pathnames to their own data files as absolute pathnames, so you may continue to be stymied here too. :-(
Thank you, that solution works well.
I don't need to keep the symbolic link changing except when I boot. I am using Linux on a Live CD, and saving my home directory so I can restore it later. The next time I boot, the flash drive may be mounted at a different point. As part of my start up, I can change the profile.ini to point to the actual path of the mail folders. Once mounted, it will (usually) stay mounted until the next time I boot up.