canonical / lightdm

Display Manager
GNU General Public License v3.0
823 stars 138 forks source link

LightDM completely destroys the OS due to sourcing $HOME/.profile #234

Open D-Pow opened 2 years ago

D-Pow commented 2 years ago
Attach ~/.xsession-errors, or /var/log/syslog ``` Running X session wrapper Loading /etc/profile Loading /home/itsme/.profile Loading resource: /etc/X11/Xresources/x11-common Loading xinit script /etc/X11/xinit/xinitrc.d/80xapp-gtk3-module.sh Loading X session script /etc/X11/Xsession.d/20dbus_xdg-runtime dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus dbus-update-activation-environment: setting DISPLAY=:0 dbus-update-activation-environment: setting XAUTHORITY=/home/itsme/.Xauthority Loading X session script /etc/X11/Xsession.d/20flatpak Loading X session script /etc/X11/Xsession.d/20x11-common_process-args Loading X session script /etc/X11/Xsession.d/30x11-common_xresources Loading X session script /etc/X11/Xsession.d/35x11-common_xhost-local localuser:itsme being added to access control list Loading X session script /etc/X11/Xsession.d/40x11-common_xsessionrc Loading X session script /etc/X11/Xsession.d/50_check_unity_support Loading X session script /etc/X11/Xsession.d/50x11-common_determine-startup Loading X session script /etc/X11/Xsession.d/55cinnamon-session_gnomerc Loading X session script /etc/X11/Xsession.d/55gnome-session_gnomerc Loading X session script /etc/X11/Xsession.d/55numlockx Loading X session script /etc/X11/Xsession.d/60x11-common_localhost Loading X session script /etc/X11/Xsession.d/60x11-common_xdg_path Loading X session script /etc/X11/Xsession.d/60xbrlapi Loading X session script /etc/X11/Xsession.d/65flatpak Loading X session script /etc/X11/Xsession.d/70gconfd_path-on-session Loading X session script /etc/X11/Xsession.d/70im-config_launch Loading X session script /etc/X11/Xsession.d/75dbus_dbus-launch Loading X session script /etc/X11/Xsession.d/90atk-adaptor dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge Loading X session script /etc/X11/Xsession.d/90consolekit Loading X session script /etc/X11/Xsession.d/90gpg-agent Loading X session script /etc/X11/Xsession.d/90qt-a11y dbus-update-activation-environment: setting QT_ACCESSIBILITY=1 Loading X session script /etc/X11/Xsession.d/90x11-common_ssh-agent Loading X session script /etc/X11/Xsession.d/95dbus_update-activation-env dbus-update-activation-environment: setting SHELL=/usr/sbin/lightdm-session dbus-update-activation-environment: setting SESSION_MANAGER=local/dpcp:@/tmp/.ICE-unix/2044,unix/dpcp:/tmp/.ICE-unix/2044 dbus-update-activation-environment: setting QT_ACCESSIBILITY=1 dbus-update-activation-environment: setting COLORTERM=truecolor dbus-update-activation-environment: setting XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg dbus-update-activation-environment: setting XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 dbus-update-activation-environment: setting NVM_INC=/home/itsme/.nvm/versions/node/v16.10.0/include/node dbus-update-activation-environment: setting GNOME_DESKTOP_SESSION_ID=this-is-deprecated dbus-update-activation-environment: setting GTK_IM_MODULE=ibus dbus-update-activation-environment: setting LANGUAGE=en_US dbus-update-activation-environment: setting QT4_IM_MODULE=ibus dbus-update-activation-environment: setting MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path dbus-update-activation-environment: setting LC_ADDRESS=en_US.UTF-8 dbus-update-activation-environment: setting JAVA_HOME=/usr/java dbus-update-activation-environment: setting LC_NAME=en_US.UTF-8 dbus-update-activation-environment: setting SSH_AUTH_SOCK=/run/user/1000/keyring/ssh dbus-update-activation-environment: setting actualProfile=/home/itsme/.profile dbus-update-activation-environment: setting GRADLE_HOME=/opt/gradle dbus-update-activation-environment: setting NVM_CURRENT_HOME=/home/itsme/.nvm/current dbus-update-activation-environment: setting XMODIFIERS=@im=ibus dbus-update-activation-environment: setting DESKTOP_SESSION=cinnamon dbus-update-activation-environment: setting LC_MONETARY=en_US.UTF-8 dbus-update-activation-environment: setting SSH_AGENT_PID=2612 dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge dbus-update-activation-environment: setting PWD=/home/itsme dbus-update-activation-environment: setting XDG_SESSION_DESKTOP=cinnamon dbus-update-activation-environment: setting LOGNAME=itsme dbus-update-activation-environment: setting XDG_SESSION_TYPE=x11 dbus-update-activation-environment: setting GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 dbus-update-activation-environment: setting XAUTHORITY=/home/itsme/.Xauthority dbus-update-activation-environment: setting XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/itsme dbus-update-activation-environment: setting commonProfile=/home/itsme/repositories/dotfiles/bash-commons/common.profile dbus-update-activation-environment: setting GDM_LANG=en_US dbus-update-activation-environment: setting HOME=/home/itsme dbus-update-activation-environment: setting LC_PAPER=en_US.UTF-8 dbus-update-activation-environment: setting LANG=en_US.UTF-8 dbus-update-activation-environment: setting XDG_CURRENT_DESKTOP=X-Cinnamon dbus-update-activation-environment: setting NVM_SYMLINK_CURRENT=true dbus-update-activation-environment: setting VTE_VERSION=6003 dbus-update-activation-environment: setting customProfile=/home/itsme/repositories/dotfiles/linux/custom.profile dbus-update-activation-environment: setting XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 dbus-update-activation-environment: setting GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/2b715067_4889_4532_8e94_0e0ad17647bd dbus-update-activation-environment: setting CLUTTER_IM_MODULE=ibus dbus-update-activation-environment: setting NVM_DIR=/home/itsme/.nvm dbus-update-activation-environment: setting XDG_SESSION_CLASS=user dbus-update-activation-environment: setting dotfilesDir=/home/itsme/repositories/dotfiles dbus-update-activation-environment: setting TERM=xterm-256color dbus-update-activation-environment: setting LC_IDENTIFICATION=en_US.UTF-8 dbus-update-activation-environment: setting GTK_OVERLAY_SCROLLING=1 dbus-update-activation-environment: setting DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path dbus-update-activation-environment: setting USER=itsme dbus-update-activation-environment: setting GNOME_TERMINAL_SERVICE=:1.150 dbus-update-activation-environment: setting DISPLAY=:0 dbus-update-activation-environment: setting SHLVL=1 dbus-update-activation-environment: setting NVM_CD_FLAGS= dbus-update-activation-environment: setting LC_TELEPHONE=en_US.UTF-8 dbus-update-activation-environment: setting QT_IM_MODULE=ibus dbus-update-activation-environment: setting LC_MEASUREMENT=en_US.UTF-8 dbus-update-activation-environment: setting DESKTOP_AUTOSTART_ID=101288fc2993380487164274644783743900000020440044 dbus-update-activation-environment: setting PAPERSIZE=letter dbus-update-activation-environment: setting LC_CTYPE=en_US.UTF-8 dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/1000 dbus-update-activation-environment: setting PS1=\[\033[01;32m\]\u\[\033[00m\]:\[\033[00m\]\[\033[01;34m\]\w\[\033[00m\]$ dbus-update-activation-environment: setting LC_TIME=en_US.UTF-8 dbus-update-activation-environment: setting LC_COLLATE=C dbus-update-activation-environment: setting GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module dbus-update-activation-environment: setting XDG_DATA_DIRS=/home/itsme/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share/:/usr/share/gnome:/home/itsme/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share/:/usr/share/gnome:/usr/share/cinnamon:/home/itsme/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share dbus-update-activation-environment: setting PATH=/usr/java/bin:/opt/gradle/bin:/home/itsme/texlive/*/bin/*linux*/:/home/itsme/.nvm/current/bin:/home/itsme/repositories/dotfiles/linux/bin:/home/itsme/repositories/dotfiles/linux/bin:/home/itsme/bin:/home/itsme/.local/bin:/usr/java/bin:/opt/gradle/bin:/home/itsme/texlive/*/bin/*linux*/:/home/itsme/.nvm/versions/node/v16.10.0/bin:/home/itsme/.nvm/versions/node/v16.10.0/bin:/home/itsme/repositories/dotfiles/linux/bin:/home/itsme/repositories/dotfiles/linux/bin:/home/itsme/bin:/home/itsme/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin dbus-update-activation-environment: setting GDMSESSION=cinnamon dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus dbus-update-activation-environment: setting NVM_BIN=/home/itsme/.nvm/versions/node/v16.10.0/bin dbus-update-activation-environment: setting LC_NUMERIC=en_US.UTF-8 dbus-update-activation-environment: setting _=/usr/bin/dbus-update-activation-environment Loading X session script /etc/X11/Xsession.d/99mint Loading X session script /etc/X11/Xsession.d/99x11-common_start cinnamon-session[12490]: WARNING: t+0.00719s: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login. ```

Issue

lightdm-session is NOT A LOGIN SHELL, yet it still sources $HOME/.profile waaaaayyyy before it should be sourced, causing Xsession/Xorg/Wayland/everything to crash.

See this commit for more details.

Steps to reproduce

Use any custom dotfiles within $HOME/.profile that may or may not change how the OS operates, and watch the whole OS crash and burn (including Terminal, Update Manger, Driver Manger, and every single other native OS app).

Expected behaviour

Nothing to source $HOME/.profile except a live shell session AS IT SHOULD BE.

Other information

  1. Why is a non-login process sourcing what should only be sourced by a login process?
  2. I noticed this happened not during a Linux Mint upgrade, rather an Nvidia upgrade from nvidia-driver-470:amd64=470.86-0ubuntu0.20.04.1 to nvidia-driver-470:amd64=470.86-0ubuntu0.20.04.2.
    • It's suposed to be a patch upgrade (assuming correct semver syntax), yet it broke my entire OS.
    • I'm assuming something in the update forced /usr/sbin/lightdm-session to source $HOME/.profile when it didn't used to do that before, and that's where the source of all my problems are coming.
  3. Because of it, I have to manually edit that file (/usr/sbin/lightdm-session) in order for my OS to function at all.
    • i.e. Not the Update Manager, Terminal, Software Manager, Driver Manager, nor anything else works unless I delete $HOME/.profile from that file and reboot.

Related:

Configuration info, if applicable

None; This is vanilla Linux Mint.

sonjiku commented 2 years ago

Wrong