gdmflexiserver - runs flexible (on demand) X servers
gdmflexiserver [--authenticate] [--command=command] [--debug] [--monte-carlo-pi] [--no-lock] [--xnest] [gnome-std-options]
gdmflexiserver runs flexible (on demand) X servers. gdmflexiserver allows a user to log in once and then quits. This is useful if you are logged in as user A, and user B wants to log in quickly but user A does not wish to log out. The X server ensures that the virtual terminal switching works transparently.
You can use gdmflexiserver to run a flexi-server as an Xnest, that is, an X server in a window. If more than one server is defined with flexible=true, a dialog is displayed that lists all available flexible servers..
The following options are supported:
-a, --authenticate Authenticate before running --command.
-c, --command=command Send the specified protocol command to GDM.
-d, --debug Debugging output.
--monte-carlo-pi
-l, --no-lock Do not lock current screen.
-n, --xnest Xnest mode.
gnome-std-options Standard options available for use with most GNOME applications. See gnome-std-options(5) for more information.
gdmflexiserver accepts the following commands with the --command option:
o ADD_DYNAMIC_DISPLAY
o ALL_SERVERS
o ATTACHED_SERVERS
o AUTH_LOCAL
o CLOSE
o FLEXI_XNEST
o FLEXI_XSERVER
o GET_CONFIG
o GET_CONFIG_FILE
o GET_CUSTOM_CONFIG_FILE
o GET_SERVER_DETAILS
o GET_SERVER_LIST
o GREETERPIDS
o QUERY_LOGOUT_ACTION
o QUERY_VT
o RELEASE_DYNAMIC_DISPLAYS
o SERVER_BUSY
o SET_LOGOUT_ACTION
o SET_SAFE_LOGOUT_ACTION
o SET_VT
o UPDATE_CONFIG
o VERSION
Each command is described in detail in the following sections.
Description: Create a new server definition that will run on the specified display leaving it in DISPLAY_CONFIG state.
Supported since: 2.8.0.0
Arguments: display=server, where server is either a configuration named in the GDM configuration or a literal command name.
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
2 Existing display
3 No server string
4 Display startup failure
100 Not authenticated
200 Too many messages
999 Unknown error
Description: List all displays, including console, remote, Xnest. This can be useful to figure out if the server you are on is managed by the gdm daemon, by seeing whether it is in the list. It is also somewhat like the w command but for graphical sessions.
Supported since: 2.4.2.96
Arguments: None
Answers:
o OK server;server;...
o server is display,logged-in-user
o logged-in-user can be empty if no user is logged in.
o ERROR error-number error-description
0 Not implemented
200 Too many messages
999 Unknown error
Description: List all attached displays, Does not list XDMCP and Xnest non-attached displays. THis command used to be named CONSOLE_SERVERS, which is still recognized for backwards compatibility. The optional pattern argument is supported as of version 2.8.0.0.
Supported since: 2.2.4.0
Arguments: pattern (Optional)
Answers:
o OK server;server;...
o server is display,logged-in-user,vt-or-xnest-display
o logged-in-user can be empty if no user is logged in.
o vt can be -1 if not known or not supported. For example, on non-Linux.
o If the display is an Xnest display and is a console display (that is, an Xnest inside another console display), the display is listed. Instead of vt, lists the parent display in standard form.
o ERROR error-number error-description
0 Not implemented
200 Too many messages
999 Unknown error
Description: Set up this connection as authenticated for FLEXI_SERVER. All full-blown (non-Xnest) servers can be started only from users logged in locally. Here, GDM assumes only users logged in from GDM. Users must pass the xauth MIT-MAGIC-COOKIE-1 that they were passed before the connection is authenticated.
Note: The AUTH LOCAL command requires the --authenticate option, although only FLEXI_XSERVER uses this currently.
Note: Since 2.6.0.6 you can also use a global ServAuthDir/.cookie, which works for all authentication except for SET_LOGOUT_ACTION, QUERY_LOGOUT_ACTION, and SET_SAFE_LOGOUT_ACTION which require a logged in display.
Supported since: 2.2.4.0
Arguments: xauth-cookie, in hex form with no 0x prefix
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Close sockets connection
Supported since: 2.2.4.0
Arguments: None
Answers: None
Description: Start a new flexible Xnest server.
Supported since: 2.3.90.4
Note: Supported on older versions from 2.2.4.0, later 2.2.4.2, but since 2.3.90.4 you must supply four arguments or ERROR 100 will be returned. This will start Xnest using the XAUTHORITY file supplied and with the same uid as the owner of that file (and the same as you supply). You must also supply the cookie as the third argument for this display, to prove that you indeed are this user. Also, this file must be readable ONLY by this user, that is, have a mode of 0600. If all of these conditions are not met, ERROR 100 is returned.
Note: The cookie should be the MIT-MAGIC-COOKIE-1, the first one that GDM can find in the XAUTHORITY file for this display. If that is not what you use, you should generate one first. The cookie should be in hex form.
Arguments: display-to-run-on uid-of-requesting-user xauth-cookie-for-the-display xauth-file
Answers:
o OK display
o ERROR error-number error-description
0 Not implemented
1 No more flexi servers
2 Startup errors
3 X failed
4 X too busy
5 Xnest cant connect
6 No server binary
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Start a new X flexible server. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.2.4.0
Arguments: xserver-type
If no argument specified, starts the standard x server.
Answers:
o OK display
o ERROR error-number error-description
0 Not implemented
1 No more flexi servers
2 Startup errors
3 X failed
4 X too busy
6 No server binary
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Get configuration value for the specified key. Useful so that other applications can request configuration information from GDM. Any key defined as GDM_KEY_* in gdm.h is supported. Starting with version 2.13.0.2 translated keys (such as greeter/GdmWelcome[cs] are supported via GET_CONFIG. Also starting with version 2.13.0.2 it is no longer necessary to include the default value (i.e. you can use key greeter/IncludeAll instead of having to use greeter/IncludeAll=false.
Supported since: 2.6.0.9
Arguments: key
Answers:
o OK value
o ERROR error-number error-description
0 Not implemented
50 Unsupported key
200 Too many messages
999 Unknown error
Description: Get config file location used by the daemon. If the GDM daemon was started with the --config option, it will return the value passed in via the argument.
Supported since: 2.8.0.2
Arguments: None
Answers:
o OK full-path-to-config-file
o ERROR error-number error-description
0 Not implemented
200 Too many messages
999 Unknown error
Description: Get custom config file location being used by the daemon
Supported since: 2.14.0.0
Arguments: None
Answers:
o OK full-path-to-config-file
ERROR error-number error-description
0 Not implemented
1 File not found
200 Too many messages
999 Unknown error
Description: Get detail information for a specific server.
Supported since: 2.13.0.4
Arguments: server key
Valid key values include:
o NAME: Returns the server name
o COMMAND: Returns the server command
o FLEXIBLE: Returns "true" if flexible, "false" otherwise
o CHOOSABLE: Returns "true" if choosable, "false" otherwise
o HANDLED: Returns "true" if handled, "false" otherwise
o CHOOSER: Returns "true" if chooser, "false" otherwise
o PRIORITY: Returns process priority
Answers:
o OK value
o ERROR error-number error-description
0 Not implemented
1 Server not found
2 Key not valid
50 Unsupported key
200 Too many messages
999 Unknown error
Description: Get a list of the server sections defined in the configuration file
Supported since: 2.13.0.4
Arguments: None
Answers:
o OK full-path-to-config-file
o ERROR error-number error-description
0 Not implemented
1 No servers found
50 Unsupported key
200 Too many messages
999 Unknown error
Description: List all greeter pids so that one can send HUP to them to re-read config. Only the root user can send such a HUP.
Supported since: 2.3.90.2
Arguments: None
Answers:
o OK pid;pid;...
o ERROR error-number error-description
0 Not implemented
200 Too many messages
999 Unknown error
Description: Query which logout actions are possible. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.5.90.0
Arguments: None
Answers:
o OK action;action;...
action is HALT, REBOOT, or SUSPEND. An empty list can also be returned if no action is possible. A ! is appended to an action if it was already set with SET_LOGOUT_ACTION or SET_SAFE_LOGOUT_ACTION. Note that SET_LOGOUT_ACTION has precedence over SET_SAFE_LOGOUT_ACTION.
o ERROR error-number error-description
0 Not implemented
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Ask the daemon about the current virtual terminal. This is useful for logins that do not own /dev/console but are still console logins. Only supported on Linux currently, otherwise will get ERROR 8. This is also the way to query whether VT support is available in the daemon. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.5.90.0
Arguments: None
Answers:
o OK vt-number
o ERROR error-number error-description
0 Not implemented
8 Virtual terminals not supported
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Release dynamic displays currently in DISPLAY_CONFIG state.
Supported since: 2.8.0.0
Arguments: display
Answers:
o OK vt-number
o ERROR error-number error-description
0 Not implemented
1 Bad display number
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Remove a dynamic display, killing the session and purging the display configuration
Supported since: 2.8.0.0
Arguments: display
Answers:
o OK display
o ERROR error-number error-description
0 Not implemented
1 Bad display number
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Returns true if half or more of the daemons sockets are busy, false otherwise. Used by slave programs which want to ensure they do not overwhelm the sever.
Supported since: 2.13.0.8
Arguments: None
Answers:
o OK true | false
o ERROR error-number error-description
0 Not implemented
200 Too many messages
999 Unknown error
Description: Tell the daemon to halt, reboot, or suspend after slave process exits. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.5.90.0
Arguments: action
action is one of the following:
o NONE: Set exit action to none
o HALT: Set exit action to halt
o REBOOT: Set exit action to reboot
o SUSPEND: Set exit action to suspend
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
7 Unknown logout action, or not available
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Tell the daemon to halt, reboot, or suspend after all users log out. If only one person logs out, this is the same as SET_LOGOUT_ACTION. Note that SET_LOGOUT_ACTION has precendence over SET_SAFE_LOGOUT_ACTION if set to something other than NONE. If no user is logged in, the action takes effect immediately. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.5.90.0
Arguments: action
action is one of the following:
o NONE: Set exit action to none
o HALT: Set exit action to halt
o REBOOT: Set exit action to reboot
o SUSPEND: Set exit action to suspend
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
7 Unknown logout action, or not available
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Change to the specified virtual terminal. This is useful for logins that do not own /dev/console but are still console logins. Only supported on Linux currently, otherwise will get ERROR 8. Only supported on connection that passed AUTH_LOCAL.
Supported since: 2.5.90.0
Arguments: vt
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
8 Virtual terminals not supported
9 Invalid virtual terminal number
100 Not authenticated
200 Too many messages
999 Unknown error
Description: Tell the daemon to update the configuration of the specified key. Any user can request that values are re-read but the daemon will only do so if the file has been modified since GDM first read the file. Only users who can change the GDM configuration file (normally writable only by the root user) can actually modify the GDM configuration. This command is useful to cause the GDM to update itself to recognize a change made to the GDM configuration file by the root user.
Supported with limited keys since 2.3.90.2. Starting with version 2.13.0.0, all GDM keys are supported except for the following:
o daemon/PidFile
o daemon/ConsoleNotify
o daemon/User
o daemon/Group
o daemon/ServAuthDir
o daemon/UserAuthDir
o daemon/UserAuthFile
o daemon/UserAuthFBDir
GDM also supports the following psuedokeys:
o xdmcp/PARAMETERS - All xdmcp keys
o xservers/PARAMETERS - all [server-foo] sections
Arguments: key
key is the base part of the key such as "security/AllowRemoteRoot"
Answers:
o OK
o ERROR error-number error-description
0 Not implemented
50 Unsupported key
200 Too many messages
999 Unknown error
Description: Query GDM version
Supported since: 2.2.4.0
Arguments: None
Answers:
o GDM gdm-version
o ERROR error-number error-description
200 Too many messages
999 Unknown error
Example 1: To See Console GDM Version
example% gdmflexiserver --command=VERSION GDM 2.6.0.2Example 2: To See All Servers
example% gdmflexiserver --command=ALL_SERVERS OK :0,usernameExample 3: To See Console Servers
example% gdmflexiserver --command=ATTACHED_SERVERS OK :0,username,-1
The following files are used by this application:
/usr/bin/gdmflexiserver Executable for flexible (on demand) X servers
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE Availability SUNWgnome-display-mgr Interface stability Volatile
Latest version of the GNOME Desktop User Guide for your platform.
gdmXnestchooser(1), gdmdynamic(1), gdmphotosetup(1), gdmthemetester(1), gdm(1m), gdm-restart(1m), gdmsetup(1m), gnome-std-options(5)
Original man page written by Martin K. Petersen <mkp@mkp.net>, George Lebl <jirka@5z.com>. Copyright (c) 1998, 1999 by Martin K. Petersen. Copyright (c) 2001, 2003, 2004 by George Lebl. Copyright (c) 2003 by Red Hat, Inc.
Updated by Brian Cameron, Sun Microsystems Inc., 2004, 2006.
| SunOS 5.11 | gdmflexiserver (1) | 1 Sep 2004 |