Often when publishing an application in XenApp for UNIX (XAU) it looks different in a desktop. In most cases the reason is the application is looking for properties set on the root window, and when published these properties are not there, so it falls back to it’s defaults.

It’s easiest to illustrate with an example. Let’s say we want to publish the /usr/dt/bin/dtterm application. BTW I did this on Solaris, but the same is applicable to the other O/S’s that XAU supports. When you launch this in a seamless session you get this:-

Not quite how it looks in a desktop. The difference as I said is the properties the application reads. You can use the xrdb utility to examine the difference. Type xrdb -query in your published application, and then in a desktop and you will see what I mean. Here is an abbreviated example of what you might see on a desktop:-

busta>xrdb -query
*multiClickTime:        500
*promptDialog.bboard.frame.form.text.columns:   45
*sessionVersion:        3.0

*systemFont:    -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
*textFontList:  -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:

Dtfile*view:    large_icon
Dtwm*0*FrontPanel*geometry:     +20-0
Dtwm*useSameBackdrop:   False
Maxwell*font:   -b&h-lucida sans typewriter-bold-r-normal-sans-0-0-72-72-m-0-iso8859-1
Maxwell*fontList:       -b&h-lucida sans typewriter-bold-r-normal-sans-0-0-72-72-m-0-iso8859-1
Maxwell*geometry:       979×750+0+0
OpenWindows.BasicLocale:        C
OpenWindows.Beep:       always
*background:    #FFFFF7F7E9E9

*buttonFontList:        -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:

*enableUrlAwareness:    True

Most of these are not relevant for this application. Knowing what toolkit was used to produce the application can help decide which values are. For example all the dt…. applications are based on the Motif toolkit, and you can consult the Motif user documentation. Running ldd on your application binary will show which dynamic libraries are loaded, if libXm.so is listed this is a good indication that it is Motif based. Failing that you can experiment with the different values used on the desktop and see which make a difference. I’ve selected the relevant values for dtterm and used them in the script below:-

/usr/openwin/bin/xrdb -merge <<HERE

*textFontList:  -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*:
*buttonFontList:        -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:
*systemFont:    -dt-interface system-medium-r-normal-s*-*-*-*-*-*-*-*-*:

*background:      #FFFFF7F7E9E9
exit 0

If you now specify this script as the command line when publishing the application you get this:-

Which is much more as you would expect.