Java Desktop System Golden Master Review

OSNews got their hands on the golden master of Java Desktop System (JDS) from Sun Microsystems and we gave it a spin. Here is our review and some screeenshots.


The Build 12C comes in 6 CDs: 3 binary, 2 source and 1 documentation. The installation will be familiar to SuSE users, as it is based on Yast2 (JDS is based on SuSE Linux). Installation went fine, except for two problems:

Java Desktop System - Click for a larger view 1. I installed it on /dev/hdd3 as / (a single partition for / and /boot) and used a 512 MB /swap on /dev/hdd2. I told the boot manager to get installed on /dev/hdd3 as I don’t want my existing bootmanager to get nuked. Upon rebooting to go to the second part of the JDS installation, Grub will load itself and then it will give me the grub command line and it would NOT load JDS to continue with the second part of the installation. I had to reboot, go to my Mandrake 9.1 installation, mount the ReiserFS JDS hdd3 partition, create a custom LILO file and then chroot to hdd3 and use LILO as my boot manager instead of grub. I did check the /boot/grub files on JDS, everything was in order, it’s just that Grub can’t read that menu.lst file when it is not installed on MBR. Sun told me that this seemed like a very specific case, and it seems that it was, as I later installed JDS on my AthlonXP PC and chose the same boot manager and partition setup and indeed worked flawlessly this time.

2. After I managed to boot JDS with LILO and entered the second stage of the installation the evolution-1.4.5 and gnome-user-docs RPMs will stall on 95% forever. Changing a screen and running “top” would reveal that scrollkeeper-up was consuming 100% CPU time and it was the culprit of the stall. I had to twice manually kill scrollkeeper to get on with the rest of the installation (thankfully, both RPMs were installed successfully as I checked later). On my second installation on the AthlonXP the same two files were again stalled for a very long period of time (this time I chose to not disturb scrollkeeper), so this is a totally reproducible problem. It drags the installation time from about 45 minutes to over an hour+.

Overall I found the installation cumbersome. It is very involved (I had to go through 4-5 pref panels to configure monitor and gfx card to my liking), very time consuming (staged installations, going through unnecessary screens sometimes), it is ugly and, under some conditions as above, buggy. The best graphical installer on Linux today is Red Hat’s Anaconda (with only a couple minor UI annoyances) and Sun/SuSE should learn a few things from it. Anaconda retains its power and advanced options (e.g. it has more options than Lycoris’ or Lindows’ installers) without alienating the new user. Yast2 on the other hand is not what I would call a “modern” installer. It is powerful, but it does not come without its share of extra carefulness the user should have as the UI is not well designed and some things are not obvious in their outcome. I hope the Ximian designers at Novell give it a complete redesign soon.

Overall, the default JDS installation takes about 2.5 GB without the dev tools (which are not installed by default).

The Good

Java Desktop System - Click for a larger view After it gets installed, JDS will boot in full graphical mode and load Gnome. JDS comes with a mix of Gnome packages, some are 2.2.1, some are 2.2.2, others are even 2.4.0 (gnome-panel). The final version of JDS has a different Launch icon than the betas had, a different background image and the UI is a bit more polished.

I liked the Launch menu that Sun has put together. It is pretty functional and manageable. If you don’t count the “Extras” menu which has been deprecated by Red Hat and others for being a bad usability decision, other than that, the menu is good: recent items, search for files, log out, applications, preferences on their own placeholder and Star Office 7/Mozilla 1.4/Evolution 1.4.5 are to be found in a ‘quick launch’ position above the Applications on the same menu.

The distro comes with most of the Gnome 2.2 applications, plus a few more: Totem 0.99.2 (gstreamer backend), Epiphany 0.8.x, Gnomemeeting 0.98.1 (beta!), gThumb 2.1.4, Java Media Player (no XMMS though), a Gtk 2.x version of GtKam, Gaim 0.70, and, of course, Star Office 7, Real Player, Jedit and 3 other Java applications. The Flash plugin and Java plugin work perfectly with the OS. The distro comes with kernel 2.4.19 and GCC 3.2.2.

The Yast2 modules are part of the preferences menu or the System:/// VFS Nautilus module. There, you can find additional Yast2 preferences, like configuring your NFS, Samba, services, advanced administration panel etc. Users who have used SuSE will find a familiar ground here. While the Yast2 modules (as the Yast2 installation) are ugly and they seem to be out of place (they don’t correspond to the default Gnome theme or font) they ultimately do the job.

Star Office 7 is included and provides a powerful alternative to MS Office for all small and medium sized businesses. The $80-worth SO7 is a major part of the OS’ marketing and maybe it can be called as its main feature. The suite worked well and read successfully all my “normal” .doc files, but it failed miserably on .doc files that had mathematic symbols (I was sent such documents by Intel for an OSNews article a few months ago).

Java is installed by default and it works well. I loaded a few java apps, like Limewire and they ran as expected.

Nautilus has been patched to support new VFS modules while its main window opens the “My Computer” screen instead of the user’s home folder. The My Computer includes links to all removable disks, other automatically mounted Linux partitions (not FAT or NTFS though by default), Networked links, PDAs etc. I quite like this arrangement, but there is a problem with the naming. Sun calls everything that is mounted “removable drives.” I fail to see how my internal IDE IBM drive is “removable” (it can be “unmounted”, but it is not “removable”), while my CD-RW is also titled “removable” (correctly) but it has a hard disk icon instead of a CD-rom icon and so it is extremely confusing what is what over there…

Java Desktop System - Click for a larger view A good addition on JDS’ Nautilus is the ability to automatically refresh the contents on a Nautilus window when files are changed. On my Slackware (also with ReiserFS) I have to manually click “refresh” to see the new contents and its Gnome is even newer than JDS’.

It is nice to see that Sun applied some of Ximian’s patches, for example for the GTK+ file selector, which now is the same as in the latest Ximian Gnome. Too bad Sun didn’t take on the Ximian Preferences window too, though.

There is an online updater for the OS, same as in SuSE, however it requires you to enter product registration information before it can be used (which I was not given by Sun, so I couldn’t test this feature).

The Gnome Panel 2.4 has seen a few patches too: most applets can be locked, while there are a few additions too, like a search applet named web-eyes and Quick Lounge. Evolution has also seen patches from the default and it is now dubbed “Evolution Java Desktop System Edition.” I have no idea what they have changed exactly though (Evolution is a big app to easily single out details).

A personal request would be to add nano or pico or jed to the distro. If a new Linux user gets stuck on text mode for some reason, using vi or emacs is not really an option for most.

Except for two totally reproducible crashes with Nautilus and Mozilla 1.4.1 (see next page), I found JDS extremely stable, maybe even more stable than other distros’ desktop software I tried lately (overall, certainly more stable than Fedora’s or Yellow Dog Linux’s apps for example).

The Bad

There are a few problems with the distro as explained below, but I had one big problem and one big gripe with this distro:

Java Desktop System - Click for a larger view The biggest problem:
JDS would not work with my network card on my second test installation (it worked fine on my first test PC with a 3Com card). My network card is supported by Linux, in fact I have 4 more Linux distros on that AthlonXP machine which all work great. I tried to find out what’s up with it, and I noticed that the module for RealTek 8139 is loaded (onboard NIC on a VIA chipset mobo), that the configuration on Yast2 is perfectly right, the connector is fine, it is able to ping itself by IP ( but it couldn’t reach any other PC on our network, or the internet. That was obviously a driver bug, and so I did my homework and tried to search on Google for similar problems (with the help of an “ifup eth0” error I was getting). Bingo! SuSE has this bug on its kernels for almost a year now (this happens on specific revisions of the RT8139). In fact it seems to be a SuSE-only bug and Sun has inherited for its distro too now it seems. There is no resolution for this bug but to recompile your kernel manually. I downloaded the latest 2.4.23 and used Sun’s .config file, compilation went well, but on reboot I was getting a kernel panic that could not mount the rootfs because the kernel could not find the reiserfs module, while its .o file was in the right place (for some reason Sun’s default .config compiles it as module, even if the default fs is ReiserFS on Yast2). Giving it one last shot later, loading the default .config from my Slackware and then recompiling ALSA 0.9.8, had me up and running on JDS on that AthlonXP machine. I believe that both Sun and SuSE should look into this 8138too.o bug more carefully.

The biggest gripe:
It does not include KDE support. I am not talking about including KDE as an alternative DE to Gnome, because Sun is committed on Gnome and it does make product-sense to only provide a single supported D. However, by not including the kdelibs and a newer Qt package, it rules out the ease of installing more Linux applications. Let’s face it, at least 50-60% of the Linux GUI software today is written for the Qt toolkit and the KDE libs, for one or the other reason that I won’t explain here. By not including KDE support, Sun immediately shred away the hopes of users to install more software! There is no burning application coming with the distro for example (except the very plain burn:/// Nautilus VFS module). There are 2-3 third party Gnome GTK+ 1.x burning apps out there but they are outdated, difficult to use and ugly, while the KDE-based K3B is the one app on Linux that is powerful and pretty easy to use and that even does DVD burning too. There are other very good reasons for users to need KDE/Qt functionality (KStars, KDevelop, TheKompany apps etc), and JDS doesn’t make that easy. There is the ancient Qt 3.1.1 installed by default, but *only* because it is a dependency on Yast2 tools and not for other reasons! Manually installing a newer Qt and KDE on the default locations might break Yast2 and installing Qt elsewhere can be tricky, so that is not a good option either. I believe that Sun has tremendously limited their OS by removing KDE application functionality.

Java Desktop System - Click for a larger view Other Annoyances:
Sun has designed its own theme, named BluePrint. The theme is nothing extraordinary, it has some interesting widget implementations (e.g. the rounded input boxes, the sliders etc) while other parts of it are absolutely hideous, e.g. the default gray color and the window manager. The window manager design is just as ugly as it can go plus it is not practical (it is almost impossible to see the buttons of an unfocused window). The default gray application background color makes the whole OS feel oh-so-Win95 that it isn’t even funny. I had to go to themes and change my theme to the light gray/white version of the same theme, in order to make the desktop feel more welcome. And if that wasn’t enough, the BluePrint theme is slow. Switching to the Default Gnome theme it gives me the same level of Fedora’s speed, but with it, it is just slow on the AthlonXP 1.4 GHz.

Everyone’s bitching on Gnome for not having a menu editor, but under JDS things are worse than usual. Normally what you do is go to start-here:/// and the Applications are listed there, and then by using these entries as normal shortcuts you can edit your gnome menu. But on JDS, start-here:/// does not work. It does not display anything when called, and so there is no easy way to edit the JDS menu. And yes, there is a good reason why someone would want to do this, because both Epiphany and Real Player are included by default in the installation and they don’t have entries at all on the menu! I was really surprised that Sun forgot Real Player off their menu because they did such a big noise about it a few weeks ago and did a press release about it too.

Sun has (deliberately, because of license issues?) left out of Gaim the Gadu-Gadu and MSN plugins. The MSN plugin could be quite a blow for offices as many companies use it as their main IM software (I know my previous company in UK used to). On other desktop software disappointments count the Totem-gstreamer inability to play a simple .mpg video (the Fanimatrix trailer in particular, 14 MB), while Totem plays it fine on both my Fedora and Slackware.

The other problem I stumbled upon is Samba. I shared via Samba a folder on my Mac OS X Panther machine (newly acquired dual PowerMac G4) and tried to get connected to it via the Network Places panel on Nautilus (which creates shortcuts) and via directly typing smb:// on Nautilus’ URL bar. The first way will crash Nautilus and the second will just not connect. Other Linux distros have other problems with the samba VFS module for Nautilus, so one thing is for sure: the smb VFS module desperately needs fixing at many levels. Using smbmount from the command line works perfectly. The samba version used by JDS is 2.2.x.

Java Desktop System - Click for a larger view Java applications are downright ugly and out of place, no matter if this distro is called “Java Desktop System” or not. I know that Sun is working on a way for Java to use GTK+ themes, but except some Sun Java apps no one else is using the technology and so even the included Java apps don’t feel integrated to the rest of the environment. But that’s all well known, here is the worst part. Check the screenshot, these are five Java apps all from the /Extras/Java Applications/ menu. ALL five of them are using different theming/widget set (only the Java Media Player of the five uses the GTK+ engine)! It is one thing to have Java apps not look like the Gnome apps, but having 5 java apps and all look different from each other, well, it is too much for anyone to bear. Additionally, all the SuSE setting GUI panels are based on Qt, and so these look even more different. It is like torture.

More over, I completely fail to see the point of advertising the fact in the /Extra menu that these apps are “Java Applications” (or was that a warning?). The user should not care if these apps were Java or GTK+ or Qt, these are implementation details that should be absolutely transparent to the desktop user.

Mozilla would crash consistently when clicking to download RPMs, e.g. here (because of the Real Player plugin, but this doesn’t happen on my Slackware with Real also installed). Another bug I found was with gThumb. Turning on the “Image Preview”, would do nothing. Also for those who asked me via email yesterday, SuSE’s RPMs don’t seem to work with JDS. There are unsatisfied dependencies on libc, libcrypto, ssl etc.

Lastly, the overall speed of the OS won’t win any awards. All in all, I found it more slugish than Fedora (when using the default Blueprint theme) and with much worse mouse movements (Fedora has special kernel support for that) but with better multitasking than Fedora at very specific places (Fedora’s RedHat menu stalls some times and doesn’t open for a few seconds). My Slackware 9.1 (also on the same AthlonXP machine but on a slower, Samsung, drive) beats both of them on desktop performance noticeably while using Gnome 2.4.x.


Java Desktop System - Click for a larger view It is important to remember that this desktop system is meant for the enterprise and corporate desktops and not for home desktops. JDS and its accompanied applications are certainly very stable once up and running and it has good support options plus its price is at very good levels and includes the whole Star Office 7 deal. It is certainly a good alternative to MS Windows for corporate usage, however it does have its problems as you saw above. Some admins might dislike the fact that installing KDE support manually is too much work and it might break things. However, compared to Windows XP, JDS does come with a good price, plus Star Office 7 immediately adds a great value to the package.

Sun told me a few months ago that they see Microsoft as their main competitor for this particular product, but I also see Red Hat and SuSE as major competitors as they will try to take on the same corporate customers. Luckily for Sun, Red Hat’s cheapest product now costs $170 (70-80 bucks more expensive than JDS; corporations won’t endorse the free Fedora as it doesn’t have support) while SuSE’s recent purchase by Novell has put a break on their sales as most big customers want to know what will Novell do with these products before they buy in. So yeah, Sun does have a good chance to grab a good portion of the Linux/Unix corporate desktop market with JDS, and because of its fair price and SO7 inclusion, they can overcome the distro’s shortcomings in the eyes of its buyers.

Will it sell? I think it will, especially among existing Sun Solaris customers, as this product interoperates well with Solaris and other Sun server products. Will it become very widely successful? Only time will tell, but if Sun give out a free unsupported version it will certainly help its spread out. Nevertheless, the product should get more polish and care before I give it better marks. And some innovation too instead of a stock cut-down SuSE distro with SO7 and a brand name behind it.

Installation: 6.5/10
Hardware Support: 7/10
Ease of use: 7.5/10
Features: 7/10
Credibility: 7.5/10 (stability, bugs, security)
Speed: 7/10 (throughput, UI responsiveness, latency)

Overall: 7.08


  1. 2003-12-02 6:03 pm
  2. 2003-12-02 6:13 pm
  3. 2003-12-02 6:15 pm
  4. 2003-12-02 6:21 pm
  5. 2003-12-02 6:22 pm
  6. 2003-12-02 6:22 pm
  7. 2003-12-02 6:24 pm
  8. 2003-12-02 6:25 pm
  9. 2003-12-02 6:26 pm
  10. 2003-12-02 6:29 pm
  11. 2003-12-02 6:30 pm
  12. 2003-12-02 6:36 pm
  13. 2003-12-02 6:40 pm
  14. 2003-12-02 6:45 pm
  15. 2003-12-02 6:52 pm
  16. 2003-12-02 6:53 pm
  17. 2003-12-02 6:54 pm
  18. 2003-12-02 7:01 pm
  19. 2003-12-02 7:06 pm
  20. 2003-12-02 7:07 pm
  21. 2003-12-02 7:08 pm
  22. 2003-12-02 7:36 pm
  23. 2003-12-02 7:40 pm
  24. 2003-12-02 7:46 pm
  25. 2003-12-02 8:02 pm
  26. 2003-12-02 8:02 pm
  27. 2003-12-02 8:02 pm
  28. 2003-12-02 8:03 pm
  29. 2003-12-02 8:04 pm
  30. 2003-12-02 8:05 pm
  31. 2003-12-02 8:17 pm
  32. 2003-12-02 8:39 pm
  33. 2003-12-02 8:40 pm
  34. 2003-12-02 8:45 pm
  35. 2003-12-02 8:46 pm
  36. 2003-12-02 9:07 pm
  37. 2003-12-02 9:34 pm
  38. 2003-12-02 9:46 pm
  39. 2003-12-02 9:53 pm
  40. 2003-12-02 9:54 pm
  41. 2003-12-02 10:00 pm
  42. 2003-12-02 10:01 pm
  43. 2003-12-02 10:22 pm
  44. 2003-12-02 10:26 pm
  45. 2003-12-02 10:29 pm
  46. 2003-12-02 10:29 pm
  47. 2003-12-02 10:53 pm
  48. 2003-12-02 11:06 pm
  49. 2003-12-02 11:07 pm
  50. 2003-12-02 11:14 pm
  51. 2003-12-02 11:17 pm
  52. 2003-12-02 11:25 pm
  53. 2003-12-02 11:30 pm
  54. 2003-12-02 11:58 pm
  55. 2003-12-03 12:00 am
  56. 2003-12-03 12:07 am
  57. 2003-12-03 12:36 am
  58. 2003-12-03 12:41 am
  59. 2003-12-03 12:42 am
  60. 2003-12-03 12:44 am
  61. 2003-12-03 12:46 am
  62. 2003-12-03 12:48 am
  63. 2003-12-03 12:59 am
  64. 2003-12-03 1:01 am
  65. 2003-12-03 1:05 am
  66. 2003-12-03 1:23 am
  67. 2003-12-03 1:41 am
  68. 2003-12-03 2:03 am
  69. 2003-12-03 2:08 am
  70. 2003-12-03 2:22 am
  71. 2003-12-03 2:29 am
  72. 2003-12-03 2:30 am
  73. 2003-12-03 2:35 am
  74. 2003-12-03 2:41 am
  75. 2003-12-03 3:57 am
  76. 2003-12-03 8:46 am
  77. 2003-12-03 8:49 am
  78. 2003-12-03 8:49 am
  79. 2003-12-03 8:52 am
  80. 2003-12-03 9:20 am
  81. 2003-12-03 9:32 am
  82. 2003-12-03 9:59 am
  83. 2003-12-03 10:10 am
  • 2003-12-03 10:40 am
  • 2003-12-03 10:43 am
  • 2003-12-03 11:06 am
  • 2003-12-03 12:03 pm
  • 2003-12-03 12:21 pm
  • 2003-12-03 12:29 pm
  • 2003-12-03 12:51 pm
  • 2003-12-03 1:08 pm
  • 2003-12-03 1:11 pm
  • 2003-12-03 1:36 pm
  • 2003-12-03 2:26 pm
  • 2003-12-03 2:45 pm
  • 2003-12-03 3:27 pm
  • 2003-12-03 6:59 pm
  • 2003-12-04 12:52 pm