Bug 122941
Summary: | remove switchdesk dep, use Xclients.d instead | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rex Dieter <rdieter> | ||||||||
Component: | xinitrc | Assignee: | X/OpenGL Maintenance List <xgl-maint> | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | |||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | rawhide | CC: | gajownik, stefan.hoelldampf, than | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2005-04-05 12:35:52 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 136451 | ||||||||||
Attachments: |
|
Description
Rex Dieter
2004-05-10 16:47:15 UTC
Nevermind the switchdesk comment, that's already been removed I see. Created attachment 100135 [details]
use kde|startkde and gnome|gnome-session Session names
I see a somewhat problem for a long time now. The condition case "$1" in etc. never makes it to the kde section even though I have # cat /etc/sysconfig/desktop DISPLAYMANAGER=KDE However, the kdm does start somehow. BUT if I replace $1 with $PREFERRED than it does it correctly. This seems right since xinput.sh is sourced and sets the $PREFERRED variable there. I only noticed this becase I was starting some ssh-add process in the kde section of the script. switchdesk is definitely a problem, and without the attached patch, kde is broken. FYI, using this patch also makes it possible to remove Requires: switchdesk as well. Created attachment 101811 [details]
xinitrc patch
Than: Wouldn't it be better if xinitrc itself just had a: "/etc/X11/xinit/Xclients.d" directory local to itself, and put the logic of what startup script to invoke in xinitrc, instead of switchdesk? I'm thinking perhaps switchdesk could end up being just a config tool that sets a couple env vars in /etc/sysconfig/desktop then, and just lets xinitrc check them and do it's magic. That way wm rpm packages both in and outside the OS, can just drop in "/etc/X11/xinit/Xclients.d/Xclients.foowm.sh" and switchdesk would either use the .foowm. to extract the wm name, or get it from a variable inside the script or a comment or something, and present the choices of each installed wm for users to pick. Just a thought. I'd like to make xinitrc basically, so it works with any wm, and works wether switchdesk is being used or not and wether switchdesk is even installed or not. If we can do that, we make less maintenance in future for $newwindowmanager's that creep into the distro, or are added on separately. Comments/feedback from anyone appreciated. Just to supplement my last comment. I'd like a solution that works both with startx, xdm, kdm, gdm, and with or without switchdesk being used, or installed. That would cover all cases, and probably make the universe happy, with zero future xinitrc maintenance per $windowmanager_du-jour just a thought... Mike, I'll shortly attach a first pass at implementing your Xclients.d idea. Created attachment 109713 [details]
Xclients.d for xinitrc-3.42
Removes switchdesk usage, using /etc/X11/xinitrc/Xclients.d instead
remove special case kde/gnome entries
remove superfluous twm entry
change all kdm/gdm comments to refer to LOGINMANAGER instead
Created attachment 109714 [details]
Xclients.d for xinitrc-4.0.14
Removes switchdesk usage, using /etc/X11/xinitrc/Xclients.d instead
remove special case kde/gnome entries
remove superfluous twm entry
change all kdm/gdm comments to refer to LOGINMANAGER instead
With these patches, kde and gnome are no longer a special case, though gdm (not kdm, it's ok) uses session names of kde/gnome instead of the proper startkde/gnome-session, so either 1. gnome-session rpm should be patched accordingly (to use gnome-session/startkde) or 2. Create symlinks in Xclients.d to handle it Xclients.d/Xclients.kde.sh -> /usr/bin/startkde Xclients.d/Xclients.gnome.sh -> /usr/bin/gnome-session Of course, with this patch, the xinitrc rpm should create/own /etc/X11/xinitrc/Xclients.d Also, if you wanted a maintain a bit of backward compatibility, one could also search the switchdesk dir(s) for Xclients bits (*after* looking in /etc/X11/xinit/Xclients.d, of course) This bug is related to bug #145534 and bug #138482. Mentioning it here, so all 3 end up getting resolved at the same time hopefully. Wouldn't it be easiest just to pick 1 of these as the "master" bug, and set the others as dups? They are not all the exact same issue however. I am hoping to find solutions to all of the problems with one fix though. The right way to track 3 similar but different issues would be to use a separate bug tracker bug, and make all of the issues block the tracker, however it's just as easy for me to query bugzilla for "xinitrc" open bugs for these issues. ;o) In comment #17 I pasted the wrong bugs. The correct bugs are: Bug #112478 and bug #142260. I've implemented my own similar Xclients.d solution for this problem, and various similar bugs reported in bugzilla. It will be present in xinitrc-4.0.16-1 and later in rawhide. Please test and provide feedback. Setting status to RAWHIDE. |