当我通过 SSH 登录时,为什么我的帐户的 XDG 变量未定义?

Zhr*_*hro 3 environment-variables xdg xdg-user-dirs

登录桌面后:

$ env | grep XDG_
XDG_CONFIG_DIRS=/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session4
XDG_MENU_PREFIX=xfce-
XDG_SEAT=seat0
XDG_SESSION_DESKTOP=xfce
XDG_SESSION_TYPE=x11
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/mattd
XDG_CURRENT_DESKTOP=XFCE
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_VTNR=1
XDG_SESSION_ID=12
XDG_RUNTIME_DIR=/run/user/1000
XDG_DATA_DIRS=/usr/local/share:/usr/share
Run Code Online (Sandbox Code Playgroud)

通过 SSH 登录时:

$ env | grep -i xdg
XDG_SESSION_TYPE=tty
XDG_SESSION_CLASS=user
XDG_SESSION_ID=16
XDG_RUNTIME_DIR=/run/user/1000
Run Code Online (Sandbox Code Playgroud)

为什么我通过 SSH 登录时的环境不同?

我正在运行 Fedora 30。

Ste*_*itt 5

当您\xe2\x80\x99 登录到桌面时,您的桌面环境会设置大部分 XDG 变量。

\n\n

当您\xe2\x80\x99通过SSH登录时,您看到的唯一变量是由pam_systemd: XDG_SESSION_ID, XDG_RUNTIME_DIR, XDG_SESSION_TYPE, XDG_SESSION_CLASS;设置的变量。由于\xe2\x80\x99s没有桌面环境,因此您不会\xe2\x80\x99t获取XDG_SESSION_DESKTOP,并且座位信息\xe2\x80\x99t未为SSH连接设置。

\n