Message: previous - next
Month: July 2012

Re: [trinity-devel] tdm login graphic is old XDG login instead of new gradient tde style

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 20 Jul 2012 11:04:19 -0500
On 07/19/2012 11:40 AM, David C. Rankin wrote:
> On 07/17/2012 04:45 PM, Timothy Pearson wrote:
>>> I can't figure out what would have caused this to change unless something
>>> in the GIT tree changed. I have no idea what graphic to look for. Any
>>> ideas?
>>> -- David C. Rankin, J.D.,P.E.
>> You don't have the TDM themes either installed or activated.  I would look in
>> your tdmrc file and see if you have theming turned off; if it is on, make
>> sure that the theme file path is correct and that the theme files exist.
>> Tim
> Tim, (apologize if you get 2 emails)
>    The bottom line is the tdm theme does not display when set tdmrc
>    A default XDM login box is displayed for tde login instead of the nice
> gradient style one that is the normal tde default. The o2_enterprise theme is
> properly set in tdmrc, but still there is no display of the proper theme. I have
> checked tdmrc and it is correct. The o2_enterprise theme is set:
>    Theme=/opt/trinity/share/apps/tdm/themes/o2_enterprise
>    UseBackground=true
>    UseSAK=true
>    UseTheme=true
>    But still all I get is:
>    I have even tries setting other themes as well - they don't display either ??
>    Also, I have my running bug-list available for review from today:

Here is the relevant portions of the discussion Darrell and I were working on 
while the list was down regarding tdm:

 >> I'm still trying to figure out why I can't get the normal tdm login
 >> window to display. Like I said, I've been through the
 >> /opt/trinity/share/config/tdm files and I can't explain it. I even tried
 >> to change tdm themes and I still get the default XDG login box. (the
 >> background changes, just not the middle login window with user and pass
 >> boxes)
 > Start at the basics. For the moment ignore theming. Just try to get a basic
 > TDM login dialog. In tdmrc, use the following:
 > [X-*-Greeter] UseTheme=false
 > Check how Arch starts graphical mode. In Slackware graphical mode is
 > controlled by the rc.4 script. When I started using Trinity, I had to
 > modify that script to include tdm support, which does not exist. Make sure
 > tdm support exists and is checked before trying to use the last-gasp option
 > xdm.

I do that in tdebase with an xsession.patch

~> cat tde/pbpkg/tde-tdebase/xsession.patch
--- /mnt/archlinux/opt/trinity/share/config/kdm/Xsession        2011-12-08 
13:08:43.000000000 +0100
+++ /opt/trinity/share/config/tdm/Xsession      2011-09-24 14:52:28.000000000 
@@ -43,4 +43,24 @@
  # invoke global X session script
-. /etc/X11/Xsession
+       case $session in
+         "")
+           exec xmessage -center -buttons OK:0 -default OK "Sorry, 
$DESKTOP_SESSION is no valid session."
+           ;;
+         failsafe)
+           exec ck-launch-session xterm -geometry 80x24-0-0
+           ;;
+         custom)
+           exec ck-launch-session $HOME/.xsession
+           ;;
+         default)
+           exec ck-launch-session /opt/trinity/bin/starttde
+           ;;
+         *)
+           eval exec ck-launch-session "$session"
+           ;;
+       esac
+       exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute 
$session. Check $DESKTOP_SESSION.desktop."

   However, that just affects the session chooser and is what Arch uses to 
launch the right desktop (twm, fluxbox, tde, etc..) and has nothing to do with 
what graphics are loaded for the login.

 > With the transition from 3.5.12 to R14, check your build script with
 > respect to the Trinity home directory. In 3.5.12 you used /opt/kde3 or
 > /opt/kdemod3 and with R14 you now use /opt/trinity. Similarly, with 3.5.12
 > you probably used /etc/kde, /etc/kde3, or /etc/kdemod3 for your sysconfig
 > directory and now use /etc/trinity.
 > Remember that 3.5.12 used kdmrc and R14 uses tdmrc.

Yep, those are all checked and i's dotted and t's crossed. All the kdm/tdm 
stuff is good.

When I step back and think about when this stuff is invoked, tdm is launched 
from inittab, so there is nothing in the system init that could really get in 
the way. I launch tdm from inittab as follows:

x:5:respawn:/opt/trinity/bin/tdm -nodaemon

Control is then passed to tdm which then sets up the X session and is supposed 
to load the graphics/theme specified in tdmrc. This is where things 1/2 work 
and 1/2 don't. The correct background is loaded proving that tdmrc passed 
backgroundrc to X for the background, but then none of the o2_enterprise theme 
is used from that point on. You just get the XDG login dialog instead of the 
o2_enterprise themed dialog.

Of further interest, upon login, control properly passes to the moodin engine 
ksplash theme, and the remainder of the login works perfectly. It is just 
drawing the login that is FUBAR.

 >> However, I did find a bug in the gentdmconf script. It should test for
 >> the presence of the global Xsession file before sourcing it. Currently it
 >> doesn't. Arch doesn't have one so it fails. Do this:
 >> [[ -r /etc/X11/Xsession ]] && . /etc/X11/Xsession
 >> instead of just:
 >> . /etc/X11/Xsession
 >> Doesn't solve my problem, but it is a needed clean-up.
 > Where is this script in the GIT sources? I find a gentdmconf.c file.

That is what must generate the gentdmconf script. Seems odd, but I bet that 
file is just a bunch of fprintf statements that spit out the gentdmconf 
script. Kinda wonky way to do it, but I guess it was needed to handle distro 
differences :) Patch attached

David C. Rankin, J.D.,P.E.