[GH 13837] Remove trailing slash from $XDG_RUNTIME_DIR

This commit is contained in:
Ben Hillis 2025-12-16 14:52:46 -08:00
parent e24df7e0d1
commit 4d4fa761d4
2 changed files with 10 additions and 3 deletions

View File

@ -690,7 +690,7 @@ try
}
Common->Environment.AddVariable("DBUS_SESSION_BUS_ADDRESS", std::format("unix:path=/run/user/{}/bus", PasswordEntry->pw_uid));
Common->Environment.AddVariable(XDG_RUNTIME_DIR_ENV, std::format("/run/user/{}/", PasswordEntry->pw_uid));
Common->Environment.AddVariable(XDG_RUNTIME_DIR_ENV, std::format("/run/user/{}", PasswordEntry->pw_uid));
}
//

View File

@ -268,8 +268,12 @@ class UnitTests
{
validateUserSession();
auto [out, err] = LxsstuLaunchWslAndCaptureOutput(std::format(L"echo $DISPLAY", LXSST_TEST_USERNAME));
auto [out, err] = LxsstuLaunchWslAndCaptureOutput(std::format(L"--user {} echo $DISPLAY", LXSST_TEST_USERNAME));
VERIFY_ARE_EQUAL(out, L"\n");
// N.B. The XDG_RUNTIME_DIR variable is always set by init even if gui apps are disabled.
std::tie(out, err) = LxsstuLaunchWslAndCaptureOutput(std::format(L"--user {} echo $XDG_RUNTIME_DIR", LXSST_TEST_USERNAME));
VERIFY_ARE_EQUAL(out, std::format(L"/run/user/{}\n", TestUid).c_str());
}
// Validate user sessions state with gui apps enabled.
@ -277,8 +281,11 @@ class UnitTests
WslConfigChange config(LxssGenerateTestConfig({.guiApplications = true}));
validateUserSession();
auto [out, err] = LxsstuLaunchWslAndCaptureOutput(std::format(L"echo $DISPLAY", LXSST_TEST_USERNAME));
auto [out, err] = LxsstuLaunchWslAndCaptureOutput(std::format(L"--user {} echo $DISPLAY", LXSST_TEST_USERNAME));
VERIFY_ARE_EQUAL(out, L":0\n");
std::tie(out, err) = LxsstuLaunchWslAndCaptureOutput(std::format(L"--user {} echo $XDG_RUNTIME_DIR", LXSST_TEST_USERNAME));
VERIFY_ARE_EQUAL(out, std::format(L"/run/user/{}\n", TestUid).c_str());
}
// Create a 'broken' /run/user and validate that the warning is correctly displayed.