Usage

In this section we describe how to start and stop the Scyld Cloud Workstation service in either Linux or Windows on the remote server. We then talk about how to connect and interact with the remote desktop interface.

Using the Linux Service

To start, stop, or restart the scyld-cloud-workstation, open a terminal with root or sudo privileges and use the service command:

service scyld-cloud-workstation start
service scyld-cloud-workstation stop
service scyld-cloud-workstation restart

To run scyld-cloud-workstation directly rather than as a service (this is usually only useful for debugging purposes), use the scyld-cloud-workstation.sh start-up script. Usage information can be obtained by passing the --help flag.

usage: scyld-cloud-workstation OPTIONS
scyld-cloud-workstation -- a GPU accelerated remote desktop web service.

--daemon                                   Run application as a daemon.
--pidfile=path                             Write the process ID of the
                                           application to given file.
-h, --help                                 display help information on command
                                           line arguments
-vsvideosource, --videosource=videosource  choose videosource (nvfbc, stream)
-q, --quiet                                hide the console when running
-pwd, --passwd                             update the password

Using the Windows Service

To use the scyld-cloud-workstation service, we must verify that the service is registered with the OS and then start the service.

Open a Command Prompt as an Administrator

  1. Sign in as a user that is an Administrator.
  2. Click on the Windows Start menu.
  3. In the Search box, type Command Prompt, but don’t hit Enter just yet.
  4. Right-click on the Command Prompt and select Run as administrator.

Register the Windows Service

To register the windows service, use the scyld-cloud-workstation.exe command:

scyld-cloud-workstation.exe /registerService /startup=automatic

The scyld-cloud-workstation will now automatically start on reboot.

Note

Service registration should already be handled by the installer. If you the message below, verify that scyld-cloud-workstation has been properly installed. This is usually a sign that the PATH environment variables are not pointing at the scyld-cloud-workstation.exe.

'scyld-cloud-workstation.exe' is not recognized as an internal or
 external command, operable program or batch file.

Start and Stop the Windows Service

To start and stop the registered windows service without rebooting, use the net command:

net start scyld-cloud-workstation
net stop scyld-cloud-workstation

Change the Config File Password

Scyld Cloud Workstation lets you optionally store a username and hashed password in the config file for authentication. The credentials specified by Server.Auth.Username and Server.Auth.ShadowPassword attributes are entirely independent from LDAP, the remote operating system, and ScyldCloudAuth.

You can change this password by calling scyld-cloud-workstation.sh --passwd in Linux or scyld-cloud-workstation.exe /passwd in Windows from a command line. This password change takes effect without a service restart.

Password strength requirements are described in the Setup chapter under Server.Auth.ShadowPassword.

Important

This only changes the Server.Auth.ShadowPassword entry in the config file. It does not change the passwords used by the remote operating system, LDAP, or ScyldCloudAuth.

Log Output

Log output is organized by priority levels (from highest to lowest: Fatal, Critical, Error, Warning, Notice, Information, Debug, and Trace). scyld-cloud-workstation by default prints Information level messages to /var/log/messages.

Setting LogLevel to information will log all server starts/stops, sign-in attempts, socket connects/disconnects, video source plays/pauses, and additional warning/error messages. This is usually sufficient for production usage.

To see debug and higher level output, open the scyld-cloud-workstation.xml config file and set LogLevel to debug.

In Linux, debug and higher level log messages can be found at: /opt/scyld-cloud-workstation/bin/scyld-cloud-workstation.log.

In Windows, debug and higher level log messages can be found at: C:\Program Files\Penguin Computing\Scyld Cloud Workstation\log\boot.log and C:\Program Files\Penguin Computing\Scyld Cloud Workstation\log\scyld-cloud-workstation.log.

Note

You can change the path of the output by opening the scyld-cloud-workstation.xml config file and setting Server.LogFile to a new destination.

By default, Scyld Cloud Workstation does not display a timestamp with each log message. To add a timestamp to all of your output, open the scyld-cloud-workstation.xml and set LogFormat to: %Y-%m-%d %H:%M:%S %q%q: %s:%u: %t.

Selecting a Video Source

Scyld Cloud Workstation currently supports two video sources:nvfbc and stream.

For most users an appropriate default video source will be automatically detected based on the system’s configuration. Hosts that have an NVIDIA GRID card with a compatible NVIDIA GRID driver installed default to nvfbc. All other systems will default to stream.

To override the video source, specify --videosource=<nvfbc|stream> or change Server.VideoSource in the config file.

Sign In

Once the Scyld Cloud Workstation server has started, users can connect their networked client to the server by typing the server’s URL into the web browser. Servers using the HTTPS protocol (default) have URLs like this: https://<server-hostname-or-ip>.

This will take you to the Scyld Cloud Workstation sign in page. Submit the username and password encrypted in the config file or by ScyldCloudAuth to sign in.

As a third option, you can use your OS specific credentials to sign in.

Important

While config file or ScyldCloutAuth usernames can be used to sign in to Scyld Cloud Workstation at any time, only a single set of OS credentials can only be used to sign-in at a time. This prevents different OS credentials from signing in at the same time.

After signing in you will see a gray canvas that will turn into a remote visualization display within a few seconds. At this point you can interact with the remote operating system. Other users will be prevented from signing into the web service until you sign out.

User Controls

The control buttons allow you to enter fullscreen mode, submit Ctrl-Alt-Del to the remote OS, or sign out from Scyld Cloud Workstation session.

Key-combinations such as Ctrl+N, Ctrl+W, and Ctrl+T are not relayed to Scyld Cloud Workstation in most browsers. Chrome users can work around this issue by running Chrome in “app mode” by appending the --app=<url> flag when calling it from a command line or shortcut.

Key-combinations such as Ctrl-Alt-Del are intercepted by the client OS and must be sent to Scyld Cloud Workstation via control buttons.

Paste Text from the Local Clipboard

Text can be pasted from the local client into the remote desktop.

To paste text from a local Linux / Windows clipboard into the remote Linux / Windows desktop, press Ctrl+V.

To paste text from a local OS X clipboard to the remote Linux / Windows desktop, use your browser’s menu system to select Edit -> Paste. This transfers the local clipboard to the remote clipboard. Once this is done, you can use Ctrl+V or use your remote application’s paste feature.

Note

Only characters that are supported by both the client and server can be pasted.

Change Screen Resolution

Warning

Changing screen resolutions has one known issues:

  1. Multiple rapid resolution changes may lead to service instability. Changing the screen resolution more than 5 times over a few seconds may cause the service to restart or quit.

In Windows, right click on the desktop and select Screen resolution. Change the resolution dropdown to your desired resolution and then click ‘OK’.

In Linux, if you are using a first generation NVIDIA GRID card (i.e., K1, K2) in a headless configuration (i.e. you are using the UseDisplayDevice none option in your /etc/X11/xorg.conf file), you will have to open a command prompt and use the xrandr --fb <width>x<height> command. For example, if you’d like to change the screen resolution to 1920x1080, you would enter: xrandr --fb 1920x1080.

Otherwise change your screen resolution by using the provided Linux OS tools (dependent on distribution).

Downscale Screen Resolution

System administrators have the ability to restrict the maximum screen resolution in the config file at scyld-cloud-workstation.xml using the Server.Video.MaxWidth and Server.Video.MaxHeight settings. This is useful for preventing clients from being overwhelmed by the processing power required to work with high-resolution video.

If the user attempts to use a higher screen resolution, the user will get an alert and the video will be scaled down.

Enable 4K Support

As of v7.0.0 it is possible to support 4K desktops with the native, non-browser based client. This feature is not enabled by default and requires a configuration file change to disable the default screen size and bitrate caps. We recommend having a downlink of at least 20 Mbps to support the increased screen size.

In future releases 4K support will be enabled automatically.

Note

If you are not going to use 4K resolutions then leave the following settings at their defaults by commenting them out or deleting them from the config file. The default screen size and bitrate caps are used to ensure a good user experience for slower clients.

The following steps enable 4K support:

  1. Open the xml config file.
  2. Add the Server.Video.MaxWidth and Server.Video.MaxHeight tags with the value set to -1 to disable the resolution cap.
  3. Save the config file and restart the service.

Note

NVIDIA GRID products (such as a Tesla M60) require an NVIDIA Quadro Virtual Datacenter Workstation license to use 4K resolutions. Contact NVIDIA for more information.

Video Bit-Rate Selection

As of v7.1.0, the default video bit-rate is calculated by using a linear regression of two values: 2500 kbps at 1280x720 and 5000 kbps at 1920x1080. A system administrator can customize bit-rates for different resolutions by adding two or more resolution and bit-rate pairings within the Server.Video.AvgBitRate config file setting. The syntax is as follows:

<width>x<height>=<bitrate>,<width>x<height>=<bitrate>,...

Example 1: the following is equivalent to the default bit-rate values: 1280x720=2500k,1920x1080=5000k.

Example 2: the following can be used to specify a single average bit-rate setting across all resolutions: 1024x768=2m,1600x900=2m.

The linear regression algorithm is based on the two closest resolutions to allow a fine-grained bit-rate control. If the value only specifies one resolution and bit-rate, the service will use 0x0=128k as one of the two linear regression points.

Sign Out

Windows and Linux users must change users by using the remote OS’s log out / log in feature. Scyld Cloud Workstation does not support “fast user switching” and the service must be restarted if this happens.

Closing your browser or signing out of the Scyld Cloud Workstation session does not sign you out of the remote operating system. Use the remote OS’s signing-out capability to sign out of the remote OS.

Collaboration

Multiple users can now share control of the same desktop. There are two types of users in this case: regular Host users and temporary Guest users.

Hosts are are fully trusted users who have an account on the system and have complete control over what a Guest can access. An ongoing session begins when one Host is signed in and ends when the last Host leaves. All Guests and Invites are removed when an ongoing session ends.

Guests are users who are invited to join an ongoing session. As a Host, this can be useful when you want to share a workstation with a remote colleague who should not have a permanent account on the system.

This section describes how a Host adds and manages Guest users.

Important

The Guest alerts and interface buttons described below are not visible in fullscreen mode.

Set the maximum number of concurrent clients

By default the server only allows 6 users to be signed on at any given time. This number can be changed by a system administrator by adding a Server.ConcurrentClients.MaxClientCount setting in the config file at scyld-cloud-workstation.xml.

Collaboration Quick Start

At a high level, adding a new guest involves three steps:

  1. A Host creates an Invite Link and sends it to Guest users
  2. A Guest opens the Invite Link, enters a Guest name, and attempts to sign in
  3. A Host accepts the Guest’s sign in request

Hosts can use the control buttons to pause video to all Guests or ban all Guests and revoke all pending Invites. Hosts can also click on user buttons to kick individual Guests or give keyboard and mouse control.

Control Buttons

At the top of the screen there are a row of buttons that allow you to type special keys such as Ctrl + Alt + Del, add guests, pause all guest video, ban all guests, and sign out. Press Ctrl + F12 to show / hide these buttons.

Add New Guests

Hosts can invite a group of guests by creating an Invite Link. Click on the ‘Add Guests’ button.

In the form that appears, specify how many guest sign ins you’d like this link to be good for. It is best practice to select the minimum number you will need.

The next form will show the generated Invite Link. Copy and send this link to Guest users and then close the form.

Warning

Anyone who receives an Invite Link can request Guest access to your system. While these links expire over time and are limited by how often they can be used it is best practice to keep this link confidential.

When Guests use this link to request a sign in, an alert will appear to all Hosts asking whehter the user should be Accepted or Declined.

Important

It is best practice to verify the incoming user’s identity via a phone call, text message, or other trusted communication channel.

When a Guest signs in, their username becomes reserved until all Hosts sign out. Guest usernames must be unique and consist of only letters, numbers, and underscores. Once the session ends, all Guest usernames are freed again for use.

Pause Guest Video

Guest video can be toggled by clicking on the ‘Pause Guests’ button.

Ban Guests and Revoke Invites

Guests can be banned for the session either individually or all at the same time using the ‘Ban Guests’ button. Hosts can not be banned.

User Buttons

At the bottom of the screen there are a row of buttons containing usernames and status icons. The first button will always be “You”, indicating the user button for the user signing in. Clicking on the user button will show status information (including frame rate) and actions that can be taken on that user, such as banning or giving keyboard / mouse control.

Usernames that end with an asterisk are Hosts. Press Ctrl + F12 to show / hide these buttons.

Give Keyboard and Mouse Control

A Host can give any other user control of the keyboard and mouse using the ‘Give Keyboard and Mouse Control’ button.