Desktop FAQ for OpenSolaris and Solaris Nevada (JDS)

From Genunix

Jump to: navigation, search

Contents

Introduction to OpenSolaris Desktops

Q: What is the Java Desktop System?

A:The Java Desktop System (JDS) is the legacy name for the default desktop on Solaris 10 and early Solaris Nevada distributions. Though it shares some GNU user space components, the JDS included in Solaris Nevada should not be confused with the Java Desktop System Linux distribution which Sun built several years ago.

Note that the Java Desktop System does not include many components written in the Java programming language. The 'Java' in JDS was intended to highlight that JDS along with NetBeans, Sun Studio, the excellent Solaris observability tools and other features comprise an excellent Java development environment.

The Desktop component in OpenSolaris is simply called "The OpenSolaris Desktop", though most of the core components are identical to that in JDS and therefore this FAQ is applicable to OpenSolaris.

The OpenSolaris Desktop includes:

  • Core GNOME Desktop Components
    • The Nautilus File manager
    • The metacity window manager
    • The gconf configuration manager
    • Dbus interprocess communications API
    • Applications such as gnome-terminal,evolution, gimp, and pidgin.
    • The gnome-vfs filesystem abstraction layer
    • Libraries such as gtk+ and glib
  • HAL Hardware Abstraction Layer
  • The Firefox Web browser
  • The Thunderbird email client
  • The evince pdf reader

The JDS desktop in Solaris Nevada also includes additional components:

  • StarOffice 8
  • RealPlayer
  • Adobe Macromedia Flash player
  • Adobe acrobat reader (Sparc only)


Q: What are the hardware requirements for JDS?

A: JDS has few hardware requirements beyond what Solaris itself requires. You can view the Solaris hardware compatibility information here.

For optimal performance especially with features such as the Compiz 3D window manager, your video card's accelerated graphics must be supported by a Solaris driver. Other features such as laptop suspend/resume, WiFi and Bluetooth also depend on Solaris hardware support. You will find more hardware compatibility information specific to laptops here.

Welcome Newcomers!

Q: I'm new to OpenSolaris, but I'm familiar with (Ubuntu, RedHat, SuSe, Fedora...) Linux, and I'm having some trouble. Where can I get help?

A: Try looking in one of the following places:


Problems getting started

Q: My desktop session fails immediately on login. What could be wrong?

A: Here are some common causes of failure on desktop login.

  • A missing home directory, bad home directory NFS mount or bad permissions on home directory files.
  • Corrupt or incompatible old versions of preference files in your home directory. If you've tried everything else and don't mind resetting your desktop preferences, login to a fail-safe or console session and run 'gnome-cleanup' to cleanup the old preferences. Note that gnome-cleanup will not run from within a GNOME desktop session.
  • Make sure the dbus service running. Try running 'svcs dbus'. Does it say "online" or "maintenance"? If it says maintenance, svcs -x dbus will show you the path of a log file which should help you debug the problem.
  • Problems with your .dtprofile or other customized startup files. Make sure your PATH, LD_PRELOAD, LD_LIBRARY_PATH and other environment variable settings do not interfere with the GNOME desktop. If you are unsure, move or remove your .dtprofile and try to login.
  • Try logging into a fail-safe session and type this into the terminal:


   dbus-launch --exit-with-session gnome-session

or

   gnome-session

This will echo error messages to the terminal which can help with diagnosing the problem.

  • Make sure you have a /usr/lib/pkgconfig/xcursor.pc file. If not, you may need to update your Xserver.


Q: Login takes a very long time and my (nautilus) desktop background is unresponsive.

A: If you've ever created a Nautilus desktop bookmark to a file path which is no longer accessible (e.g. a stale NFS mount), login and the Nautilus GUI can hang while attempting to access this file path.

The work around for this is:

  Use truss -p `pgrep nautilus` to see what file path Nautilus is hanging on
  Remove the bad path from your ~/.gtk-bookmarks file
  Alternatively, you can completely remove or move the .gtk-bookmarks file
  mv ~/gtk-bookmarks ~/.gtk-bookmarks.bad

Further details can be found in these bug reports:

Bugster: bug 6698176: "Old NFS path bookmarks in Nautilus prevent normal login"
Bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=322507


Q: Desktop login works, but there are no icons on the Nautilus background desktop and right-clicking the desktop does nothing. What is wrong?


A: This means there is a problem with the nautilus file manager process. Try launching nautilus from a command line. It may begin working or present errors indicating what failed. If you see an error such as:


$ nautilus
Failed to connect to socket /tmp/fam-{mylogin}/fam-


Try this:

pkill -u {your uid} nautilus;rm /tmp/fam-{youruserlogin}/fam-;sleep 1; nautilus&


Q: Panel crashes as soon as I try to launch anything, applications and applets are crashing. What could be wrong?

A: A known intermittent bug (6631419) present in builds prior to Nevada 86 caused gtk-icon-cache corruption which led to many applications crashing (e.g. gnome panel, nautilus.) If you suspect you have the build, login as root and run the following workaround:


   for d in /usr/share/icons/*; do
       [ -d $d ] &&
            gtk-update-icon-cache --force $d;
   done


Q: Fonts look ugly and/or sometimes I'm getting crashes with stack traces or error messages referencing Xfc and fonts? What could be wrong?


A:The font cache generator fails to run properly in some builds prior to Nevada 85. To rebuild the font cache:


    login as root
    fc-cache --force   
    reboot



Q: How do I see errors logged within a desktop session?

A: Look for errors in the following files:


 GDM:  $HOME/.xsession-errors, /var/log/gdm/$DISPLAY.log
 CDE:  $HOME/.dt/errorlog, $HOME/.dt/startlog
 Xorg: /var/log/Xorg.$DISPLAY
 Xsun: /var/dt/Xerrors 



Q: How do I enable more detailed error logging?

A: If you are using the CDE login manager, follow these steps:

  • Edit $HOME/.dtprofile
  • remove the line which says "dtstart_sessionlogfile=/dev/null"

(Note, .dtprofile is only works with the CDE login manager.)

If you are using GNOME's GDM login manager, modify the

 /usr/share/gdm/custom.conf file so the [debug] section has this entry:

 [debug]
 Enable=true

Then restart GDM by running gdm-restart as root. Note this will cause any running sessions to immediately exit, so you shouldn't run it with unsaved data on the desktop. The additional debug messages will appear in the syslog (/var/adm/messages) file.

  • Consider setting these environment variables in your .profile:
       G_SLICE="always-malloc"       # Helps libumem memory debugging 
       GSM_VERBOSE_DEBUG=            # Enables gnome session debug 
       G_DEBUG="fatal_criticals"     # Makes critical errors fatal so failures are caught early.


Also look at these glib environment variables.


Q: How do I disable bug-buddy and enable core files?

A: First, use coreadm to enable core files:


coreadm -e global -g /var/tmp/core.%f.%p


Then add this to your .profile file:

       GNOME_DISABLE_CRASH_DIALOG=1  # Allows normal core file generation


Logout and log back into your session. Now when applications crash, they will generate core files in /var/tmp which include the name of the executable and the pid. You can display a backtrace from these core files with pstack {corefile}.


Q: What is the startup sequence of the Solaris Desktop?

A: The login program (dtlogin, gdm...) accepts the user selection and password then it runs the following:

  1. /usr/dt/config/Xsession.jds which runs
  2. /usr/dt/bin/Xsession which runs
  3. /usr/dt/config/Xsession2.jds which runs
  4. /usr/dt/config/Xinitrc.jds which runs
  5. gnome-session


Q: I see an error indicating that gnome-panel has detected a panel running and will now quit. But I don't see any panels!

A: There may be two or more instances of gnome-panel in your session which are colliding. Try this:

Right click the nautilus desktop to open a terminal. Enter the following:

gnome-session-remove --list

You should see 1 or more instance of gnome-panel

gnome-session-remove gnome-panel gnome-session-remove gnome-panel

gnome-session-remove --list

{gnome-panel shouldn't be in the list now}

Finally type:

gnome-panel&

{gnome-panel should run and add exactly one instance of itself to the session list}

Desktop Appearance and customization

Q: I'd like to see my home folder on my desktop. How do I do this?

A: Try this:

  • Run gconf-editor
  • Check the /apps/nautilus/desktop/home_icon_visible box

Alternatively:

       gconftool-2 --type boolean --set /apps/nautilus/desktop/home_icon_visible true



Q: I'd like to add a new application to the main menu. How do I do this?

A: For local changes:

  • Right-click the Java/Launch menu, and select 'Edit Menus'.
  • This will create a new desktop file in ~/.local/share
 To make these changes global:
  • Copy the .desktop file to /usr/share/applications
  • Edit the files in /etc/xdg/menus if required.


In Solaris 10 and earlier Solaris Nevada builds this may require a pkill panel to get the new menus to load.

For more details, see the Desktop Menu Specification and the XDG Base Directory Specification


Q: How do I start an application automatically at login?

A: Follow these steps:

  • Launch->Preferences->Sessions
  • Make sure the Startup Programs tab is selected
  • Click the Add button.
  • Enter the name of the application and the command to invoke the application.
  • Click the OK button.


Q: When I go to "Launch -> Preferences -> Desktop Preferences -> Display Screen Resolution" the only option that is available to select is 1024x768 and refresh rate is 60 Hz. My monitor will support 1900x1200, but that does not appear as an option in the pick lists. How do configure the system to display resolutions my monitor will support?


A: Resolutions must be configured in your /etc/X11.conf file in order to appear in this pick list. Rather than figure out how to do that, it's probably easiest to change the resolution from the command line-- see 'man fbconfig'.


Q: How do I improve the appearance of the desktop fonts?

A: You can select the font and rendering technique in the Appearance Preferences. You can also modify the font DPI (Dots Per Inch) in the Appearance preferences Fonts tab (click the Details button)


Q: How do I install a new font?

A: In the Font Rendering Details pane of the Appearance preferences, select "Go to Fonts Folder." This will bring up a nautilus file manager window in the fonts:/// directory. Drop fonts into this directory. Now rebuild the fonts cache:


    login as root
    fc-cache --force   
    reboot



Q: Is it possible to change the Window raise and focus mode?

A: Yes, try the following options:

  • Prevent new windows from stealing focus:
gconftool-2 -s -t string /apps/metacity/general/focus_new_windows "strict"


Keyboards

Q: Where are the keyboard-indicator gnome-panel applet and 'Layouts & Layout Options' tabs in gnome-keyboard-properties?

A: This functionality relied on libxklavier which relied on an Xserver private interface (libxkfile).

This technique breaks badly in some situations. For example, if a user is logged in remotely using XDMCP or other remote X display capability and the Xserver and xclient are using different Xservers or different versions of the same Xserver. See the following bugs for details:

 http://bugzilla.gnome.org/show_bug.cgi?id=152105
 http://bugzilla.gnome.org/show_bug.cgi?id=383356

Sun engineers decided to wait until the Xserver people agree on a standard keyboard mapping interface. We made this decision after dealing with complicated support problems from users of the keyboard switch applet. As soon a standardized X keyboard mapping interface is agreed upon, we hope to bring back this functionality.


Q: I selected the wrong keyboard during install, how do I fix it?

A: Edit /etc/defaults/kbd, change the layout to the correct layout for your keyboard. For example: LAYOUT=US-English Then reboot.


Building and installing new packages

Q: How do I build a JDS Desktop component?

A: Install the Sun Studio tools, the Common Build Environment and follow these "Building JDS on OpenSolaris" instructions


Desktop related OpenSolaris features still under construction

Q: How do I enable suspend/resume on my X86 laptop, desktop PC or Sparc Workstation?

A: As of Solaris Nevada build 86, suspend is only available on some hardware and is not enabled by default. Look here for more details.


Q: I can't get my WiFi card (e.g. Broadcom) to be recognized.

A: Try ifconfig -a plumb. Some WiFi (802.11) devices still have closed source drivers. It may be possible to run these under Ndis wrapper with your own Microsoft Windows drivers, but Ndis Wrapper does not work on a 64 bit kernel. Until these companies release open source versions of their drivers, the best solution is to install another WiFi card.


Q: I'd like to make my laptop battery last longer. Does OpenSolaris support CPU Frequency scaling?

A: Work is in progress on adding this support and making it available to the desktop via the Hardware Abstraction Layer (HAL). See this specification for more information on CPU Frequency scaling.


Q:: Are Bluetooth, Memory devices, USB memory, WebCams and other laptop devices supported?

A:: For Bluetooth, look here The proprietary nature of Sony Memory stick[Tm] and other memory card readers built into laptops means they aren't well supported in any open source operating systems. For webcams, look here.

Q:: Nautilus didn't automount my USB (mass storage, dvd-rw, memory key fob...) device. How do I find the path to the device?

A:: If the device is formated with a filesystem type which isn't available in the OpenSolaris kernel, (e.g. ext3, reiserfs...) it won't be mounted. If you know the filesystem type and would like to force a mount or if you'd like to wipe out the existing data and format it zfs or ufs, you'll need the device address. The rmformat command gives you that. Here is an example:


rmformat
Looking for devices...
1. Logical Node: /dev/rdsk/c3t0d0p0
Physical Node: /pci@0,0/pci108e,534a@2,1/hub@7/storage@1/disk@0,0
Connected Device: USB Flash Drive 1.12
Device Type: Removable
Bus: USB
Size: 124.0 MB
Label:
Access permissions: Medium is not write protected.
2. Logical Node: /dev/rdsk/c0t0d0p0
Physical Node: /pci@0,0/pci-ide@6/ide@0/sd@0,0
Connected Device: MATSHITA DVD-RAM UJ-845S D100
Device Type: CD Reader
Bus: IDE
Size:
Label:
Access permissions:

By looking into "prtconf -vD" result, you can find more detailed information about the devices. If you don't understand the device name, please refer to the Solaris system administration guide.


Look here for more details about areas where the underlying kernel doesn't yet support particular features.


Q: Are there drivers for my printer under OpenSolaris? What about CUPS printing?

A: We hope to soon include a copy of CUPS on OpenSolaris Nevada in the spring of 2008. At that time, you will have the opportunity to choose either LP or CUPS as the "active" print service. See the CUPs ARC caselog for more details.


Q: Accelerated graphics

A: Accelerated drivers don't exist for every graphics card, but the list is growing and now encompasses many popular X86 desktop PC and laptop video cards. See the DRI & 3D Drivers OpenSolaris project for more details.

Improving Performance

Q: The OpenSolaris desktop seems slow on my hardware. How can I improve the desktop performance?

A: Make sure an OpenSolaris driver exists which takes advantage of 3D composting and other features of your graphics card.

There are also several performance/eye-candy tradeoffs which can be optimized to improve the user experience on some platforms. Try the following:

  • Enable wireframe mode during window movement:
   gconftool-2 --set --type boolean /apps/metacity/general/reduced_resources true


  • Turn off Nautilus thumbnailing and other extra features.
   gconftool-2 --type string --set \ 
      /apps/nautilus/preferences/show_image_thumbnails local_only
   gconftool-2 --type string --set \ 
      /apps/nautilus/preferences/show_icon_text local_only
   gconftool-2 --type string --set \ 
      /apps/nautilus/preferences/show_directory_item_counts local_only
   gconftool-2 --type string --set \ 
      /apps/nautilus/preferences/preview_sound local_only


  • Turn off file indexing
    • Launch Preferences->Tracker Preferences
    • Deselect "Enable Indexing"
    • Deselect "Enable Watching"
  • Disable tracker (indexing) completely
    • Go to preferences->Sessions
    • Uncheck all items containing the word "Tracker"
    • If you want to disable tracker for everyone, you can remove these files:
           rm /etc/xdg/autostart/tracker*
           rm /usr/share/dbus-1/services/tracker.service

Desktop Applications

Q: Are there any good project management programs available? I'd like to be able to read and write Microsoft Project files.

A: Try OpenProj


Q: How can I play Quicktime, WMV, MPEG-2, DVDs and other video formats?

A*: The *legal way of playing codecs not already handled by RealPlayer or other default desktop media players is to get a licensed plugin. Many of these plugins are available from fluendo. MPEG2 and MPEG4 which should allow unencrypted DVD playback is planned for the future.


Q: How can I play MP3, AAC, WMV and other audio file formats?

A*: Again, the *legal way of playing this content requires licensed codecs. Sun doesn't ship any proprietary audio plugins with Nevada or Indiana. The MP3 decoder was removed due to a licensing issue with GPL programs such as rhythmbox and sound-juicer. You can download the MP3 decoder plugin for free and other plugins (such as WMV and WMA) which cost a little bit of money legally from http://shop.fluendo.com Unfortunately, even licenses which cost "a little bit of money" cannot be included with a completely open and freely distributable operating system without paying these license fees. This limitation is not unique to OpenSolaris


Q: What is the licensing issue with GPL programs such as rhythmbox and sound-juicer and why is yet another media player (Songbird) being introduced?

A: The biggest reason Songbird is better than rhythmbox is that it has better licensing. GPL'ed programs such as rhythmbox do not allow you to distribute with non-free code. With media, this is a serious issue since many popular formats (such as MP3, AC-3, etc.) are not free since they require paying licensing fees. This is described in the GStreamer FAQ:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-legal.html

Some GPL programs (such as totem) have a GPL licensing exception to specifically allow distributing with such media IP. You can see the totem exception as an example:

http://svn.gnome.org/viewvc/totem/trunk/license_change?view=log

Until all the GStreamer based programs have such an exception, Sun cannot ship a MP3 decoder plugin with GStreamer even though Sun does have a license from MPEG to ship MP3 decoder technology. In other words, this isn't an issue with MPEG, but an issue with the GPL license.

Our long-term goal is to fix Solaris so that it only ships with GStreamer based programs that contain this license exception, but this will likely take some time to coordinate. The rhythmbox and sound-juicer teams are working to add such exceptions so this issue may eventually go away.


Q: But my friend can play all of these multimedia formats on his open source operating system with some {not quite legal software}, why can't I?

A: Some unlicensed, questionably legal, sometimes legal or illegal options which are popular in other open source communities may also work on OpenSolaris desktops but they certainly can't be encouraged or shipped with freely distributable software which may be deployed in circumstances where they violate local laws. If you use any of these options, please be aware that you use them at your own risk. Companies such as Fluendo and RealMedia are working to fill in these gaps with legal software.


Q: Where can I find additional open source software for OpenSolaris?

A: Once you have the JDS Common Build Environment(CBE) installed, you can download Solaris CBE spec files which allow you to build many additional Open Source packages. These files are hosted as the spec-files-extra project at sourceforge.org


Q: I found this great Open Source GNU/Linux/BSD/OSX application. Why isn't it available on OpenSolaris?

A: Install the JDS Common Build Environment (CBE) and you can probably build it yourself. If it works and you'd like to be famous, submit patches and spec files to spec-files-extra on Sourceforge. Other OpenSolaris users will appreciate your help!


CHANGELOG: Initial version: --Bnitz 07:44, 1 April 2008 (PST)

Personal tools