emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some environment variables disappeared for getenv


From: Julien Cubizolles
Subject: Re: Some environment variables disappeared for getenv
Date: Thu, 15 Sep 2022 15:28:17 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

<tomas@tuxteam.de> writes:

> On Thu, Sep 15, 2022 at 01:12:02PM +0200, Julien Cubizolles wrote:
>> I used to rely on getenv to get the value of $XDG_SESSION_TYPE. I
>> noticed that recently:
>> --8<---------------cut here---------------start------------->8---
>> (getenv "XDG_SESSION_TYPE")
>> --8<---------------cut here---------------end--------------->8---
>> returns nil, because this variable isn't in process-environment
>> 
>> What is the reason for dropping this particular variable ? How can I get
>> the value of this variable from within Emacs ?
>
> The process that starts your Emacs has to pass it on (that's the idea
> of environment variables). If things changed, this is where you have
> to look.
>
> How is your Emacs started?

It's started through a user systemd service that hasn't changed in
years.

--8<---------------cut here---------------start------------->8---
[Service]
Type=forking
Environment='XMODIFIERS=""'
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(progn (setq kill-emacs-hook 
daemon-kill-emacs-hook) (kill-emacs))"
Restart=on-failure
Environment="DISPLAY=:%i"
TimeoutStartSec=0
--8<---------------cut here---------------end--------------->8---

In the getenv docstring, there is a mention of variable
process-environment, containing a list of environment variables, not
refered to in the systemd service file but nonetheless accessible to
getenv (some are XDG variables like XDG_DATA_DIRS). Maybe
XDG_SESSION_TYPE has been dropped from this list ?


-- 
Julien Cubizolles




reply via email to

[Prev in Thread] Current Thread [Next in Thread]