Page MenuHomeSolus

Add .xprofile in /etc/skel. Resolves T610.
ClosedPublic

Authored by xulongwu4 on Jun 4 2020, 8:37 PM.
Tags
None
Referenced Files
F11059082: D8989.diff
Fri, Aug 11, 7:15 AM
F11051818: D8989.id.diff
Thu, Aug 10, 8:20 PM
F11051817: D8989.id22350.diff
Thu, Aug 10, 8:20 PM
F11051816: D8989.id22036.diff
Thu, Aug 10, 8:20 PM
F11051815: D8989.id21643.diff
Thu, Aug 10, 8:20 PM
F11051814: D8989.id21921.diff
Thu, Aug 10, 8:20 PM
F11051813: D8989.id21712.diff
Thu, Aug 10, 8:20 PM
F11051812: D8989.id22034.diff
Thu, Aug 10, 8:20 PM

Details

Summary

Add system-wide xprofile and user-specific xprofile.

Test Plan
  • 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
Branch
master
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

xulongwu4 retitled this revision from Add .xprofile in /etc/skel to Add .xprofile in /etc/skel. Resolves T610..

@xulongwu4 : Your efforts here are much appreciated!

However, we will need @DataDrake's input on this as he's Technical Lead.

Add system-wide xprofile and user-specific xprofile.

xulongwu4 edited the test plan for this revision. (Show Details)
JoshStrobl added a subscriber: JoshStrobl.
JoshStrobl added inline comments.
actions.py
34 ↗(On Diff #21712)

Nonono. We should not be symlinking this, it should only ever be created by the user per statelessness.

pspec.xml
49

We should have an /usr/share/defaults/etc/skel/.xprofile not create /etc content. Where is this specifically used?

This revision now requires changes to proceed.Jun 20 2020, 3:06 PM
xulongwu4 added inline comments.
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.

Yea, I think you're right. Clearly need more coffee.

This revision is now accepted and ready to land.Jun 20 2020, 3:32 PM

@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.

Remove symlink to /usr/share/defaults/etc/xprofile.

xulongwu4 added inline comments.
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.

Do not symlink to /usr/share/defaults/etc/xprofile.

@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.

This revision is now accepted and ready to land.Jul 15 2020, 12:37 PM
This revision was automatically updated to reflect the committed changes.