On 2/18/25 4:26 AM, Daniel P. Berrangé wrote:
On Mon, Feb 17, 2025 at 03:11:56PM -0500, Laine Stump wrote:
On 2/17/25 5:28 AM, Daniel P. Berrangé wrote:
On Mon, Feb 17, 2025 at 02:14:49AM -0500, Laine Stump wrote:
But sometimes XDG_RUNTIME_DIR isn't set in the user's environment.

Do you have examples of scenarios in which this happens, and
yet the /run/user/NNNN directory is still being created, as
that rather sounds like something is broken outside of libvirt.

After seeing the bug report, I replicated the situation by ssh'ing in as a
user that hadn't previously logged in, and then unsetting XDG_RUNTIME_DIR. I
hadn't thought there might be some other case where the user could be logged
in but XDG_RUNTIME_DIR had never been set.

But after seeing your question I tried running

   sudo $someuser virsh list

NB, that is the classic sudo usage trapdoor, because they didn't
make "-i" (aka --login) the default, so your environment is not
populated correctly.

I'd hope that when passing sudo -i ... it will do the right
thing

It seems not. If I login as $someuser, start a guest, then in a separate terminal window from root run:

      sudo -u $someuser -i virsh list

It returns an empty list (the same as if I omit the -i). By running the same command without "virsh list", I'm given a shell instance, and within that shell I can see that $UID, $USER, and $EUID are all set, but $XDG_RUNTIME_DIR is not.

Reply via email to