The title says it all - I think
![Wink :wink:](./images/smilies/icon_wink.gif)
I like to run programs without to install these programs, So, there's programs from .sfs files, RoxApps, AppImages etc.pp. But it's a bit uncomfortable to open external directories first to run a RoxApp or an AppImage. Smarter way is to run them just by a menu entry as it would work if these programs would be installed as usual. A .desktop file placed on the desktop would do it also.
Symbolic links will work fine unless the order of drives/partitions are changing when booting from different sources, like USB flash drives. In such cases the boot directory is not sda1 (as usual) and other partitions on the flash drive won't appear anymore as sda2, sda3 etc.pp.
So, in my LazY Puppies I've established some additional environment variables. It's content may change from time to time depending on where to boot the Puppy from (e.g. internal HD or USB flash drive)
E.g.: one environment variable is $MYPORTABLEAPPS.
In my 32bit LazY Puppy this would be e.g.:
- /mnt/sda1/PortableApplications
or in my 64bit LazY Puppy this would be:
- /mnt/sda1/PortableApplications64
Another environment variable is $MYROXAPPS.
Which currently is equal in my 32bit and 64bit LazY Puppy:
- /mnt/sda2/RoxApps
But when booting from USB flash drive this could be also:
- /mnt/sdc1/PortableApplications64
or even
/mnt/sdc2/RoxApps
for the RoxApps to run.
So, no matter what's the content of $MYPORTABLEAPPS I can run OpenShot-v2.5.1-x86_64.AppImage by a menu entry if the Exec= line looks like this:
Exec=sh -c "$MYPORTABLEAPPS/PortableLinux/Video/OpenShot-v2.5.1-x86_64.AppImage"
Or even for the RoxApp version:
Exec=sh -c "$MYROXAPPS/Video/OpenShot-v2.5.1-x86_64.AppImage"
Global environment variables can be defined e.g. in /etc/profile or /etc/profile.local. They need to be exported.
E.g.: export MY_GLOBAL_EV_VAR=PathToTheProgamOrDirectory