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¶
Sign in as a user that is an Administrator.
Click on the Windows Start menu.
In the Search box, type
Command Prompt
, but don’t hitEnter
just yet.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 service 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
Using the MacOS Service¶
To start, stop, restart or check the status of the scyld-cloud-workstation
service, open a terminal and go to the /Applications/scyld-cloud-workstation.app/Contents/MacOS
directory. Next, run the application with the --service
flag with
sudo privileges:
# Change to the application directory
cd /Applications/scyld-cloud-workstation.app/Contents/MacOS
# Start the service
sudo ./scyld-cloud-workstation --service start
# Stop the service
sudo ./scyld-cloud-workstation --service stop
# Restart the service
sudo ./scyld-cloud-workstation --service restart
# Check the status of the service
sudo ./scyld-cloud-workstation --service status
Manually running the MacOS audio server (advanced)¶
The Scyld Cloud Workstation audio server is usually launched after a user logs in to MacOS (assuming it has been added to Login Items for that user). If this is not the case, one alternative way to temporarily launch the audio server is to open a terminal and run these commands:
# Change to the application directory
cd /Applications/scyld-cloud-workstation.app/Contents/MacOS
# Start the audio server
./scyld-cloud-workstation --audio-server
Creating Config File credentials¶
OPTIONAL. In addition to OS credentials, you can setup a username and hashed password in the config file to sign in to Scyld Cloud Workstation. These Config File cedentials can sign into Scyld Cloud Workstation at any time. This differs from OS credentials, which can only sign into Scyld Cloud Workstation if the OS greeter screen or that user’s desktop is showing. Config File credentials are independent from LDAP, the remote operating system, and ScyldCloudAuth.
Config File credentials are only enabled if Server.Auth.Username
and Server.Auth.ShadowPassword
tags exist, are uncommented, and
both have values.
To set the password, verify that the Server.Auth.Username
and
Server.Auth.ShadowPassword
tags exist and are uncommented in the
config file (i.e., surrounded by <!--
and -->
). If the value
of either tag is blank, the account is considered disabled.
If these tags do not already exist, insert both of them and set a
value for Server.Auth.Username
. For example:
<Server>
...
<Auth>
...
<Username>admin</Username>
<ShadowPassword></ShadowPassword>
...
</Auth>
...
</Server>
You can now set this password by opening a terminal, changing to
the directory of the Scyld Cloud Workstation binary, and running scyld-cloud-workstation
with an OS-specific passwd
flag:
# Linux:
sudo scyld-cloud-workstation.sh --passwd
# Windows (as an Administrator):
scyld-cloud-workstation.exe /passwd
# MacOS:
sudo scyld-cloud-workstation --passwd
The password change takes effect immediately.
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
.
The most useful log files for Scyld Cloud Workstation can be found at these locations:
# Linux:
/opt/scyld-cloud-workstation/bin/scyld-cloud-workstation.log.
# Windows:
C:\Program Files\Penguin Computing\Scyld Cloud Workstation\log\scyld-cloud-workstation.log
C:\Program Files\Penguin Computing\Scyld Cloud Workstation\log\service.log.
# MacOS:
/var/log/com.penguincomputing.scyld-cloud-workstation/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 displays a timestamp with each log message.
To change the timestamp to all of your output, open the
scyld-cloud-workstation.xml
and set LogFormat
. For more information,
see: Server.LogFormat.
Selecting a Video Source and Max Frame Rate¶
Scyld Cloud Workstation currently supports these video sources: x11
,
nvfbc
, stream
, windda
, and auto
(default).
The x11
video source uses software encoding and only works for
Linux systems. It supports a max frame rate of up to 60 fps.
The nvfbc
video source is for Linux systems with an NVIDIA GPU
and driver that support NVIDIA GRID or NVIDIA NvFBC. It supports a
max frame rate of up to 60 fps.
The windda
video source is optimized for Windows and supports a
max frame rate of up to 60 fps.
The stream
video source uses software encoding and is available
on all operating systems. This video source supports a max frame
rate of up to 60 fps on ARM-based Macs, and 30 fps on all other
systems.
The auto
video source will try to select the best video source
for your system based on what is supported. On Windows systems,
windda
is selected. On Linux systems that support NVIDIA GRID
or NVIDIA NvFBC, nvfbc
is selected (otherwise x11
is
selected). On MacOS systems, stream
is selected.
The table below summarizes the default and configurable maximum frame rate settings for each video source:
Video Source
Default MaxFrameRate
Configurable MaxFrameRate
x11 (Linux)
30
60
stream (Linux)
30
30
nvfbc (Linux)
30
60
auto (Linux)
see: x11 or nvfbc
see: x11 or nvfbc
windda (Windows)
30
60
stream (Window)
30
30
auto (Windows)
see: windda (Windows)
see: windda (Windows)
stream (MacOS)
30
60
auto (MacOS)
see: stream (MacOS)
see: stream (MacOS)
By default, the maximum frame rate is set to 30. To enable a maximum
frame rate of 60 fps for the supported cases listed above, set
Server.Video.Encoding.H264.MaxFrameRate
in the config file. See
Server.Video.Encoding.H264.MaxFrameRate for more information.
To change the video source, see Server.VideoSource for more information.
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 ScyldCloudAuth 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.
Main Toolbar¶
The main toolbar gives access to additional Scyld Cloud Workstation features such
as signing out. This menu can be hidden or shown by pressing
Ctrl+F12
or using the hide/show button at the bottom of the
screen.
Toggle Audio¶
Click on the Toggle Audio
button to begin streaming the default
audio output device of the remote server. The default output device
can then be managed through your remote operating system’s audio device
interface.
Note
Puleaudio version 10.0+ is required for Linux users.
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 MacOS 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.
The server administrator can turn off this feature by setting
Server.Paste.Enabled
to false
in scyld-cloud-workstation.xml
.
Note
Only characters that are supported by both the client and server can be pasted.
Copy Text to the Local Clipboard¶
Select Copy Remote Clipboard
from the Keyboard Menu
to copy plain
text from the remote clipboard to the local clipboard.
This feature can be disabled by setting Server.Copy.Enabled
to false
in the configuration file.
UI Keyboard Shortcuts¶
The following keyboard shortcuts are supported:
Ctrl+F11
: Toggle Fullscreen (Native Clients only)Ctrl+F12
: Toggle Main Toolbar
Change Screen Resolution¶
Warning
Changing screen resolutions has these known issues:
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.
Windows users with an NVIDIA graphics card should use the NVIDIA Control Panel to change screen resolution.
Otherwise change your screen resolution by using the provided Linux OS tools (dependent on distribution).
In Windows, right click on the desktop and select Screen
resolution
. Change the resolution dropdown to your desired
resolution and then click ‘OK’.
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:
Open the xml config file.
Add the
Server.Video.MaxWidth
andServer.Video.MaxHeight
tags with the value set to-1
to disable the resolution cap.Save the config file and restart the service.
Configure Video Bit-Rate¶
As of v9.1.9, the default video bit-rate is calculated by using a
linear regression of two values: 3000 kbps at 1280x720 and 6000 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=3000k,1920x1080=6000k
.
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 the specified average bit-rate for all resolutions.
Sign Out¶
Linux, Windows, and MacOS 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.MultiUser.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:
A Host creates an Invite Link and sends it to Guest users
A Guest opens the Invite Link, enters a Guest name, and attempts to sign in
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.