Background
So you use an app launcher (dmenu of course) and things are great but your local (e.g. ~/apps/appName
) apps are not available, what do you do? Most app launchers index and/or find binaries (or links to binaries) in common places such as /usr/bin
and /usr/lib
along with the user’s binary location, typically ~/bin
. If you do not have a ~/bin
directory simply create one. You may also want to check out your ~/.profile
file to ensure it includes ~/bin
in your path similar to as follows:
|
|
note: if you change your .profile make sure to reload it (e.g. $ source ~/.profile
) to have the changes take effect immediately
Details
For this example, we will use TOR as an example of an application that we have downloaded and extracted to ~/apps
. After the application has been downloaded and extracted to the ~/apps
directory we have the following file structure:
- application directory:
~/apps/tor_2.2.34-1/
- executable name:
start-tor-browser
The application launcher does not index the ~/apps
directory and all sub-directories within so what we do is create a symbolic link in our user’s bin directory that points to the binary we want to execute. This allows the app-launcher to index the symbolic link and execute the binary link when the symbolic link is used. This also keeps your bin directory clean (e.g. the full tor_2.2.34-1 code is not in your bin directory).
To do this we issue the following command:
|
|
The above command creates a symbolic link named “tor” which points to the start-tor-browser
binary in the ~/apps/tor_2.2.34-1
directory. The application is not important, for example if you wanted to launch firefox through the app-launcher you would use $ ln -s ~/apps/firefox/firefox firefox
Hope this small tip helps and if there are any questions or issues contact us!