5

I would like to set an environment variable so that it is set when I launch a specific Flatpak application, and only set for this application. How do I go about doing this in a permanent manner?

4
  • And how can I do it non-persistently, actually? Do the usual shell commands of prepending the env variable before the command work?
    – rugk
    Feb 16 at 20:13
  • 1
    Oh I saw -env=VARIABLE_NAME=VARIABLE_VALUE also works with flatpak run. :)
    – rugk
    Feb 16 at 20:18
  • 1
    @rugk I think it's actually --env not -env Oct 13 at 12:47
  • @robertspierre Oh yes, of course.
    – rugk
    Oct 14 at 17:23
2

You can do this via the flatpak override command.

To set only one environment variable you can use this syntax:

flatpak override --env=VARIABLE_NAME=VARIABLE_VALUE full.application.Name

To set multiple environment variables you can use this syntax:

flatpak override --env=VARIABLE_NAME_ONE=VARIABLE_VALUE_ONE --env=VARIABLE_NAME_TWO=VARIABLE_VALUE_TWO full.application.Name

This will set it globally and therefore requires you to run the command as root. If you want to do this for your current user, you can add the --user parameter to the command, like so:

flatpak override --user --env=VARIABLE_NAME=VARIABLE_VALUE full.application.Name

Source and further reading: http://docs.flatpak.org/en/latest/flatpak-command-reference.html#flatpak-override

3
  • 1
    (1) I don’t have Flatpak, so I can’t experiment, but are you sure the --env="NAME1=VALUE1 NAME2=VAL2" syntax really works?  I see nothing in the documentation that suggests that it does.  Rather, it suggests --env="NAME1=VALUE1"--env="NAME2=VAL2".  (2) If it works as you describe, I don’t see how you would set an environment variable value that contains space(s) and equal sign(s).  For example, I wonder what --env="RELATIVITY=Einstein says E=mc^2" does. May 13 at 21:10
  • as @G-ManSays'ReinstateMonica' mentioned --env can be used multiple times and join them with space is not working.
    – Tim Green
    Sep 27 at 13:11
  • I thought I tested it and saw it work, but maybe I'm wrong. I'll update my answer.
    – Newbyte
    Sep 27 at 15:33
1

The Flatseal application lets you set environment variables and other things relating to your installed flatpaks in a convenient fashion if you are GUI sort of person.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.