Starting the server
Past versions of ParaView have required users to start client and server manually, specifying connection protocols and parameters at the command-line. ParaView3 improves the user experience by allowing users to start the client and make/break server connections using the client's graphical user interface.
For this functionality to work, ParaView must be properly configured to start remote servers. Startup procedures are expected to vary from site-to-site, due to differences in network topology, firewalls, address translation, logging requirements, etc. To accomodate this, a flexible mechanism allows users to run arbitrary commands on a per-server and/or per-connection-scheme basis at server startup.
The collection of configured servers can be accessed through the "Server Browser" dialog, which presents a listing of all servers that are already configured for automatic startup. The Server Browser dialog is displayed whenever you: select the File > Connect menu item or corresponding toolbar button; choose the File > Open menu item or toolbar button and there is no current connection to a server; or select an item from the File > Recent Files menu for which there is more than one server configuration.
The Server Browser dialog contains standard controls for editing, deleting, and adding new server configurations. Additions and changes to configured servers are stored in per-user preferences. Server configuration data can also be saved and loaded to the local filesystem in XML format using the provided controls.
If a server configuration file named default_servers.pvsc is located in the same directory as the ParaView binary executable, it will be loaded at startup time. Per-user preferences are loaded after default_servers.pvsc, so they can override its contents. Note that additions, deletions, and changes to the set of configured servers never alter the contents of default_servers.pvsc.
Note that configurations defined in default_servers.pvsc cannot be deleted.
Configuring New Servers
If the user chooses Add Server in the "Manage Servers" dialog or chooses an item from the File > Recent Files menu for which a server configuration doesn't exist, the "Configure New Server" dialog opens. The user is prompted to select a name for the server configuration, the type of server connection to configure (see Server Resources), and the host or hosts that will be used for the new configuration.
Editing Server Configuration
After creating a new server or choosing Edit Server from the Server Browser dialog, the "Configure Server" dialog opens.
Note that the Configure Server dialog will display server configurations loaded from default_servers.pvsc in a "read-only" state.
For new server configurations, the dialog defaults to a Command startup configuration. In this case ParaView will run an external command to start the server. The external command will be run using exec() (Posix systems) or CreateProcess() (Win32), so shell-specific functionality such as redirection or "&" cannot be used (unless you invoke a specific shell directly).
The external command cannot block while the server is running, it should start the server in the background and return.
Users may configure a delay between the time the startup command returns and the time that the client attempts connection.
The following predefined environment variables are used to communicate connection parameters to the command, in addition to optional site-specific variables that can be configured in default_servers.pvsc:
Users who prefer to start servers manually can specify as such in the "Configure Server" dialog. In this case, the user must ensure that the server(s) are running before attempting to connect with the ParaView client.
Sample Startup Commands
To start a server on the local host:
cmd /c start /b pvserver --server-port=%PV_SERVER_PORT% --use-offscreen-rendering
cmd /c start /b is used to start pvserver in the background.
python -c "import os; os.system('pvserver --use-offscreen-rendering &')"
... in this case, os.system() allows us to use the shell "&" to start pvserver in the background.