Skip Navigation Links | |
Exit Print View | |
Optimizing the Oracle Solaris Desktop for a Multi-User Environment Oracle Solaris 11.1 Information Library |
Overview of Desktop Optimizations
Installing Desktop Optimization Packages
How to Install the group/feature/multi-user-desktop IPS Package in the Active Boot Environment
How to Install the group/feature/multi-user-desktop IPS Package in a New Boot Environment
Enabling Desktop Optimizations
How to Enable Desktop Optimizations
group/feature/multi-user-desktop IPS Package
application/gconf/multi-user-desktop SMF Service
Customizing Desktop Preferences
Customizing GConf Based Optimizations
Modifying GConf Settings as a Standard User
Using the gconftool-2 Command-Line Utility
Using the gconftool-2 Utility With XML Files
Modifying GConf Settings as a System Administrator
Customizing Mozilla Firefox Optimizations
October 2012
This article helps Oracle Solaris 11 system administrators to understand how to optimize the Oracle Solaris 11 desktop for a multiuser environment.
This article provides the following information:
In a multiuser environment, you can setup a server such that it provides desktop environments to multiple clients, such as Sun Ray clients or VNC viewers. The desktop environment provided to clients can be optimized for better performance and usability. The optimizations for the desktop environment are available in the group/feature/multi-user-desktop image packaging system (IPS) package. You must install this IPS package on the server to enable optimizations for the desktop.
When you install the IPS package, the values of some of the desktop preferences are modified. The modified values override the default desktop preference values. To know about desktop preferences that are modified, see Desktop Preferences.
The following example describes the benefit of overriding the default value of the /apps/nautilus/preferences/show_image_thumbnails desktop preference.
|
To enable desktop optimizations, you must install the group/feature/multi-user-desktop IPS package and enable the application/gconf/multi-user-desktop SMF (Service Management Facility) service. For information on how to install the IPS package and enable optimizations, see Installing Desktop Optimization Packages.
After the optimizations are enabled, any user who logs in to the server is provided with the optimized desktop environment. The login process for a user takes less time because of the following reasons:
Several administrative applications that are not useful to a standard user are not loaded.
Several graphic and CPU-intensive applications are not loaded.
The following optimizations are provided by the group/feature/multi-user-desktop IPS package:
GConf based optimizations – Are managed by using the GConf framework.
Optimizations for the Mozilla Firefox – Are specific to the Mozilla Firefox web browser.
For information about how to change the desktop preferences, see Customizing Desktop Preferences.
Note - In this document, the terms “standard user” and “user” are used interchangeably and they refer to a user who is not a system administrator.
The group/feature/multi-user-desktop IPS package contains the optimization packages for the desktop environment. To install this package, it is recommended that you use a text-based installation of the Oracle Solaris 11 operating system.
You can install the IPS package in any one of the following boot environments:
Active boot environment
New boot environment
When you install the IPS package in the active boot environment, the active boot environment is modified and a backup boot environment is created.
$ pkg install group/feature/multi-user-desktop
$ reboot
After the package is installed, the desktop optimizations are available in the active boot environment. Now you must enable optimizations. To enable optimizations, see Enabling Desktop Optimizations.
When you install the IPS package in a new boot environment, the active boot environment is not modified and the package is installed in a new boot environment.
$ beadm create beName
$ beadm mount beName /tmp/beName
$ pkg -R /tmp/beName install group/feature/multi-user-desktop
$ beadm activate beName
$ reboot
After the package is installed, the desktop optimizations are available in the new boot environment. Now you must enable optimizations. To enable optimizations, see Enabling Desktop Optimizations.
To enable optimizations, enable the application/gconf/multi-user-desktop SMF service.
$ svcadm enable application/gconf/multi-user-desktop
The SMF service is enabled.
After the SMF service is enabled, any user who connects to the server is provided with the optimized desktop environment. To know more about the SMF service, see application/gconf/multi-user-desktop SMF Service
The group/feature/multi-user-desktop IPS package contains the optimization packages for the desktop. When you install this package, the following packages are installed on the system:
web/browser/firefox/multi-user-desktop
gnome/config/gconf/multi-user-desktop
The following table describes the optimization packages.
|
The application/gconf/multi-user-desktop SMF service is created when you install the group/feature/multi-user-desktop IPS package. When this SMF service is enabled, the optimal values for the GConf keys (desktop preferences) are installed in the following paths:
/etc/gconf/gconf.xml.multi.user.desktop.defaults
/etc/gconf/gconf.xml.multi.user.desktop.mandatory
When the SMF service is disabled, the optimal values (overridden values) for the desktop preferences are uninstalled from the previously mentioned paths and the values of the desktop preferences are reset to the default values.
Note -
A pointer to the /etc/gconf/gconf.xml.multi.user.desktop.defaults path is present in the /etc/gconf/2/local-multi-user-desktop-defaults.path file.
A pointer to the /etc/gconf/gconf.xml.multi.user.desktop.mandatory path is present in the /etc/gconf/2/local-multi-user-desktop-mandatory.path file.
Only a system administrator can customize both mandatory and default desktop preferences. However, a standard user can customize only the default desktop preferences. For information about default and mandatory desktop preferences, see Desktop Preferences.
The following types of optimizations can be customized:
GConf based optimizations – For information about customizing GConf based optimizations, see Customizing GConf Based Optimizations.
Optimizations for the Mozilla Firefox – For information about customizing Mozilla Firefox, see Customizing Mozilla Firefox Optimizations.
Desktop preferences are managed by using GConf. The value of the desktop preferences that are used by the Oracle Solaris 11 Desktop is priority-based. The following table shows the preference value that is used by the desktop.
|
For example, if the application/gconf/multi-user-desktop SMF service sets the value of the /desktop/gnome/background/draw_background preference to false and the user overrides the same setting and sets the value to true, the effective value of the setting that is used by the desktop is true. This value is used because the value that is set by the user for the default setting has a higher priority than the value that is set by the SMF service.
Similarly, in the case of mandatory settings, if a system administrator has modified a setting before enabling the SMF service, the effective value of the setting that is used by the desktop is the one that is set by the system administrator and not the SMF service.
A standard user can modify any of the default settings. The settings can be customized by using GUI tools such as “Appearance Preferences” that is available in the desktop. For settings that cannot be accessed by using the GUI tools, use the gconftool-2 command line utility to modify the settings.
The following examples show the usage of the gconftool-2 command-line utility.
To read the current value of a desktop preference, type:
$ gconftool-2 --get /desktop/gnome/lockdown/allowed_applications
To set the value of a desktop preference, type:
$ gconftool-2 --type string --set /desktop/gnome/font_rendering/hinting "full"
To unset the value of a desktop preference, type:
$ gconftool-2 --unset /desktop/gnome/font_rendering/hinting
You can save the GConf settings in an XML file and provide this file as an input to the gconftool-2 utility. The gconftool-2 configures settings based on the information present in the XML file.
The following examples show the usage of the gconftool-2 utility with XML files.
To read the current value of a setting, type:
$ gconftool-2 --dump /desktop/gnome/lockdown > /tmp/settings.xml
Note - To save the value of a preference in an XML file, you must specify one level up in the preference hierarchy for the --dump option. For example, if you want the value of the /desktop/gnome/lockdown/allowed_applications preference, you must specify /desktop/gnome/lockdown for the --dump option.
To set the value of a setting, type:
$ gconftool-2 --load /tmp/settings.xml
To unset the value of a setting, type:
$ gconftool-2 --unload /tmp/settings.xml
The following sample XML file shows the values that are set by using the gconftool-2 utility.
<?xml version="1.0"?> <gconfentryfile> <entrylist base="/desktop/gnome/background"> <entry> <key>draw_background</key> <value> <bool>true</bool> </value> </entry> <entry> <key>picture_options</key> <value> <string>zoom</string> </value> </entry> </entrylist> </gconfentryfile>
A system administrator can modify any of the default and mandatory desktop preferences. The changes made by a system administrator affects all users.
gconf.xml.admin.defaults
gconf.xml.admin.mandatory
local-defaults.path
local-mandatory.path
xml:readonly:/etc/gconf/gconf.xml.admin.defaults
xml:readonly:/etc/gconf/gconf.xml.admin.mandatory
For example:
$ gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.admin.defaults --load /tmp/default-settings.xml $ gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.admin.mandatory --load /tmp/mandatory-settings.xml
For example:
$ chmod -R 755 /etc/gconf/gconf.xml.admin.defaults $ chmod -R 755 /etc/gconf/gconf.xml.admin.mandatory
As a system administrator you can restrict the type of applications that users can start by modifying the value of the /desktop/gnome/lockdown/allowed_applications preference. This preference specifies the list of applications that users are allowed to start. Based on your requirements, you can add or remove applications from this list.
The following example show how to add a new application to the list of allowed applications.
Example 1 Adding a New Application to the List of Allowed Applications
Consider that you have installed a new application /usr/bin/new_app. To make this new application available to users, you must add this application to the list of allowed applications by updating the value of the /desktop/gnome/lockdown/allowed_applications preference. The following example shows how to update the value of the preference.
Copy the existing value of the /desktop/gnome/lockdown/allowed_applications preference to an XML file.
$ gconftool-2 --dump /desktop/gnome/lockdown > /tmp/new-settings.xml
In the /tmp/new-settings.xml file, add the new application to the list of allowed_applications.
<value> <string>/usr/bin/new_app</string> </value>
Note - In the /tmp/new-settings.xml file, you can remove settings other than the allowed_applications setting.
Create the gconf.xml.admin.mandatory directory in the /etc/gconf directory.
Create the local-mandatory.path file in the /etc/gconf/2 directory.
Add the following line in the local-mandatory.path file.
xml:readonly:/etc/gconf/gconf.xml.admin.mandatory
Save the new settings in the mandatory directory created in Step 3.
For example:
$ gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.admin.mandatory --load /tmp/new-settings.xml
Provide read permissions to users who can use the setting.
For example:
chmod -R 755 /etc/gconf/gconf.xml.admin.mandatory
Similarly, to remove an application from the list of “allowed applications” you must remove the entry of the application from the XML file and load the new settings.
Note - Applications that are not present in the list of allowed applications do not start automatically and are not shown in the desktop, menus, or the file browser.
Only a system administrator can override the optimized values that are set for the Mozilla Firefox web browser. The optimized values are present in the /usr/lib/firefox/defaults/pref/all-multi-user-desktop.js file.
The following code shows the values in the all-multi-user-desktop.js file.
// Disable "safe browsing" feature that hogs CPU, HDD, etc. pref("browser.safebrowsing.enabled", false); pref("browser.safebrowsing.malware.enabled", false); // Limit the "location-bar suggestions" pref("browser.urlbar.maxRichResults", 3); // Disable offline/disk caching of web pages pref("browser.cache.offline.enable", false); pref("browser.cache.disk.enable", false); // Change the default cache: pref("browser.cache.memory.enable",true); pref("browser.cache.memory.capacity", 1024);
To override the optimized values present in the all-multi-user-desktop.js file, create a new file in the /usr/lib/firefox/defaults/pref/ directory with new values. The file name should be alphabetically higher than the all-multi-user-desktop.js file. For example, you can name the file as all-admin.js.
To remove the optimization packages, perform the following steps:
Log in as a privileged user.
Uninstall the packages.
$ pkg uninstall group/feature/multi-user-desktop $ pkg uninstall gnome/config/gconf/multi-user-desktop $ pkg uninstall web/browser/firefox/multi-user-desktop
Note - To remove all the components installed by the optimization packages, revert to the boot environment that was created before installing the group/feature/multi-user-desktop package.
The following desktop preferences are modified by the gnome/config/gconf/multi-user-desktop package.
Default preferences
Mandatory preferences
Note - You can modify the value of desktop preferences by using the gconftool-2 utility. For more information about the gconftool-2 utility, see the gconftool-2(1) man page.
Any user can modify the preference value. You need not be a system administrator to modify the preference value. The following table lists the default preferences.
Table 1 Default Preferences
|
A standard user cannot modify the value of the preference. Only the system administrator can modify the preference value. The following table lists the mandatory preferences.
Table 2 Mandatory Preferences
|
Note -
The following mandatory preferences do not affect system administrators:
/apps/panel/global/locked_down
/desktop/gnome/lockdown/restrict_application_launching
The /desktop/gnome/lockdown/allowed_applications preference is required for optimization. However, this preference is delivered as a part of the library/gnome/gnome-libs package and is not modified by the group/feature/multi-user-desktop package.
To understand how to modify the /desktop/gnome/lockdown/allowed_applications preference, see Restricting Applications.