Topic: OpenCDE Revision 616 Released!

I have put out a new release of the almost completely rewritten OpenCDE today.

As you can also tell, I have changed the versioning.

This release contains the following improvements

1) Dtpanel can now be moved with the grabs
2) Dtlogin now runs the users .xsession if it exists
3) Dtpanel now has the daft scrolling animation that people like tongue
4) Dtpanel now has transparent pixmaps for the icons when pressed
5) Hacky stuff like mwmext has now been moved to libopencde so that changing desktops etc... has now got a simpler API for developers e.g

OpenCDE::Workspace::moveToWorkspace(Window id, int workspace);
OpenCDE::Workspace::setWorkspace(int workspace);
OpenCDE::Workspace::setBackgroundPixmap(std::string path);

6) Massive changes to libmotifmm and thus an almost complete rewrite of OpenCDE. This means that bugs may have crept in
7) Dtpanel now has a very similar looking Exit dialog.
8) Introduction to Dtlock which should act as a screen locker rather than xlock or xscreensaver.
9) Dtpanel now has correct window border.
10) Implemented the timer class from cgibbons' patch (due to large changes in motifmm, the clock still needs doing)
11) 1 beautiful new wallpaper (Default for desktop 4)

... And contains the following regressions

1) Removal of dtpad until it becomes more complete
2) Removal of dtfile until it becomes more complete
3) Removed the dtauth stuff. It wasn't ideal

Let me know if you have any issues. I have updated the documentation to reflect the changes.

Enjoy.

Karsten

Re: OpenCDE Revision 616 Released!

YES

Re: OpenCDE Revision 616 Released!

Umm, is there a make install somewhere I am missing?

Re: OpenCDE Revision 616 Released!

I have just been making a linux .rpm and also noticed that it is lacking a make install.

For now a simple:-

# cp -r opencde /opt/opencde

should suffice.

Sorry about that. I rarely install stuff outside the package management system or ports collection so overlooked this.

The important folders are 'bin' 'etc' 'share' 'lib'. Just copy these to any prefix and it should work providing that the lib folder is in the library path

I will get the install in tonight and upload a new version tomorrow. (to test for now, you should still be able to just run it from the source directory once it is compiled)

Re: OpenCDE Revision 616 Released!

Thanks for your hard work. Are you going to be making a port of it any time soon (FreeBSD)?

Re: OpenCDE Revision 616 Released!

fossala,

Yes. I will be making a port for FreeBSD athough I don't imagine it will end up in the ports collection for quite some time. I will add it to the downloads page.

Re: OpenCDE Revision 616 Released!

/me is still waiting for new OpenCDE build tongue

Re: OpenCDE Revision 616 Released!

Karsten,

Following are the testing results from revision 616:

1): With some hacking, NIS login works. It is really good news for me.
2): The right-click’s “Root Menu” is gone. Now the right-click almost has no use. I tried to replace dtpanel binary  from the one from 0.4.5.
      Then the right-click worked but the whole desktop became a gray ocean without anything else. Can we fix this bug?
3):  Dtlock only works for root. With normal account, it doesn’t work and I have already enaled  root suid on it. BTW, can we make a parameter to
       automatically lock screen after a period of idleness?
4): Then “exit” only makes dtpanel quit NOT the whole login session. Can we fix it?

Thanks.

Fred

Re: OpenCDE Revision 616 Released!

The root menu has been disabled for a while now. It's a feature, not a bug. There will be a root menu in a future release.

Re: OpenCDE Revision 616 Released!

Fred, Thanks for the feedback.

1) You have NIS working? If you have time, could you please upload a copy of your modified source? If it doesn't bring in any dependencies, I will be very interested in adding the changes to the project.

2) Yeah as woomia said, it will be coming in a future version. It will need to be autogenerated based on the panel menus. For now you can re-enable it by modifying the bin/dtwm shell script and removing the config file parameter hack.

3) This seems to be a linux thing. I cannot seem to get sbit stuff to work lol. On FreeBSD if it is set to 'rwxs' it runs as root. On Linux it seems to do nothing. I will need to research this more.

4) How are you running OpenCDE?
- If it is via dtlogin, then this should exit and return to the login screen.
- If it is via .xinitrc, then ensure that dtsession is the last blocking command.
- If it is via .xsession, then the same as above.

@woomia,

OpenCDE 617 will be uploaded within the next few hours which has the install "feature". I was meant to do this yesterday but the weather was too glorious to sit inside writing makefiles. The weather is good today too but now I am equipped with an anti-glare screen filter big_smile

Best Regards,

Re: OpenCDE Revision 616 Released!

It was raining here. My lawn is a jungle now.

Re: OpenCDE Revision 616 Released!

If you are installing in this in Debian remember to run ldconfig after 'make install' or the libraries wont be found.

Re: OpenCDE Revision 616 Released!

kpedersen wrote:

Fred, Thanks for the feedback.

1) You have NIS working? If you have time, could you please upload a copy of your modified source? If it doesn't bring in any dependencies, I will be very interested in adding the changes to the project.

[Fred]: I have not touched the source code. My hacking is copy "libnsl.so.1", "libnss_files.so.2", and "libnss_nis.so.2" tp
            installdir/lib

2) Yeah as woomia said, it will be coming in a future version. It will need to be autogenerated based on the panel menus. For now you can re-enable it by modifying the bin/dtwm shell script and removing the config file parameter hack.
[Fred]: This hacking works well. Great! Thanks.

3) This seems to be a linux thing. I cannot seem to get sbit stuff to work lol. On FreeBSD if it is set to 'rwxs' it runs as root. On Linux it seems to do nothing. I will need to research this more.
[Fred]: Agree. Normal account can only trigger the exception dialogue. We have to find a way to fix it.

4) How are you running OpenCDE?
- If it is via dtlogin, then this should exit and return to the login screen.
- If it is via .xinitrc, then ensure that dtsession is the last blocking command.
- If it is via .xsession, then the same as above.
[Fred]: I use root to run dtlogin at runlevel 3. Only dtpanel exits and mwm is still running there. I can not return to the
            login screen. BTW, the exit button works well in 0.4.5. I tried to bring that dtpanel code back, but I failed to compile
            it. It is sad for I think it is a critical fucntion for me. OpenCDE almost works in my eyes. Thanks.

@woomia,

OpenCDE 617 will be uploaded within the next few hours which has the install "feature". I was meant to do this yesterday but the weather was too glorious to sit inside writing makefiles. The weather is good today too but now I am equipped with an anti-glare screen filter big_smile

Best Regards,

Re: OpenCDE Revision 616 Released!

fred,

With regards to the exit not working. It could be a bug in the opencde source code but to make sure I am going to need you to try a few things.

Instead of exiting from dtpanel with the exit button, could you open up an xterm and as root, type the following commands.

# pkill -SIGHUP X
# pkill -SIGHUP Xorg

And could you let me know if either one of these terminates your X and returns to the login screen.

If neither of them do, then this is the issue and I need you to play around with a way of exiting the X session as root. e.g `pkill -SIGHUP xorg`, `killx` or some other weird distro specific command.

If you find one that works, post on here so I can update the source code. You can also try it out yourself by editing installdir/share/opencde/dtlogin/scripts/login and replacing the previous two commands with your one.

It shouldn't take very long. Good luck!

Re: OpenCDE Revision 616 Released!

And if you are using Linux I believe dtlogin (like gdm or xdm) needs to be run as init 5.

Re: OpenCDE Revision 616 Released!

Yes, dtlogin on Linux has to be run level 5. You can set this in /etc/inittab

Re: OpenCDE Revision 616 Released!

woomia wrote:

And if you are using Linux I believe dtlogin (like gdm or xdm) needs to be run as init 5.

AFAIK runlevel 5 simply starts a bunch of scripts that load the X login manager and other stuff which OpenCDE does not need.

For my RHEL6 install, I simply add the dtlogin command to /etc/rc.conf which I think gets run at runlevel 3. I then set grub to only load to runlevel 3.

But then again.. Every linux is different lol. I also didn't get far with Debian when I tried it (I think it was during 4.0 time).

Re: OpenCDE Revision 616 Released!

Debian is turning out not to work. I can't get dtlogin to start on boot. When I try manually starting it, it works except for the fact you can't login. You can type your login name and password and nothing will happen. The shutdown and reboot buttons work, though.

I'll be able to look into it more tomorrow.

Re: OpenCDE Revision 616 Released!

woomia wrote:

You can type your login name and password and nothing will happen. The shutdown and reboot buttons work, though.

Before you built and installed OpenCDE, did you edit config.Mk and change PLATFORM=FREEBSD to PLATFORM=LINUX?

This is due to linux using a shadow file for the hashed passwords. (*BSD does this too in master.passwd but seems to automatically fetch the hash).
With linux I needed to use platform #ifdef to enable specific password checking code. Without it, dtlogin just thinks that the password is invalid.

Re: OpenCDE Revision 616 Released!

working on compiling on 64-bit debian,  it fails at dtpanel with
(it seems to be a linking fail, probably due to 64bit librarys, know where i should relink too?)


g++ —I/usr/X11R6/include —I/usr/local/include —DPLATFORM_FREESSD —c —I. ./. ./inc
ude ExitDialog.cpp —o ExitDialog.o
g+÷ —I/usr/X11R6/include —I/usr/local/include —DPLATFORM_FREESSD —c —I. ./. ./inc
ude Grab.cpp —o Grab.o
g++ —I/usr/X11R6/include —I/usr/local/include —DPLATFORM_FREESSD —c —I. ./. ./inc
ude HenuWindow.cpp —o Menuwindow.o
g÷÷ —o . .1. ./bin/dtpanel main.o PanelNindow.o ExitDialog.o Grab.o Menuwindow.o -
L. ./. ./lib —L/usr/1ib64 —lmotifmm —lopencde
/usr/bin/ld: PanelNindow.o: undefined reference to symbol ‘XmGetColors’
/usr/bin/ld: note: ‘XmGetColors’ is defined in DSIJ /usr/libû4/libXm.so.4 so try
adding it to the linker command line
Ìusr/libû4/libXm.so.4: could not read symbols: Invalid operation
collect2: Id returned 1 exit status
make [2]: scw* [..,. ./bin/dtpanel] Error 1
make [2]: Leaving directory ‘/home/user/opencde/opencde/src/dtpanel’
make [1] : *** [all] Error 2
make[1] : Leaving directory ‘/home/user/opencde/opencde/src’
make: *** [all] Error 2

Last edited by Zedicus (2011-07-05 20:55:23)

Re: OpenCDE Revision 616 Released!

Zedicus,

/usr/bin/ld: note: ‘XmGetColors’ is defined in DSIJ /usr/libû4/libXm.so.4 so try
adding it to the linker command line

It seems that XmGetColors isn't defined in libXm. The output you pasted above seems to have many spelling errors in it, perhaps an encoding issue so you might need to set the correct path but try to modify the config.Mk file and add `-L/usr/libû4/` to the beginning of the LDFLAGS variable.

This should then cause the compiler/linker to attempt to link to the correct version of libXm

Re: OpenCDE Revision 616 Released!

kpedersen wrote:
woomia wrote:

You can type your login name and password and nothing will happen. The shutdown and reboot buttons work, though.

Before you built and installed OpenCDE, did you edit config.Mk and change PLATFORM=FREEBSD to PLATFORM=LINUX?

This is due to linux using a shadow file for the hashed passwords. (*BSD does this too in master.passwd but seems to automatically fetch the hash).
With linux I needed to use platform #ifdef to enable specific password checking code. Without it, dtlogin just thinks that the password is invalid.

Gee no where was there a README that told me this (or the fact the execute is now Dtsession instead of OpenCDE). This wouldn't be a problem if I could read minds on another continent but alas I am always defeated by large oceans.

tongue

Thanks for the heads up, though!

Re: OpenCDE Revision 616 Released!

And it works!

To get dtlogin to start up on boot, on Debian make a dtlogin startup script in /etc/init.d/

Something like:
#!/bin/sh
# Dtlogin

exec /usr/local/bin/dtlogin

Then chmod 755 /usr/local/bin/dtlogin

Finally run update-rc.d dtlogin defaults

And reboot.

Re: OpenCDE Revision 616 Released!

@woomia,

Glad ya got it working.

As to the documentation. I had updated it! honestly! wink

http://devio.us/~kpedersen/documentation.php

The updates were made before I had the `make install` in there but it did still document the PLATFORM= stuff.

I will definitely include a README in future releases (that or wait for the ocean to move so that you can successfully read my mind).

Now that you have it working. How are you finding it? Though it is a complete rewrite, it should feel the same (with the addition of the scrolling menus)

Re: OpenCDE Revision 616 Released!

kpedersen wrote:

Zedicus,

/usr/bin/ld: note: ‘XmGetColors’ is defined in DSIJ /usr/libû4/libXm.so.4 so try
adding it to the linker command line

It seems that XmGetColors isn't defined in libXm. The output you pasted above seems to have many spelling errors in it, perhaps an encoding issue so you might need to set the correct path but try to modify the config.Mk file and add `-L/usr/libû4/` to the beginning of the LDFLAGS variable.

This should then cause the compiler/linker to attempt to link to the correct version of libXm



geh, most of the spelling errors appear to be from my screen grabber not liking the text pulled out of the VM.  anyway i will give it a whirl tomorrow and see what happens.  if somone wants to build and maintain debian packages in 32 and 64 bit i can provide 64 bit hardware and online storage space for the apt-repository...any one interested?