GO-Global for UNIX Release Notes
Version 2.2.15
April 11, 2011
© GraphOn Corporation 1999-2011. All rights reserved.
2.2.15.1125
GO-Global for UNIX Version 2.2 contains a new database format and a rewrite of many components such as clipboard, file transfer, and goprint. In addition, GO-Global now supports Pluggable Authentication Modules (PAM). You are invited to download, test, deploy, and provide comments about this distribution. Version 2.2.15 is a maintenance release of GO-Global for UNIX, and as such supersedes any and all previous 2.2.x releases. We strongly recommend that you upgrade to this latest release in order to benefit from the maintenance fixes and improved product stability it provides. This release of GO-Global for UNIX may be downloaded from our FTP site (as anonymous user): $ ftp ftp.graphon.com
<log in as user anonymous>
ftp> cd pub/GO-Global-UX/v2.2.15
ftp> bin
ftp> ls
ftp> get GO-Global_for_UNIX-[platform].bin
ftp> quit
Please provide feedback to the following email address: support@graphon.com
Notes:
3.1 Support for third-party load balancers
Previously, when using a third-party load balancer with a set of GO-Global servers, users with suspended sessions on one server could be connected to a different server leaving them no way to resume their session. Version 2.2.7 added the ability for users to resume their sessions even when they are connected to a different server. A typical setup would have all of the load-balanced GO-Global servers on a fast network which would enable TCP traffic between gold connection leaders and Xgo sessions. The setup would also require the user databases to be shared among the servers, typically via NFS. To support this feature, the following item defaults have changed:
- The master database has been renamed from $(HOSTNAME).db to goglobal.db
- The pid_path in gold.conf now represents a file rather than a directory
- Active leaders in the user database now include a hostname parameter
- The hostname has been removed from the user database filenames
- Published (configured) items now contain a xgo_host parameter
- The service name of a session now includes a hostname
These defaults are appropriate for both a stand-alone server and a load-balanced cluster with shared NFS home directories. As such no additional configuration of GO-Global is required to use this new feature. When a user connects to a GO-Global host, his or her gold connection leader inspects the user database, $(HOME)/.graphon/$(USER).db by default, for any suspended sessions. The user is then prompted to resume these sessions one at a time. Once the user chooses to resume a session, the gold connection leader will contact their suspended Xgo process and resume it. This gold connection leader will continue to pass data such as input and display events between the client and the Xgo process. As of 2.2.7, these gold and resumed Xgo processes can be running on two different hosts.3.2 Authentication
GO-Global for UNIX now uses PAM for its default authentication mechanism. Consult the Administrator Guide for instructions relating to PAM and its configuration. The use of PAM means that the "authentication" between GraphOn's desktop and host software will involve a "conversation". The details of the "conversation" are controlled by the PAM modules (provided by your OS or perhaps a third party), but follow the form of
- Get the response to "login: " prompt from the user (displaying the user's entry)
- Get the response to the "password: " prompt from the user (hiding the user's entry)
In some cases, the PAM module may then respond with additional queries or display strings. For example:
- Display the text "Your password has expired"
- Get the response to the "new password: " prompt from the user (hiding the user's entry)
- Get the response to the "reenter password: " prompt from the user (hiding the user's entry)
The configuration of PAM and its behavior are platform dependent. There is typically an identifier that controls the behavior of services that use PAM for authentication. For example, the "login" identifier is used to control "console", telnet, or ssh access. GO-Global for UNIX's identifier is "goglobal". Most services use a specific identifier (like "goglobal" or "ssh"). A fallback is used if the specific identifier is not present. GO-Global for UNIX uses the "other" service as its fallback if "goglobal" does not exist.
If you are using non-standard PAM modules for "login" (e.g., you use LDAP or AFS), and use that configuration with "goglobal" also, we would be very interested in hearing details of your OS, PAM configuration, and results.
Note that GO-Global is installed with PAM support by default. If you wish to use password authentication, you must edit the value of auth in $(GOGLOBAL_ROOT)/etc/gold.conf.
3.3 Database
GO-Global for UNIX has discontinued use of PostgreSQL as a storage mechanism for published items, suspended sessions, etc. The new implementation will use XML formatted text files to store this information. This should eliminate many of the problems that have been encountered using PostgreSQL.
There are 2 database files that are referenced. One is the "master" and is available to all users. The other is a "personal" db for each individual user. The $(GOGLOBAL_ROOT)/etc/xmldb.conf will control where these databases are located.
The new implementation will allow the database to be shared among multiple machines. Being a file, the sharing would be done via NFS or some other file system sharing between multiple hosts.
To import your GO-Global for UNIX v2.1 database into GO-Global for UNIX v2.2, you should use the v2.1 uninstaller to create a backup of the database while uninstalling v2.1. Then, once v2.2 is installed, use the "pg2xml" tool to import the database backup into the new XML-formatted database.
You can also manually create a dump of your old database by using pg_dump. Here is an example of how you would do this with a working GO-Global for UNIX v2.1 installation:
$(GOGLOBAL_ROOT)/postgresql/bin/pg_dump -p 4491 -u goglobalux > dump
The pg2xml command takes the following arguments:
pg2xml [database-dump] [goglobal-root] [database-user]where:
- [database-dump] is the path to the "goglobal-database-dump" file created by you or the uninstaller.
- [goglobal-root] is the installation path of the GO-Global for UNIX v2.2 product.
- [database-user] is the owner of the old database, usually "goglobal". The new database owner is "root".
The pg2xml program will parse the information in the database backup file, and import the published items into the new XML-based database.
3.4 Logging
A number of changes have been made to the location and names of various log files created with this latest version.
The files $GOGLOBAL_ROOT/etc/masterlog.conf, $GOGLOBAL_ROOT/etc/leaderlog.conf, and $GOGLOBAL_ROOT/etc/sessionlog.conf will be used to determine the location and names of the various log files. Also, these files contain directives to increase (or reduce) the messages output to the log files.
3.5 go-configure
Several image formats in addition to XPM are now supported when associating an icon with a published item. Supported formats include PNG, JPG, and possibly others depending on your platform.
Users now only see items that they are allowed to run.When a user attempts to edit an item that they do not own, a copy of the item is automatically created, and the user is allowed to edit that instead. Users cannot edit a copy of any arbitrary item. The database owner cannot grant ownership of an item to another user.
3.6 gold
GO-Global for UNIX has a master daemon ("gold") to manage connections to the host. The implementation of this daemon has been completely rewritten to improve performance and stability. Many of the command-line options that can be passed to the process have been changed so consult the Administrator Guide for the options that are used in the new implementation.
3.7 Xgo
The Xgo process (the X server) has been migrated to use the XFree86 base code (instead of the older X.org base). We only use the portions of the code that are under the MIT license, but the XFree86 base has more recent updates and is more actively developed. This allows us to take advantage of fixes for core bugs and new features. The GO-Global specific implementation has had some changes that should improve efficiency, but most of the options and capabilities of the Xserver itself have remained unchanged.
Mouse wheel support has been updated to report Button 4/5, or can be configured to use the previous translation to up/down arrow key presses.
3.8 File Transfer
The implementation of gofile has been completely rewritten to significantly improve throughput. Furthermore, the host user interface has been eliminated so that the utility is better suited to work with scripts that may want to automate multiple file transfers, perform file translations, etc.
The primary change to note is that gofile has been split into two separate utilities; goput and goget. These utilities read/write (when sending/receiving) the file data from/to stdin/stdout. goget is used for transferring files from the client to the host, while goput is used for transferring files from the host to the client. Here are some usage examples for the new utilities:
- Transfer the file readme.txt from the current directory on the GO-Global Server to the client.
- Open an X terminal window.
- cd to the directory containing the file to be transferred.
- Enter the command to copy the file:
goput readme.txt- The Save As dialog box appears with readme.txt in the File name field. Browse to the directory where you want to write the file. Provide a new name for the file if desired.
- Click Save to transfer the file.
- Transfer the file readme.txt from the directory C:\Program Files\Star Office to the GO-Global Server.
or
- Open an X terminal window.
- Enter the command to copy the file:
goget c:\\program\ files\\star\ office\\readme.txt > readme.txt- The file is transferred.
- Open an X terminal window.
- Enter the command to copy the file:
goget > readme.txt- The Open dialog box appears. Browse to and select the file to be copied. Click Open.
- Click Save to transfer the file.
3.9 goprint (formerly golpr)
The implementation of the GO-Global printing utility has been rewritten to improve performance. The name has changed from golpr to goprint with the intention of a more robust golpr script (that uses the goprint utility) to come at a later date. For most uses, goprint can be used in place of where golpr may have been used previously. For example:
# goprint <foo.ps
3.10 goclip
The goclip utility has been changed significantly in order to improve performance and robustness. The primary change is that goclip will be stopped when a session is suspended and then restarted after the session is resumed. The communication between the goclip utility and the Xgo Xserver has also been improved.
3.11 X11 client
In order to support PAM, the Logon dialog of the X11 client has been modified. Other changes to the user interface have been made to accommodate many of the special preferences that previously were only available in the Windows client. Changes have been made to support the new goput/goget/goprint/goclip implementations. Performance improvements regarding protocol transfer have also been made.
One new aspect of the X11 client is the inclusion of .kx files to enhance the keyboard handling. This will allow for better international keyboard support (as kx files are developed) and also reduce some of the problems with "special" keys on some keyboards (e.g., the "Sun" keys).
If an issue occurs while end-users are using the software, they can use the "Help->Report a Problem ..." wizard to help collect logs.
Launching of items via the command line is now done by name rather than ID. For example:
$(GOGLOBAL_CLIENT_ROOT)/goglobalux launch="Xterm"3.12 Windows client
In order to support PAM, the Logon dialog of the Windows client has been modified. Changes have been made to support the new goput/goget/goprint/goclip implementations. Performance improvements regarding protocol transfer have also been made.
If an issue occurs while end-users are using the software, they can use the "Help->Report a Problem ..." wizard to help collect logs.
Launching of items via the command line is now done by name rather than ID. For example:
"C:\Program Files\GO-Global for UNIX v2.2\goglobal_ux.exe" launch="Xterm"3.13 Java client
Java is no longer a supported client platform. Presently there are no plans to provide a Java client compatible with GO-Global for UNIX v2.2 or later.
3.14 Mozilla plugins
Our Windows Netscape 4.x based plugin has been replaced with a Gecko-based plugin, and now requires Netscape 6 or above, or any Mozilla-based browser.
3.15 Licensing
The FlexLM v9.2 licensing has been replaced with FlexNet Publisher v10.8.0.1.
3.16 Keyboards
Keyboard support has been consolidated and expanded. All platforms support the following list of keyboard languages:
- be_BE - Belgian
- da_DK - Danish
- de_CH - German Swiss
- de_DE - German
- en_IE - English Eire
- en_UK - English UK
- en_US - English US
- es_ES - Spanish
- et_EE - Estonian
- fr_BE - French Belgian
- fr_CH - French Swiss
- fr_FR - French
- it_IT - Italian
- ja_JP - Japanese
- nl_NL - Dutch
- no_NO - Norwegian
- pt_BR - Portuguese Brazil
- sv_SE - Swedish
3.17 Signal handling and init script changes
The master gold process now handles these signals in the follow way:
SIGTERM (15) - terminates all golds, as well as all running and suspended sessions.
SIGINT (2) - terminates all golds, running sessions become suspended.
SIGQUIT (3) - terminates master gold ONLY. This signal is NOT sent to other (leader/connection) golds. Useful for reloading gold.conf without affecting existing connections or sessions.
goglobalux stop sends SIGTERM to the master gold
goglobalux restart sends SIGQUIT, then restarts the master
No variant of the goglobalux init script sends SIGINT3.18 Software-based GLX
The GO-Global for UNIX X server (Xgo) now has support for the GLX X extension. This adds the ability to display 3-D graphics from within a GO-Global session.
3.19 DISPLAY allocation
DISPLAYs can now be allocated to sessions by using the lowest available DISPLAY value, or the next DISPLAY value that hasn't been previously allocated in a round-robin fashion. The minimum and maximum display values can also be configured. See the comments regarding min_display, max_display, use_first_display, and display_store_path in $(GOGLOBAL_ROOT)/etc/gold.conf for more information.
3.20 Silent Installer
The silent installer requires setting up the GRAPHON_INSTALLER_OPTIONS environment variable as demonstrated below. There are no default options. License retrieval is not supported. All options should be verified manually. When using the silent installer, consider the following:
The following options are supported (batch, target, user, port and sslport are required):
- Automatic license retrieval is not available when in batch mode.
- Run-time error checking (ports not in use, install run as root, etc) are disabled in batch mode.
- Upgrades over an existing version are not supported.
Example:
- batch (boolean) - determines if batch mode is active or not
- port (string) - sets TCP port for server to listen on
- sslport (string) - sets SSL port for server to listen on
- target (string) - location to install GO-Global
- user (string) - user for the license manager to run under
- dbport (string) - obsolete, formerly psql port
- dbhost (string) - obsolete, formerly psql host
- uninstall (string) - obsolete, formerly used to uninstall product
GRAPHON_INSTALLER_OPTIONS="batch=y,target=/usr/local/ggxsilent,port=10491,sslport=10791,user=flexlm" ./GO-Global_for_UNIX-RedHat_Linux_EL-5.0-x86_64.bin