You are not logged in.

#1 2024-12-12 03:17:01

Nipun_Drall
Member
Registered: 2024-12-12
Posts: 9

[SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

Hello all,
I use arch with hyprland in which i've two users one i use for my normal task and another i use for gaming.  And the issue i'm currently having is that i'm unable to login from the user i use for games. another user account is working perfectly.

when i try to login from sddm it goes black and gets back to the sddm login screen. And i can login from another user normally.

I've tried login in from tty and i can login in without issue but when i try to start hyprland it gives error as below

[ndsgame@NDSarch ~]$ hyprland
[CRITICAL] Critical error thrown: XDG_RUNTIME_DIR is not set!
terminate called after throwing an instance of 'std::runtime_error'
  what():  XDG_RUNTIME_DIR is not set!
Aborted (core dumped)

Things that i was doing in my last session  heroic launcher was open, nautilus was being used, and i've changes screen resolution which doesn't work so i changed it back.
And i've logged out without closing these programs
I'm writing this from the same machine just with a different user account. And yes i can delete this user and recreate again but i just want to know the reason why this happened.
Any help would be very much appreciated.

Last edited by Nipun_Drall (2024-12-17 15:44:09)


Just Google Me

Offline

#2 2024-12-12 04:58:05

pvtvega
Member
Registered: 2024-11-25
Posts: 90

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

If you log into the working user and run

echo $XDG_RUNTIME_DIR

you will see something like

/run/usr/1000

This is a directory where temporary files are stored that are needed by currently running processes, including Hyprland. If you log into the gaming account and run

export XDG_RUNTIME_DIR=/run/user/$(id -u)

you can try manually setting it for your session and then launching Hyprland. For whatever reason it seems like the session manager is not properly configuring this environment variable in the new login session. If the above works, you can modify your .bashrc to set this variable, or try installing Universal Wayland Session Manager (UWSM) which according to the Hyprland wiki:

is a recommended way to start Hyprland session on systemd distros. uwsm wraps standalone Wayland compositors into a set of Systemd units and provides robust session management including environment, XDG autostart support, bi-directional binding with login session, and clean shutdown.

The error is probably related to the fact that you had running processes in that session and it didn't terminate cleanly last time. You could also try rebooting the system, logging straight into the gaming account and then launching Hyprland to confirm if this is the culprit.

Offline

#3 2024-12-12 07:03:48

Nipun_Drall
Member
Registered: 2024-12-12
Posts: 9

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

thanks for help but it's still not working

i've tried manually setting variables but it gives error as below

[ndsgame@NDSarch ~]$ hyprland
Welcome to Hyprland!
Bailing out, couldn't create /run/user/1001/hypr/12f9a0d0b93f691d4d9923716557154d74777b0a_1733985992_1082345277
Hyprland threw in ctor: CCompositor() failed
Cannot continue.

Have tried with UWSM but it still gives error as below

[ndsgame@NDSarch ~]$ uwsm start hyprland
org.freedesktop.DBus.Error.NotSupported: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

And as for the reboot that's the first thing i've done, as it fixes most things but it didn't this time.

One more thing there is no directory with 1001 in /run/user/

Last edited by Nipun_Drall (2024-12-17 15:31:23)


Just Google Me

Offline

#4 2024-12-12 11:09:29

seth
Member
Registered: 2012-09-03
Posts: 60,762

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

You don't have to set that environment, sddm should do that for you.
Since only this user is affected, please post your hyprland config resp. also try to log into a not-hyprland (sway, weston, openbox, …) session as that user.

Offline

#5 2024-12-12 13:14:40

Nipun_Drall
Member
Registered: 2024-12-12
Posts: 9

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

I've tried with sway and Gnome and it logs in fine with both users.


Here are my file dotfiles this is the first thing I've tried changing but unfortunately it didn't help.

https://github.com/nipundrall/NDS-Hyprland.git

it's the same in the users config


Just Google Me

Offline

#6 2024-12-12 18:14:20

seth
Member
Registered: 2012-09-03
Posts: 60,762

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

Here are my file dotfiles this is the first thing I've tried changing

Try removing them so we know where we're at.
Also

One more thing there is no directory with 1001 in /run/user/

Why is your UID 1001, not 1000?
Before trying to start hyprland

loginctl session-status
printenv

Offline

#7 2024-12-13 14:15:08

Nipun_Drall
Member
Registered: 2024-12-12
Posts: 9

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

I've tried removing my config files and it still give me an error as below

 ndsgame@NDSarch ~]$ hyprland
Welcome to Hyprland!
Bailing out, couldn't create /run/user/1001/hypr/12f9a0d0b93f691d4d9923716557154d74777b0a_1734098013_1578653240
Hyprland threw in ctor: CCompositor() failed
Cannot continue.

And my UID is 1001 as i have two users and i'm currently having problem with my 2nd user. First user is working fine but 2nd user is giving me error.


And as for the command i've listed the output below


For printenv

[ndsgame@NDSarch ~]$ printenv
SHELL=/usr/bin/bash
PWD=/home/ndsgame
LOGNAME=ndsgame
HOME=/home/ndsgame
LANG=en_US.UTF-8
TERM=xterm-kitty
USER=ndsgame
SHLVL=1
XDG_RUNTIME_DIR=/run/user/1001
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
_=/usr/bin/printenv

And for loginctl session-status   {I'm sorry for this but i'm accessing my 2nd user by using su - command in terminal in my first user session (hope you understand what i'm trying to say)}

[ndsgame@NDSarch ~]$ loginctl session-status
2 - nipun (1000)
  Since: Fri 2024-12-13 19:03:25 IST; 22min ago
  State: active
 Leader: 637 (sddm-helper)
   Seat: seat0; vc1
    TTY: tty1
 Remote: no
Service: sddm
   Type: wayland
  Class: user
Desktop: Hyprland
   Idle: no
   Unit: session-2.scope
         ├─ 637 /usr/lib/sddm/sddm-helper --socket /tmp/sddm-auth-3cd7dd74-aa68-4465-a764-79d1c1961cb4 --id 1 --start Hyprland --user nipun
         ├─ 670 Hyprland
         ├─ 789 rclone mount ndsgdrive: /home/nipun/Drive --vfs-cache-mode writes
         ├─ 791 /usr/bin/python /usr/bin/udiskie
         ├─ 793 waybar
         ├─ 799 hypridle
         ├─ 801 hyprpaper
         ├─ 809 wl-paste --type text --watch cliphist store
         ├─ 811 wl-paste --type image --watch cliphist store
         ├─ 819 Xwayland :1 -rootless -core -listenfd 58 -listenfd 59 -displayfd 92 -wm 89
         ├─1034 /usr/lib/firefox/firefox
         ├─1114 /usr/lib/firefox/firefox -contentproc -parentBuildID 20241211112127 -prefsHandle 0 -prefsLen 34314 -prefMapHandle 1 -prefMapSize 259164 -sandboxReporter 2 -chrootClient 3 -ipcHandle 4 -initia>
         ├─1133 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 34439 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─1191 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 41739 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─1254 /usr/lib/firefox/firefox -contentproc -parentBuildID 20241211112127 -sandboxingKind 0 -prefsHandle 0 -prefsLen 41726 -prefMapHandle 1 -prefMapSize 259164 -sandboxReporter 2 -chrootClient 3 -i>
         ├─1261 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 37632 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─1546 nautilus
         ├─2327 /usr/lib/firefox/firefox -contentproc -parentBuildID 20241211112127 -prefsHandle 0 -prefsLen 42251 -prefMapHandle 1 -prefMapSize 259164 -sandboxReporter 2 -chrootClient 3 -ipcHandle 4 -initia>
         ├─2398 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 38082 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─2441 kitty
         ├─6786 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 38082 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─9409 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 38082 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         ├─9483 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 38082 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>
         └─9531 /usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0 -prefsLen 38082 -prefMapHandle 1 -prefMapSize 259164 -jsInitHandle 2 -jsInitLen 234660 -parentBuildID 20241211112127 -sandbo>

If it doesn't provide any information then i'll try listing output from booting without gui.

Last edited by Nipun_Drall (2024-12-17 15:30:11)


Just Google Me

Offline

#8 2024-12-13 15:51:34

seth
Member
Registered: 2012-09-03
Posts: 60,762

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

Please use [code][/code] tags. Edit your post in this regard.

i'm accessing my 2nd user by using su - command in terminal in my first user session

That's pointless and the session output is for 1000, not 1001 - out of what context do you try to start hyprland as UID:1001? Also from a UID:1000 login?

Edit:
login on the console as UID:1001 and then run

(loginctl session-status; printenv) | curl -F 'file=@-' 0x0.st

and post the URL you get.
Edit #2: typo in the first edit…

Last edited by seth (2024-12-13 15:53:01)

Offline

#9 2024-12-17 15:41:35

Nipun_Drall
Member
Registered: 2024-12-12
Posts: 9

Re: [SOLVED] Unable to login from one user due to XDG_RUNTIME_DIR error

Thanks for helping me out

The thing that resolved my issue is that I just login as root stopped sddm.service and then started it again.Then rebooted my system and both of my user are working.

I think that somehow my sddm files got corrupted and it wasn't able to create or modify files. So as everthing a restart of Sddm service fixed sddm too.

BTW this tip is great thanks for this

Please use [code/code] tags. Edit your post in this regard.

And Sorry for this I was just trying things

That's pointless and the session output is for 1000, not 1001 - out of what context do you try to start hyprland as UID:1001? Also from a UID:1000 login?

Again Thanks for Helping.

Last edited by Nipun_Drall (2024-12-17 15:45:14)


Just Google Me

Offline

Board footer

Powered by FluxBB