Linux standalone instrument application and settings folder locations



  • I have not seen any information about where the instrument that you export from HISE on Linux is supposed to be located when you run it. Nor the presets or settings for it.

    First off, we are not talking about HISE itself, or building hise. Just the output of your project, the plugin or standalone Linux application and it´s used files.

    What are the proper places to put:

    1. the standalone application (the executable for Linux distros)
    2. the preset folder
    3. the settings for the standalone application and/or a plugin

    Where are they located?

    I just exported an application from hise, and I had no issues, it even plays sound 🙂 But when I make a search in the Linux Mint (17) file manager for the entire file-system, it results in an empty search. What´s the catch? Where are the files for my company and it´s products?



  • There is no standard location for the App. I like to put mine in a folder called .apps in the home directory, if it's for all users then it could go in the /opts folder. I leave it to the use to decide.

    Config files and presets go in home/.config/company_name/app_name this is like the appData folder on Windows.



  • @d-healey said in Linux standalone instrument application and settings folder locations:

    I like to put mine in a folder called .apps in the home directory

    Okay, no there really seems to be no definitive place like /Applications on a mac.

    There is a map here that says where Linux applications should go, depending on how they work or how they are delivered. That seems to be true for most Linux distributions. If an app is not an application delivered via a package manager, but is a self contained standalone app/executable, it seems it should go into /opt. Right?

    From an answer at askUbuntu:

    /opt is a directory to install unbundled packages each in their own subdirectory. They are already built whole packages provided by an independent third party software distributor. For example someapp would be installed in /opt/someapp ...

    The map shows this:
    Screen Shot 2020-12-01 at 22.28.57 - linux app folder proper paths.png
    (the standalone does not have dependencies, afaik, so /opt would be the place)



  • /opt is system wide, so in a multi-user system it might not be the best place, in a single user system it can be the right place but you're better off letting the user choose if you can.



  • @d-healey Very valid point 🙂 But in another machine, any other machine running macOS or windows, there is only one single place for the actual application. The user files are only the settings, here found under .config. A folder that begins with .config is not a folder though, not to a end user (a non developer of linux or web etc). So whoever thought of that is free to change it. (JUCE guys?) How about /home/documents ? Or am I assuming too much when it comes to differences between distros here? It seems like I might.

    On the other hand, users of a computer might not have access to installing system wide apps, like in a school or educational / studio environment.



  • @d-healey Btw, is there an application shortcut or a .desktop file or something like a symlink that tells the Linux OS where to look for or find the app? Is that a part of Makefile scripts? I did not want to include that stuff at all if possible in my releases, I really like .dll/.vst/.vst3/.so files only. And since the .config/my-company/my-product seems to be saving it all correctly for the plugins as well, that would work.

    So for delivery I could zip the plugin and standalone separately and just add location pointers for system folders, like a mac .dmg. Syminks for /opt or /usr/bin if the user prefers user-only installation. Then ask them to put cd /opt/my-company/my-product || chmod +x -v 'my-executable' into the Terminal.

    Even big DAWs have similar approaches (Ardour at least).



  • /home/.config is a folder. . on GNU/Linux means the folder is a hidden folder. The default vst folder is /home/.vst or /home/.vst3/ and LV2 plugins go in/home/.lv2`. I'm pretty sure most users are familiar with this.

    Windows and (especially) MacOS like to tell users what to do, GNU/Linux is a little more flexible generally, depending on the distro and desktop environment.

    is there an application shortcut or a .desktop

    Yes, but I'm not too familiar with the details and it's possible it varies between distros and desktop environments. I leave this up to the user.

    Ardour and Reaper use a self installer script. I use makeself.sh - https://makeself.io/ - and my exporter app uses this too to automatically create GNU/Linux packages, complete with license file display and post installation script. You can download an installer I created here to try it out.



  • @d-healey said in Linux standalone instrument application and settings folder locations:

    /home/.config is a folder. . on GNU/Linux means the folder is a hidden folder. The default vst folder is /home/.vst or /home/.vst3/ and LV2 plugins go in/home/.lv2`. I'm pretty sure most users are familiar with this.

    Windows and (especially) MacOS like to tell users what to do, GNU/Linux is a little more flexible generally, depending on the distro and desktop environment.

    Okay, that´s a big part of why a lot of people choose Linux instead of the others. That´s a part of the platform and most experienced users or intermediate will handle that fine. The obviousness/strictness of a mac is a big part of why an answer can be found almost anywhere. And having rules for it is a big part of a platform. Nevertheless, freedom is in the whole Linux air. To be respected.

    You can download an installer I created here to try it out.

    Will do! Thanks a lot for the info.

    This info should really go in the docs. The paths on Linux is an essential part of docs. One fine day. Perhaps I´ll get there first, you never know.



6
Online

954
Users

3.4k
Topics

28.7k
Posts