Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: DISPLAY problem with zsh + fvwm + firejail

On 1 Jan 2020, at 14:58, Dominik Vogt <dominik.vogt@xxxxxx> wrote:
> I can't firgure out what's going on.  For some reason, DISPLAY is
> set to an empty string between the final execvp() call in firejail
> and the place that uses the value, and the shell may or may not be
> involved in this problem.  Note that the same occurs if any shell
> is set explicitly:

I have absolutely no experience with fvwm or firejail, but:

In the first place, i don't understand what your output means when it says
that DISPLAY=:0 is passed as an argument to execvp(). execvp() doesn't take
environment variables as arguments. Is it using something in between, like env
or sh, to run it? Or is it just worded imprecisely?

Assuming the latter, could it be that you have some kind of shared file, like
/etc/environment, that shells on your system are configured to run on
start-up? And maybe that's clearing DISPLAY based on other environment
variables or whatever? That seems like a silly thing to do, but if you export
a variable and then it's unset/changed when you check it from within the
shell, that's the first thing that comes to mind. (Excepting a few special
variables that the shell uses for itself, obv.)

Does it show the correct value if you just run env instead of zsh? If not, i
think that would mean it's not actually exporting it the way it's suggesting
it is. If so, something running in the shell unsetting it seems more likely.

Anyay, you can run zsh with -x to see what it might be doing before the set
command. You might also try it with -f (to disable sourcing start-up files)


Messages sorted by: Reverse Date, Date, Thread, Author