JavaOS properties are settings that control the behavior of the JavaOS operating system on the JavaStation computer. JavaOS properties are delivered to the JavaStation computer at bootup; they can be delivered by the DHCP server or in a file referenced by the DHCP server.
Two kinds of properties control JavaOS behavior: system properties and JavaOS properties. Generally, system properties control the operation of applets or of any Java applications built into the JavaOS image (such as a browser). JavaOS properties determine the resources used by the JavaOS software, such as the language and fonts of the interface and the printers available to the JavaStation.
This chapter lists the JavaOS and system properties by functional group and explains how to set properties.
The tables below list all JavaOS and system properties. The properties are grouped by function. Each table includes the name of the property, its default value, and a description of what the property controls. All properties are JavaOS properties unless marked as system properties.
Property setting examples use the JavaOS property flags, such as -d. These property flags are described in Table 4-7.
The following table lists general properties for setting up the JavaOS environment.
Table 4-1 JavaOS General Properties
Property Name |
Default Value |
Description |
---|---|---|
javaos.mountlist |
null |
A semicolon-separated list of pairs of network paths and local paths. After the user logs into the JavaStation, each remote file system is mounted onto the local file system. The syntax of each pair is: server:remote_path|local_path For example, to enable localized keyboards, mount /REMOTE from the server and file system that has the JavaOS executable image, as follows: -djavaos.mountlist=myserver:/export/root/javaos/classes|/REMOTE See "Setting Mount Directories " for more details. |
javaos.snmpSysContact |
null |
This property sets the value that will be returned in the system Management Information Base (MIB) for the system contact field. It can be set with a string of your choice, which should be enclosed in quotes. Example: -djavaos.snmpSysContact="Bob" |
javaos.snmpSysLocation |
null |
This property sets the value that will be returned in the system MIB for the system Location field. It can be set with a string of your choice, which should be enclosed in quotes. Example: -djavaos.snmpSysLocation="Sun MPK14" |
javaos.consoleHotKey |
VK_PRINTSCREEN |
This property sets the keyboard hotkey that activates the JavaStation console, which displays debugging information. The value of the property is the JDK(TM) virtual keycode name for the hotkey. The following codes are valid:
The value of this property is not case-sensitive; VK_PRINTSCREEN and vk_PrInTSCreen are equivalent. |
javaos.login |
true |
If true, the JavaOS software displays a login screen after booting and before starting the initial application. If false, the JavaOS software runs the main application as soon as it boots, without displaying a login screen. This means there is no user home directory, and no system properties are read from a properties file. |
javaos.homedir |
null |
This property specifies the NFS path JavaOS should mount if NIS is not used to find the path based on the user name. The NFS path is specified as hostname:/path. This property is most often used to determine the directory to use for the properties file that is read by HotJava at startup. If the javaos.login property is set to false, javaos.homedir is not used. |
javaos.alwaysUpdate |
null |
This property specifies that JavaOS is always or never updated in the JavaStation computer's flash memory, regardless of the value of the JavaOS checksum. It is useful for public kiosks or other systems where user input is not expected. For more information, see Table 2-2. |
javaos.allowGuest |
false |
If true, the login screen (if displayed at all) will contain a guest login button. Guest login requires no username or password, and no user directories are mounted. |
javaos.dns |
true |
When set to true, host name-to-address and address-to-host name resolution are performed using the DNS protocol. See also javaos.nis. If lookup using NIS is enabled also, NIS is attempted first, and DNS is attempted only if NIS lookup fails. See also javaos.hostaddrmap and javaos.hostnamemap. |
javaos.hostnamemap |
host. byname |
The name of the NIS map used to perform host name-to-address resolution. |
javaos.hostaddrmap |
host. byaddr |
The name of the NIS map used to perform address-to-host name resolution. |
javaos.homedirmap |
auto.home(sought first), auto_home |
If NIS is enabled, this property is used to set the name of the NIS map used by the JavaOS software to determine a user's home directory. |
javaos.nis |
true |
When set to true, login authentication, host name-to-address resolution and address-to-host name resolution are performed using the NIS protocol. See also javaos.dns. If lookup using DNS is also enabled, NIS is attempted first, and DNS is attempted only if NIS fails. |
javaos.rap |
false |
If set to true, the JavaOS software uses Remote Authentication Protocol (RAP) instead of NIS for login authentication. |
javaos.rap.server |
null |
Set to the IP address of the RAP server. This property is ignored unless javaos.rap is set to true. |
The properties listed below control selection and loading of the main application on the JavaStation after the user logs in. For instructions on using these properties, see Chapter 5, Dynamically Loading Applications .
Table 4-2 JavaOS Application Loading Properties
Property Name |
Default Value |
Description |
---|---|---|
javaos.apps |
null |
If defined, the JavaOS software launches a simple point-and-click Application Launcher window. This property should be set to the URL of an HTML document that lists the applications to display. |
javaos.mainProgram |
sun.applet. AppletViewer |
Set to the name of the application's main class. |
javaos.mainHomeprop |
appletviewer |
Set to the name of the property specifying the application's root directory. For example, HotJava Views uses the hotjava.home property to specify its root directory. Other applications may have different property names. When the virtual file system is created, this property is set to enable the application to find its files. See "To Deliver a Single Application " for more information. |
javaos.mainZip |
null |
Set to the name of the archive containing the application files. |
The table below lists properties that control video resolution on the JavaStation user's screen.
Table 4-3 JavaOS Video Resolution Properties
Property Name |
Default Value |
Description |
---|---|---|
javaos.fbDimensions |
null |
Specifies a new frame buffer resolution to be set at boot time. The syntax of resolution parameters is widthxheightxdepth@vfreq, where depth is optional. Currently, only 8-bit depth is supported. For example, -djavaos.fbDimensions=800x600x8@60 |
javaos.fbDimensionsPrompt |
true |
If javaos.fbDimensions is specified, the user will be prompted by a Video Mode Confirmation dialog. If the user selects OK, the video mode is set to the newly specified mode. The user must then accept the new video mode by selecting YES. If they fail to select YES within a 10-second period or if they select NO, the video mode reverts to its original mode. If this property is set to false, the confirmation window is disabled. |
The table below lists miscellaneous user properties that affect JavaOS operation. Most are related to localization. Certain settings cause other settings to be assumed. For example, setting user.region to ja causes the system to assume the JST time zone, even if user.timezone is not defined.
Table 4-4 JavaOS User Properties
Property Name |
Default Value |
Description |
---|---|---|
user.timezone |
null |
This system property tells the Java date and time API the time zone in which the JavaStation system is located. Example: -Duser.timezone=PST. Valid time zones are as follows (this list is from java.util.TimeZone.) The default time zone is GMT.
|
user.language |
en |
This system property must be set to a valid, lowercase, ISO-639 Language Code. Exceptions to this rule are to use cs for Czech and iw for Hebrew, as the current Language Codes havebeen updated since the JDK1.1 was implemented. Valid codes are described in Table 10-2. Example: -Duser.language=en |
user.country |
null |
This system property must be set to a valid ISO-3166 Country Code. Valid codes are described in Table 10-3. Example: -Duser.country=US |
The table below lists properties related to printing. Instructions for using these properties are in Chapter 9, JavaStation Peripherals .
Due to space constraints, property names may take up two or more lines in the table below. However, they should be typed on one line only. For example, the second property below is javaos.printservice.lpd.printers.
The table below lists properties strictly related to localization.
The User Properties in Table 4-4 and javaos.mountlist in Table 4-1 are also required for localization.
Property Name |
Default Value |
Description |
---|---|---|
javaos.font.properties.home |
/FONTS |
The local path name of a directory that contains a lib subdirectory. The font.properties files are read from this lib directory. The javaos.mountlist property is typically used to associate some server path with the /FONTS directory to enable the JavaOS software to load and use fonts from a server. For more information, see "Setting Mount Directories ". |
javaos.im.compose.deadkeys |
false |
This property changes the following keys into accent keys: '(single quote) "(double quote) `(grave accent) and ^(circumflex). Use this property if your keyboard is a U.S. keyboard, you are not setting the javaos.kbd property, and you want to produce accented characters for ISO Latin locales. If set to true, the above keys do not produce a value of their own, but cause the next key pressed to be an accented character. For example, pressing ` plus "a" produces á. If this property is false, these keys generate their expected values. For more information on this and the following three properties, see "Enabling Special Characters on the U.S. Keyboard". |
javaos.im.compose_ar | ISO8859_6 | Enables the U.S. keyboard to produce Arabic input. The Ctrl-t key sequence toggles the keyboard state between Arabic and U.S. ASCII modes. A status window displays the current mode. |
javaos.im.compose_iw | ISO8859_8 | Enables the U.S. keyboard to produce Hebrew input. The Ctrl-t key sequence toggles the keyboard state between Hebrew and U.S. ASCII modes. A status window displays the current mode. |
javaos.im.compose_th | TIS620 | Enables the U.S. keyboard to produce Thai input. The Ctrl-t key sequence toggles the keyboard state between Thai and U.S. ASCII modes. A status window displays the current mode. |
javaos.im.url |
null |
A semicolon-delimited list of the Solaris machines running the language engines to be used by JavaStation computers. A Microsoft Windows95 or Microsoft NT system can also be used if an Internet/Intranet Input Method Protocol (IIIMP) server from Sun for the PC server is installed on it. Set as follows: iiimp://hostname:port;hostname:port... where:
|
javaos.loginLocaleList |
en_US |
A semicolon-separated list of the locales to be presented as choices to the user at login. A locale is defined using one of the ISO-639 standard two-letter codes that define user.language followed by an underscore character "_" and one of the ISO-3166 standard two-letter codes that define user.country. For example: -djavaos.loginLocaleList=\ en_US;fr_FR;ja_JP;zh_CN;zh_TW For more information, see "Modifying the Languages Displayed at Login". |
javaos.kbd |
null |
By default, the JavaOS software assumes the keyboard is a U.S. keyboard. To enable a different keyboard, use the syntax javaos.kbd=keyboard. Possible values for keyboard are provided in "Adding a Keyboard". |
javaos.im.lookup.button |
false |
This property controls how the JavaStation user selects characters when using a Korean, Japanese, or Chinese input method. If false, when the list of candidate characters is displayed, letters are used to indicate each choice, and the user selects a choice by typing the letter. If true, letters are replaced with buttons so that the user clicks on a button to pick a choice. Note that enabling this option will negatively impact user input performance. For more information, see "Setting the Input Method ". |
javaos.im.status.fixpopup |
false |
Setting this property to true enables a pop-up window with input method status information. For more information, see "Setting the Input Method ". |
file.encoding |
8859_1 |
This system property sets the character set to be used when files are saved. By default it is set to the 8859-1 character set (Roman alphabet). Supported character sets are listed in Table 10-5. |
doc.url | null |
This system property enables JavaStation users to access HotJava Browser documentation. It should be set as follows: -Ddoc.url=file:/REMOTE/hotjava HotJava Browser automatically locates the document translation for the current locale. This property is not applicable for any JavaStation application other than HotJava Browser. |
Only experienced Solaris system administrators should set JavaOS properties using the following methods. Inexperienced Solaris users should use the Netra j software. For information on Netra j, go to http://www.sun.com/netra-j or refer to the Netra j 3.0 Administrator's Guide.
You can set the properties that control JavaOS operation on the JavaStation in two places:
In the DHCP Vendor Options (see Chapter 2, JavaStation Boot Process: Theory of Operations ).
In a text file referenced in the DHCP Vendor Options.
The second option is preferable because the total length of DHCP Vendor Options is limited to 255 characters. If you exceed this length, the remaining text is lost and the JavaStation computer will not receive all of the options. No errors are reported by the dhcp daemon, but incorrect behavior is viewed on the JavaStation computer.
In contrast, the text file can have any length.
If you set a property in the DHCP options and in a text file, the value set in the text file will be used because it was the last value delivered to the JavaStation computer.
Each property setting must use one of the flags in the table below. There is no space between each flag and its value. Note that certain flags are used only for JavaOS properties, while others are used only for system properties.
Table 4-7 Property Flags
Flag |
Syntax |
Definition |
---|---|---|
-d |
-dJavaOS_property=value |
Used to define a JavaOS property. The property name and value are stored in the JavaOS properties object. The names of properties set with this option always begin with javaos. Example: -djavaos.kbd=UKPS2 |
-D |
-Dsystem_property=value |
Used to define a system property. The system property and value are stored in the global system properties object. Example: -Duser.timezone=PST. |
-a |
-aJavaOS_property=value |
The JavaOS property is set to the given value if it has never been set before. If the property already has a value, then its current value is appended with a semicolon and the value. Example: -ajavaos.printservice.lpd.printer=printer2 This example sets the property javaos.printservice.lpd.printer to printer2 if the property has no current value. If the property already has a value (say, printer1), the new value is appended (printer1;printer2). This flag is useful if you are building the value of a property from multiple places using the -i option below. Note that this property can itself be a semicolon-separated list of values; the entire list is added or appended as described above. |
-A |
-Asystem_property=value |
This works just like the -a option, except that it sets system properties. Note that -a and -A are equivalent to -d and -D, except for the append behavior. |
-u |
-uJavaOS_property |
Used to undefine a JavaOS property. |
-U |
-Usystem_property |
Used to undefine a system property. |
-i |
-iHTTP_URL |
The HTTP URL is expanded and the file referenced by the URL is itself evaluated as if it were a JavaOS command line. Properties are stored one per line in this file. One file can use -i to include another file. There is currently no check on infinite recursion. |
Properties will be interpreted as the JavaOS command line, which is a formatted text string of any length that is interpreted when the JavaOS software boots. The command line can include:
JavaOS and system properties
Arguments to be used by the JavaOS software or an application launched by the JavaOS software
The syntax of the command line is as follows:
prop_setting1 prop_setting2... prop_settingn -- arg1 arg2... argn
where prop_setting is a JavaOS property setting and arg is an argument. Property settings and arguments are separated by two contiguous hyphens.
This is the preferred method for setting JavaOS properties because dhcptab entries are limited to 255 characters.
Use the -i flag described in the preceding table in a dhcptab macro (see Chapter 2, JavaStation Boot Process: Theory of Operations ). The relevant line of the macro should have the following syntax:
JOScmd1="-ihttp://hostname[:port_number]/filename"
The text file should be located in the web server root directory. It should contain property settings using the flags described in the preceding table. It can also include arguments. Each property setting and argument should be typed on a separate line, with the separator hyphens mentioned above on their own line, as follows:
-Duser.timezone=PST -djavaos.login=false -- http://www.sun.com
The following is a sample properties text file.
# Sample text file of JavaOS properties ############################################################### # General setup ############################################################ # Define the key that brings up the screen console (PRINTSCREEN # is the default) -djavaos.consoleHotKey=VK_PRINTSCREEN # Set up values that will be returned by SNMP in the System MIB -djavaos.snmpSysContact=JavaOS group, js_team@ignacio -djavaos.snmpSysLocation=JavaSoft ############################################################### # Locale-specific settings ########################################################### # Set Server for /REMOTE file system -ajavaos.mountlist=fred:/export/root/javaos/classes|/REMOTE # We're all on the US West Coast... -Duser.timezone=PST # Set list of countries we support, English first # (The order doesn't matter, but the Login window shows them # in the order in which they appear in the property list.) -djavaos.loginLocaleList=en_US # Add the European Locales -ajavaos.loginLocaleList=fr_FR;de_DE;it_IT;sv_SE;es_ES # Add the Asian Locales -ajavaos.loginLocaleList=ja_JP;ko_KR;zh_CN;zh_TW ############################################################### # FONT-specific settings ################################################################ # Set the server location for where to find fonts for the # /FONTS directory -ajavaos.mountlist=fred:/export/root/javaos/fonts|/FONTS
############################################################### # Printing properties ################################################################ # Always show these printers -djavaos.printdialog.alwaysShowPrinters=NIS:dirk@fred; NIS:rita@scorpio # The name of the NIS map for printers (this is the default, so it's # not really necessary) -djavaos.printservice.NIS.mapname=printers.conf # Set up the hardware parameters for locally connected printers -djavaos.printservice.local.params.serial-Serial=57600:8:1:none:hh ############################################################### # set doc.url # This allows us to read the HotJava Browser User's Guide from # a server. ################################################################ -Ddoc.url=http://fred.eng/JavaOS/LunaApps/