Integrating Blastwave into S10/u5 Java Desktop - Solaris

This is a discussion on Integrating Blastwave into S10/u5 Java Desktop - Solaris ; Does anyone know of a user guide that describes how to replace the
default applications on the Gnome menus in Solaris 10 Java Desktop (eg
gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
and tried, unsuccessfully.
Thanks....

Integrating Blastwave into S10/u5 Java Desktop

Does anyone know of a user guide that describes how to replace the
default applications on the Gnome menus in Solaris 10 Java Desktop (eg
gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
and tried, unsuccessfully.

Right click and find the properties, and set them to the new files. I've
updated firefox and thunderbird that way - although not from Blastwave.

Re: Integrating Blastwave into S10/u5 Java Desktop

Dave wrote:
> doofus wrote:
>> Does anyone know of a user guide that describes how to replace the
>> default applications on the Gnome menus in Solaris 10 Java Desktop (eg
>> gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
>> and tried, unsuccessfully.
>>
>> Thanks.
>
>
> Right click and find the properties, and set them to the new files. I've
> updated firefox and thunderbird that way - although not from Blastwave.

I guess I should be more explicit. Click 'Lauch' (bottom left of screen)
and find the item you want on the mene. Then right click on it, and
select properties. Then you can change the file it points to.

I've only done this for one user. I suspect there is a global way to set
it, so any new user will see those versions, but I don't know for sure.

Re: Integrating Blastwave into S10/u5 Java Desktop

Il Tue, 27 May 2008 22:56:04 +0100, Dave wrote:
> Dave wrote:
>> doofus wrote:
>>> Does anyone know of a user guide that describes how to replace the
>>> default applications on the Gnome menus in Solaris 10 Java Desktop (eg
>>> gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
>>> and tried, unsuccessfully.
>>>
>>> Thanks.
>>
>>
>> Right click and find the properties, and set them to the new files.
>> I've updated firefox and thunderbird that way - although not from
>> Blastwave.
>
>
> I guess I should be more explicit. Click 'Lauch' (bottom left of screen)
> and find the item you want on the mene. Then right click on it, and
> select properties. Then you can change the file it points to.
>
> I've only done this for one user. I suspect there is a global way to set
> it, so any new user will see those versions, but I don't know for sure.

"Next item is the default PATH for the root user and regular users. You
can set this in the files /etc/default/login and /etc/default/su. Please
feel free to be pedantic and set PATH and SUPATH in both of those files to
something useful thus :

Really you can leave /opt/csw/bin out of there entirely if you want.
The software from Blastwave is isolated in /opt/csw and will not interfere
with your other software. You can use GNOME from somewhere else if you
want. Your users can have there own .profile files that determine that
they run JDS if they want.

On the other hand your users may place /opt/csw/bin first in their PATH
and then will be running with the desktop software and applications from
Blastwave. Again, this will be isolated. Don't be surprised if you have
problems switching back and forth from different distributions of GNOME
however. There are a lot of configuration files that get created in the
users home directory and you can really only depend on them to work
consistently when you stay on one edition of KDE or GNOME."

If you use the bash shell, you can add the new path line to your
file .bashrc in your home directory, too. For example, my .bashrc
in my home directory has:

If you use the csh or tcsh shell instead of bash, I think you should set
the path in the .cshrc file of your home directory, with little changes,
but I don't know exactly, being not used to csh shell.

But after this, when you create a link to an application on the Desktop,
you can only write the simple command, without the full path. So in the
console, you can insert the name of the command only.

Re: Integrating Blastwave into S10/u5 Java Desktop

On 27 May, 22:56, Dave wrote:
> Dave wrote:
> > doofus wrote:
> >> Does anyone know of a user guide that describes how to replace the
> >> default applications on the Gnome menus in Solaris 10 Java Desktop (eg
> >> gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
> >> and tried, unsuccessfully.
>
> >> Thanks.
>
> > Right click and find the properties, and set them to the new files. I've
> > updated firefox and thunderbird that way - although not from Blastwave.
>
> I guess I should be more explicit. Click 'Lauch' (bottom left of screen)
> and find the item you want on the mene. Then right click on it, and
> select properties. Then you can change the file it points to.
>
> I've only done this for one user. I suspect there is a global way to set
> it, so any new user will see those versions, but I don't know for sure.

Thanks Dave.
I had already given this a try I but get permission errors.
In the case of firefox:

> If you use the bash shell, you can add the new path line to your
> file .bashrc in your home directory, too. For example, my .bashrc
> in my home directory has:
>
> PATH=/opt/csw/bin:/opt/sfw/bin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/sbin:/usr/ccs/bin:/usr/ucb:/usr/X11/bin:/etc:.
> export PATH
>
> MANPATH=/opt/csw/share/man:/opt/sfw/man:/opt/sfw/share/man:/usr/share/man:/usr/sfw/share/man:/usr/openwin/share/man
> export MANPATH
>
> (You need the MANPATH lines if you want to read the man pages relating
> to the commands in /opt/csw/bin)
>
> To set the path for your environment, you'd better read:
>
> http://www.blastwave.org/userguide/
>
> If you use the csh or tcsh shell instead of bash, I think you should set
> the path in the .cshrc file of your home directory, with little changes,
> but I don't know exactly, being not used to csh shell.
>
> But after this, when you create a link to an application on the Desktop,
> you can only write the simple command, without the full path. So in the
> console, you can insert the name of the command only.

Thanks Sol.
I've already read through the blastwave site installation notes. I
don't think this has anything to do with $PATH, but more to do with
the configuration of gnome?

I must say I'm surprised there's so little to be searched online
regarding this, and that it isn't fleshed out a bit more at blastwave.
I should think the first thing anyone installing preferred packages
from the blastwave resource would want to do is properly integrate
them into their desktop environment. Maybe I'm missing something
obvious. It wouldn't be the first time...

Re: Integrating Blastwave into S10/u5 Java Desktop

Il Wed, 28 May 2008 04:31:28 -0700, doofus wrote:
> Thanks Sol.
> I've already read through the blastwave site installation notes. I don't
> think this has anything to do with $PATH, but more to do with the
> configuration of gnome?
>
> I must say I'm surprised there's so little to be searched online
> regarding this, and that it isn't fleshed out a bit more at blastwave. I
> should think the first thing anyone installing preferred packages from
> the blastwave resource would want to do is properly integrate them into
> their desktop environment. Maybe I'm missing something obvious. It
> wouldn't be the first time...

Just a few silly questions...

Which version of Solaris / Opensolaris have you installed?

(I've functioning links on two systems, the first booting
Solaris 10 6/06 and the second booting Solaris 10 5/08)

How do you mount /opt?
Do you have a specific line in /etc/vfstab?

Typing:

$ ls -lap /opt

$ ls -lap /opt/csw

$ ls -lap /home/

what do you read as a result?
(what permissions has the Desktop directory?)

Who are the owner and the group of /opt/csw, and which rights
and permissions do you see?

Which rights and permissions has your user?

Can you make a new link to another program not in /opt/csw/bin?

Can you make functioning links on the Desktop as "root"?
(e.g. "su root -c " or logging as root)

OK, these are only a few obvious questions, but I'm just trying
to understand the problem.

Re: Integrating Blastwave into S10/u5 Java Desktop

doofus wrote:
> Does anyone know of a user guide that describes how to replace the
> default applications on the Gnome menus in Solaris 10 Java Desktop (eg
> gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
> and tried, unsuccessfully.
>

There are a couple of ways to do this and I'll just explain how the whole system
works and then you can pick how you want to do it.

1. dtlogin integration
When you launch "Java Desktop System, Release 3" from dtlogin, it does some
stuff and ultimately runs `/usr/bin/gnome-session` which is the parent process
for all things GHOME. When gnome-session goes to launch additional things like
gnome-panel it will look for them in you path, thus if you put "/opt/csw/bin" in
your path before /usr/bin and then try to run JDS you will have problems.

There is the blastwave package gnome_dtlogin which adds a GNOME blastwave
session option to the dtlogin window. This session ultimately launches
/opt/csw/bin/gnome-session as the parent process for GNOME and again searches
the user's path first instead of using exact path values for child processes.

If you use the Blastwave dtlogin session and you put /opt/csw/bin in your path
before /usr/bin, then everything will be blastwave's gnome including the menus.

2. How gnome menus work
There is an xml file that defines what folders will be available under the
"Applications" menu in GNOME. For JDS that is at:

/etc/gnome-vfs-2.0/vfolders/applicationas-all-users.vfolder-info

For Blastwave (which is a much newer gnome and implements the freedesktop.org
menuing standard) that file is at:

/opt/csw/etc/xdg/menus/applications.menu

These files define what the sub-menus are, and more importantly which
directories to look in to find the menu entries with which to populate those
submenus.

In Solaris 10 the directory with all the ".desktop" files is at:
/usr/share/applications/

Blastwave uses the directory:
/opt/csw/share/applications/

You can edit the contents of the ".desktop" files as root to change which
application the various default entries run. This is not a great solution as
blastwave updates and solaris patches will clobber these changes. Which set of
default menus you see depends on which gnome-session and friends you run.

Now you can merge in the /opt/csw/share/applications directory in the file
applications-all-users.vfolder-info, and if that merge is before the merge for
/usr/share/applications then the blastwave items that have the same name as the
Solaris items will load first and override the solaris options, thus the
intersection will be blastwave. You can addtionally merge blastwave 2nd and
then the intersection (things like firefox, thunderbird, and the base gnome
tools) will be Sun's. Keep in mind that it is the intersection of the file
names; e.g., "firefox.desktop", and the name of the entry; e.g., "Firefox Web
Browser".

You can optionally edit the blastwave applications.menu and merge in the stock
Solaris direrctories after the blastwave ones. (The fun thing to do in a
network environment is create a NFS share location that has all your custom menu
entries for you location and mount that on all your machines and change all the
configs to merge that directory. Then update one location and all your users'
menus change.

3. Making your own menus
Each user gets to put their own menu items in the gnome menu as well. So
let's say you wanted to add a "CSW Firefox" menu item just for yourself.

In the directory "~/.desktop" you would create a "csw-firefox.desktop" file that
had the following contents:

Hopefully you should be able to do whatever you need to your menus now and run
all your blastwave applications with ease.

Neal

Re: Integrating Blastwave into S10/u5 Java Desktop

On May 28, 8:03 pm, "Neal A. Lucier" wrote:
> doofus wrote:
> > Does anyone know of a user guide that describes how to replace the
> > default applications on the Gnome menus in Solaris 10 Java Desktop (eg
> > gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
> > and tried, unsuccessfully.
>
> There are a couple of ways to do this and I'll just explain how the whole system
> works and then you can pick how you want to do it.
>
> 1. dtlogin integration
> When you launch "Java Desktop System, Release 3" from dtlogin, it does some
> stuff and ultimately runs `/usr/bin/gnome-session` which is the parent process
> for all things GHOME. When gnome-session goes to launch additional things like
> gnome-panel it will look for them in you path, thus if you put "/opt/csw/bin" in
> your path before /usr/bin and then try to run JDS you will have problems.
>
> There is the blastwave package gnome_dtlogin which adds a GNOME blastwave
> session option to the dtlogin window. This session ultimately launches
> /opt/csw/bin/gnome-session as the parent process for GNOME and again searches
> the user's path first instead of using exact path values for child processes.
>
> If you use the Blastwave dtlogin session and you put /opt/csw/bin in your path
> before /usr/bin, then everything will be blastwave's gnome including the menus.
>
> 2. How gnome menus work
> There is an xml file that defines what folders will be available under the
> "Applications" menu in GNOME. For JDS that is at:
>
> /etc/gnome-vfs-2.0/vfolders/applicationas-all-users.vfolder-info
>
> For Blastwave (which is a much newer gnome and implements the freedesktop.org
> menuing standard) that file is at:
>
> /opt/csw/etc/xdg/menus/applications.menu
>
> These files define what the sub-menus are, and more importantly which
> directories to look in to find the menu entries with which to populate those
> submenus.
>
> In Solaris 10 the directory with all the ".desktop" files is at:
> /usr/share/applications/
>
> Blastwave uses the directory:
> /opt/csw/share/applications/
>
> You can edit the contents of the ".desktop" files as root to change which
> application the various default entries run. This is not a great solution as
> blastwave updates and solaris patches will clobber these changes. Which set of
> default menus you see depends on which gnome-session and friends you run.
>
> Now you can merge in the /opt/csw/share/applications directory in the file
> applications-all-users.vfolder-info, and if that merge is before the merge for
> /usr/share/applications then the blastwave items that have the same name as the
> Solaris items will load first and override the solaris options, thus the
> intersection will be blastwave. You can addtionally merge blastwave 2nd and
> then the intersection (things like firefox, thunderbird, and the base gnome
> tools) will be Sun's. Keep in mind that it is the intersection of the file
> names; e.g., "firefox.desktop", and the name of the entry; e.g., "Firefox Web
> Browser".
>
> You can optionally edit the blastwave applications.menu and merge in the stock
> Solaris direrctories after the blastwave ones. (The fun thing to do in a
> network environment is create a NFS share location that has all your custom menu
> entries for you location and mount that on all your machines and change all the
> configs to merge that directory. Then update one location and all your users'
> menus change.
>
> 3. Making your own menus
> Each user gets to put their own menu items in the gnome menu as well. So
> let's say you wanted to add a "CSW Firefox" menu item just for yourself.
>
> In the directory "~/.desktop" you would create a "csw-firefox.desktop" file that
> had the following contents:
>
> [Desktop Entry]
> Name=CSW Firefox Web Browser
> Comment=CSW Firefox Web Browser
> Exec=/opt/csw/bin/firefox
> Terminal=0
> Type=Application
> Icon=/opt/csw/pixmaps/firefox.png
> Categories=Application;Network
>
> Hopefully you should be able to do whatever you need to your menus now and run
> all your blastwave applications with ease.
>
> Neal

Many thanks Neal for taking the time to write this out. It's
highlighted some of my misunderstanding, and given me plenty to
experiment with.

I should have said I'm not really interested in blastwave's gnome
release, but only some of their apps to run under the default sun
gnome desktop. I'm not sure if this makes for an even bigger headache
but I guess it makes Option 1 unsuitable.

Option 2 looks like the way to go, but I've not come across vfolders
before and I have no understanding of what's meant by "merge in the /
opt/csw/share/applications directory in the file applications-all-
users.vfolder-info". Is this stuff specific to gnome, which I'm also
fairly new to?

Option 3 looks the easiest to start playing around with so I'll
probably do that (although I assume these personal entries are just
added alongside the system ones?). I had wondered if $HOME resident
config files might be usable but again I couldn't find this technique
referred to in the docs.

Thanks again for your help.

Re: Integrating Blastwave into S10/u5 Java Desktop

doofus wrote:
> On May 28, 8:03 pm, "Neal A. Lucier" wrote:
>
>>doofus wrote:
>>
>>>Does anyone know of a user guide that describes how to replace the
>>>default applications on the Gnome menus in Solaris 10 Java Desktop (eg
>>>gimp, firefox etc) with the applications in /opt/csw/bin? I've tried
>>>and tried, unsuccessfully.
>>
>>There are a couple of ways to do this and I'll just explain how the whole system
>>works and then you can pick how you want to do it.
>>
[[snip]]
>>2. How gnome menus work
>> There is an xml file that defines what folders will be available under the
>>"Applications" menu in GNOME. For JDS that is at:
>>
>>/etc/gnome-vfs-2.0/vfolders/applicationas-all-users.vfolder-info
>>
>>For Blastwave (which is a much newer gnome and implements the freedesktop.org
>>menuing standard) that file is at:
>>
>>/opt/csw/etc/xdg/menus/applications.menu
>>
[[snip]]
>>Now you can merge in the /opt/csw/share/applications directory in the file
>>applications-all-users.vfolder-info, and if that merge is before the merge for
>>/usr/share/applications then the blastwave items that have the same name as the
>>Solaris items will load first and override the solaris options, thus the
>>intersection will be blastwave. You can addtionally merge blastwave 2nd and
>>then the intersection (things like firefox, thunderbird, and the base gnome
>>tools) will be Sun's. Keep in mind that it is the intersection of the file
>>names; e.g., "firefox.desktop", and the name of the entry; e.g., "Firefox Web
>>Browser".
>>
>>You can optionally edit the blastwave applications.menu and merge in the stock
>>Solaris direrctories after the blastwave ones. (The fun thing to do in a
>>network environment is create a NFS share location that has all your custom menu
>>entries for you location and mount that on all your machines and change all the
>>configs to merge that directory. Then update one location and all your users'
>>menus change.
>>
[[snip]]
>
> Option 2 looks like the way to go, but I've not come across vfolders
> before and I have no understanding of what's meant by "merge in the /
> opt/csw/share/applications directory in the file applications-all-
> users.vfolder-info". Is this stuff specific to gnome, which I'm also
> fairly new to?
>

If you check out the file applications-all-users.vfolder-info you will see it
has a structure which can be simply described as:

ApplicationsWhat words in the "Categories" section of a .desktop file need to be
included to make the entry appear in this menu

Some Sub-FolderSome other keywords to match in this folder

The actual menu is constructed by going through all the itemdirs and mergedirs
looking for .desktop files, and then attempting to categorize all those .desktop
file using the keyword definitions in the various folder definitions. (Two
passes are actually made through all the .desktop files to properly categorize
them.)

By changing the contents and order of the and entries you
can change what gets displayed because of the fact that the vfolder system is
not capable of resolving issues where there are two files named
"firefox.desktop" in two different directories, and the first one that is merged
gets used.

So to expand on my previous post, if the last is:

/opt/csw/share/applications

then only blastwave applications that aren't dupliates of Sun applications will
appear in the menu system, and all of Sun's apps will appear. Conversely if you
put the blastwave at the beginning of the file, then all the
blastwave applications will appear, and only Sun applications that aren't
duplications of blastwave applications will appear in the menu system.

This stuff used to be quasi-specific to GNOME, though KDE used a similar system.
They have converged recently to the freedesktop.org's standards: