Add system-wide xprofile and user-specific xprofile.
Details
- Reviewers
JoshStrobl - Group Reviewers
Triage Team - Maniphest Tasks
- T610: .Xmodmap isn't run at login
- Commits
- R419:1e7b7e6bd6d4: Add .xprofile in /etc/skel. Resolves T610.
- Installed this version of baselayout to all four Solus versions and verified that MATE and Plasma version load my keymaps correctly. For Budgie and GNOME I also verified that the workaround mentioned in .xprofile work well.
- Created new user account on all four Solus flavors and verified the new .xprofile file in the home directory.
Diff Detail
- Repository
- R419 baselayout
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
@xulongwu4 : Your efforts here are much appreciated!
However, we will need @DataDrake's input on this as he's Technical Lead.
| pspec.xml | ||
|---|---|---|
| 49 | I got confused here. I see a lot of the default user config files are in /etc/skel, such as .bashrc, .profile, .bash_logout, so I thought the default .xprofile should go there as well. With regards to the purpose of this file, it will be sourced by display managers before the X user session starts. It is here so that new installs of Solus will create this file in user's home directory, giving them a hint of adding X session customization stuff in this file. | |
@JoshStrobl I will remove the symlink line and update the other patch accordingly (line 34). So I guess we should not land this until that is done.
| actions.py | ||
|---|---|---|
| 34 ↗ | (On Diff #21712) | @JoshStrobl I remember the reason I did this symlink here now. This was initially @ermo's suggestion and I also think it is a good idea. This is necessary to ensure consistent behaviors among lightdm, sddm and gdm. sddm and gdm looks for /etc/xprofile by default. I tried to make lightdm source /etc/xprofile in D8984. If we don't add this symlink and modify D8984 accordingly, we will only have lightdm source the system xprofile. gdm and sddm won't source that unless a patch is created for that purpose. |
I can easily patch gdm, their sourcing is very very basic: https://gitlab.gnome.org/GNOME/gdm/-/blob/master/data/Xsession.in#L32
SDDM is also very simple to patch: https://github.com/sddm/sddm/blob/eb419e2dc07cf4bd60c30752e2f64cdfeddf87fb/data/scripts/Xsession#L54
So really LightDM would be the only odd one out.
@JoshStrobl The symlink /etc/xprofile is now removed. lightdm will source /usr/share/defaults/etc/xprofile, as well as /etc/xprofile and $HOME/.xprofile if they exist. Once you patch gdm and sddm in the same way, the three display managers should behave in a consistent manner.