Skip to main content
Version: Developer

Frequently Asked Questions

I have a question or issue that isn't covered in the frequently asked questions where else can I get help?

We have several options for support with the Kasm community.

Licensing

Which version of Kasm Workspaces is right for me?

We have a detailed page on all editions and license tiers for Kasm Workspaces here: license information.

Kasm Workspaces Installation / Setup

How is Kasm Workspaces hosted?

There are several options for hosting Kasm Workspaces:

  • You can self-host Kasm Workspaces on a server at your residence or business

  • You can setup Kasm Workspaces on a cloud service of your choice.

    • You can follow the above guides for single or multiple server installation on the cloud instances you provision.
    • Kasm Technologies has available in the Digital Ocean marketplace a droplet 1-click installer that will create a Digital Ocean hosted Kasm Workspaces instance.
  • Individuals looking for a managed service can use Kasm Cloud Personal.

  • Businesses looking for a managed service can contact us for Kasm Workspaces Cloud SaaS options.

What are the system requirements and how do I optimize the performance of Kasm Workspaces?

The basic system requirements are listed in the installation guide: system requirements. In addition for a more complex deployment we have a system sizing and deployment guide.

Does Kasm Workspaces support Ansible or Terraform?

Kasm Workspaces supports both Ansible and Terraform:

The default installation has more Workspaces than I need/want, can I customize the set of Workspaces installed?

There are two options for customizing the Workspace set at installation time.

  • There is a -I or --no-images option for install.sh that will instruct the installer to not pre seed any default Kasm Workspaces.
  • After extracting the installation zip, but before running the install.sh, you can edit “kasm_release/conf/database/seed_data/default_images_amd64.yaml” or “kasm_release/conf/database/seed_data/default_images_arm64.yaml” depending on the architecture of the host you are installing on. Editing these files will allow you to customize the set of Workspaces that are installed during Kasm Workspaces installation.
How can I ensure that my Kasm Workspaces default images are up to date?

Kasm Technologies publishes new images with every Kasm workspaces release, but the team also publishes daily and weekly "rolling" images that have program and security updates.

  • By default Kasm Workspaces installs the static release tagged images, but by specifying -O or --use-rolling-images option Kasm Workspaces will install the rolling daily updated images.
  • If your Kasm Workspaces instance is already installed '-rolling-daily' can be appended to the tag of any default Kasm Workspaces image to get the latest program and security updates applied daily or 'rolling-weekly' can be used to receive weekly updates.
  • Check out rolling-images for more information

Note: In order to use the rolling tags your Kasm Workspaces installation must be internet connected so it can pull down image updates.

There was an error during my installation or upgrade of Kasm Workspaces. How can I find out what went wrong?

The installation/upgrade scripts will output a log file that will contain details on any errors encountered when performing the installation/upgrade. Upon a successful proceedure the install file is removed. If an error does occur the file will be present in the folder that the installation or upgrade was ran from and a file named kasm_install_${TIMESTAMP}.log or kasm_upgrade_${TIMESTAMP}.log will be present. This file will be important for diagnosing the error and will be requested by Kasm support when troubleshooting.

Where can I find the install files and their SHA256 sums?

The following table lists the permissions and descriptions of each permission.

NameDescription
UserDefault level of permissions for normal users.
Global AdminGlobal Administrator with all permissions.
Users ViewView users and user information.
Users ModifyModify existing users.
Users CreateCreate new users.
Users DeleteDelete exiting users.
Users Modify AdminModify users with Global Admin permissions.
Users Auth SessionLogin and logout on behalf of another user.
Groups ViewView groups, group members, and group settings.
Groups ModifyModify group members and settings.
Groups CreateCreate new groups.
Groups DeleteDelete existing groups.
Groups View IfMemberView groups you are a member of, excluding system groups.
Groups Modify IfMemberModify groups you are a member of, excluding system groups.
Groups View SystemView groups, group members and group settings of system defined groups.
Groups Modify SystemModify group members and settings of system groups.
Groups Delete SystemDelete a system group.
Agents ViewView agents and agent settings.
Agents ModifyModify agent settings.
Agents CreateCreate agents.
Agents DeleteDelete existing agents.
Staging ViewView staging list and stage configuration settings.
Staging ModifyModify existing staging settings.
Staging CreateCreate new staging configurations.
Staging DeleteDelete existing staging configurations.
Casting ViewView casting list and casting configuration settings.
Casting ModifyModify existing casting settings.
Casting CreateCreate new casting configurations.
Casting DeleteDelete existing casting configurations.
Sessions ViewView all user sessions.
Sessions ModifyPerform modifications to a session of another user.
Sessions DeleteDelete the session of another user.
Session Recordings ViewView user session recordings.
Images ViewView images
Images ModifyModify image configurations.
Images CreateCreate new images.
Images DeleteDelete existing images.
Images Modify ResourcesModify image resource settings, such as CPU and Memory settings.
DevAPI ViewView developer API list.
DevAPI ModifyModify developer API configurations.
DevAPI CreateCreate a new developer API key.
DevAPI DeleteDelete an existing developer API key.
Webfilters ViewView webfilters
Webfilters ModifyModify existing webfilters
Webfilters CreateCreate a new webfilter.
Webfilters DeleteDelete an existing webfilter
Brandings ViewView branding configurations.
Brandings ModifyModify existing branding configurations.
Brandings CreateCreate new branding configurations.
Brandings DeleteDelete existing branding configurations.
Settings ViewView global settings.
Settings ModifyModify global settings in all categories.
Settings Modify AuthModify global settings in the authentication category.
Settings Modify Auth CaptchaModify global settings in the authentication captcha category.
Settings Modify CastModify global settings in the casting category.
Settings Modify ImagesModify global settings in the images category.
Settings Modify LicenseModify global settings in the license category.
Settings Modify LoggingModify global settings in the logging category.
Settings Modify ManagerModify global settings in the manager category.
Settings Modify ScaleModify global settings in the scale category.
Settings Modify SubscriptionModify global settings in the subscription category.
Settings Modify FilterModify global settings in the filter category.
Settings Modify StorageModify global settings in the storage category.
Settings Modify ConnectionsModify global settings in the connections category.
Settings Modify ThemeModify global settings in the theme category.
Auth ViewView LDAP/OIDC/SAML configurations.
Auth ModifyModify LDAP/OIDC/SAML configurations.
Auth CreateCreate LDAP/OIDC/SAML configurations.
Auth DeleteDelete LDAP/OIDC/SAML configurations.
Licenses ViewView licenses.
Licenses CreateAdd new licenses.
Licenses DeleteDelete licenses.
System ViewView system information.
System Export SchemaExport system schema.
System Import DataImport system data.
System Export DataExport system data.
Reports ViewView system reports and logging. Warning: Providing access to logs can provide a lot of potentially sensitive information.
Managers ViewView the managers.
Managers ModifyModify existing managers.
Managers CreateCreate a new manager.
Managers DeleteDelete existing managers.
Zones ViewView Zones and Zone settings.
Zones ModifyModify Zone settings.
Zones CreateCreate new Zones.
Zones DeleteDelete existing Zones.
Companies ViewView companies.
Companies ModifyModify existing company.
Companies CreateCreate a new company.
Companies DeleteDelete an existing company.
Connection Proxy ViewView connection proxies.
Connection Proxy ModifyModify connection proxies.
Connection Proxy CreateCreate a connection proxy.
Connection Proxy DeleteDelete an existing connection proxy.
Physical Tokens ViewView physical 2FA tokens.
Physical Tokens ModifyAssign/Unassign physical 2FA tokens.
Physical Tokens CreateImport or create physical 2FA tokens.
Physical Tokens DeleteDelete a physical 2FA token.
Servers ViewView servers.
Servers ModifyModify existing servers.
Servers CreateCreate new servers.
Servers DeleteDelete servers.
Server Pools ViewView server pools.
Server Pools ModifyModify server pools.
Server Pools CreateCreate a new server pool.
Server Pools DeleteDelete a server pool.
Autoscale ViewView auto scale configurations.
Autoscale ModifyModify an existing auto scale configuration.
Autoscale CreateCreate a new auto scale configuration.
Autoscale DeleteDelete auto scale configurations.
VM Provider ViewView VM Provider configurations.
VM Provider ModifyModify VM Provider configurations.
VM Provider CreateCreate new VM Provider configurations.
VM Provider DeleteDelete VM Provider configurations.
Autoscale Schedule ViewView an auto scale schedule.
Autoscale Schedule ModifyModify an auto scale schedule.
Autoscale Schedule CreateCreate an auto scale schedule.
Autoscale Schedule DeleteDelete an auto scale schedule.
DNS Providers ViewView DNS provider configurations.
DNS Providers ModifyModify DNS provider configurations.
DNS Providers CreateCreate new DNS Provider configurations.
DNS Providers DeleteDelete DNS Provider configurations.
Registries ViewView Workspace Registries.
Registries ModifyModify existing Workspace Registries.
Registries CreateAdd new Workspace Registries
Registries DeleteDelete a Workspace Registry
Storage Providers ViewView Storage Providers.
Storage Providers ModifyModify existing Storage Providers.
Storage Providers CreateCreate new Storage Providers.
Storage Providers DeleteDelete an existing Storage Provider.
Egress Providers ViewView Egress Providers.
Egress Providers ModifyModify existing Egress Providers.
Egress Providers CreateCreate new Egress Providers.
Egress Providers DeleteDelete an existing Egress Provider.
Egress Gateways ViewView Egress Gateways.
Egress Gateways ModifyModify existing Egress Gateways.
Egress Gateways CreateCreate new Egress Gateways.
Egress Gateways DeleteDelete an existing Egress Gateway.
Egress Credentials ViewView Egress Credentials.
Egress Credentials ModifyModify existing Egress Credentials.
Egress Credentials CreateCreate new Egress Credentials.
Egress Credentials DeleteDelete an existing Egress Credential.
Banners ViewView banners.
Banners ModifyModify existing banners.
Banners CreateCreate new banners.
Banners DeleteDelete an existing banner.
AD User Management ViewView AD User Management Configurations.
AD User Management ModifyModify existing AD User Management Configurations.
AD User Management CreateCreate new AD User Management Configurations.
AD User Management DeleteDelete an existing AD User Management Configuration.

Permission Changes

A user's permissions are embedded in their session token, which is generated on login. A user's token lifetime is controlled by the Session Lifetime global setting. The UI will get a new session token every 5 minutes. The fastest way to get new permissions to apply, is to have the user log out and log back in, otherwise, the change will apply generally within 5 minutes.

Permission Dependencies

While most permissions can stand alone, there are dependencies between some permissions. Generally, a Modify, Create, and/or Delete permission will need the corresponding View permission. The following are additional permission dependencies, which means you will need to grant multiple permissions to have the desired effect.

  • Licenses View requires System View
  • Permissions View requires Groups View
  • Registries View requires Images View, System View, and Agents View
  • Autoscale View requires Server Pools View
  • Autoscale Schedule View requires Server Pools View
  • DNS Providers View requires Server Pools View
  • VM Providers View requires Server Pools View and Autoscale View
  • Users Delete requires Sessions Delete if the target user has running sessions and Users Modify
  • Users Delete requires Users Modify Admin to delete a user that has the Global Admin permission
  • Egress Gateways Create, Egress Gateways Modify, Egress Gateways Delete, Egress Credentials Create, Egress Credentials Modify and Egress Credentials Delete require Egress Providers Modify.
  • Servers View and Server Templates View requires Server Pools View and Zones View

There are many cases where multiple permissions are not required, however, certain UI elements will be hidden if the user does not have the permissions to view them. For example, a user may have permissions to View Images, however, they may not have permissions to View Servers. If the user goes to view an individual Workspace Image that targets a Server, they will not see the drop down to view or edit the server the image is targeting.

Special Permissions

There are more available permissions around groups, beyond the basic View, Create, Modify, and Delete. The Groups View IfMember and Groups Modify IfMember allow a user to view or modify a group if they are a member of that group. This does not extend to built-in system groups (All Users and Administrator). To edit or view System groups, they will also need the Groups View/Modify System permission.

There is an additional permission that protects modification of users with the Global Admin permission. In order to modify a Global Admin, the user requesting the modification must themselves be a Global Admin or have the User Modify Admin permission.

There are two permissions that allow modifications to Workspace Images, Images Modify and Images Modify Resources. The Images Modify allows modification of all Image settings except those that would modify the physical/virtual compute resources. The following settings require the Images Modify Resources permission to edit:

  • GPU Count
  • Cores
  • Memory
  • CPU Allocation Method
  • Uncompressed Image Size
  • Docker Registry
  • Docker Registry Username
  • Docker Registry Password
  • Hash
  • Volume Mappings
  • Docker Run Config Override
  • Docker Exec Config

Kasm Workspaces Configuration

The admin account is locked, how do I reset the password?

On a self-hosted deployment you can use our admin account recovery instructions to unlock the account and set a new password. On a Kasm Technologies managed SaaS deployment, please contact our support team for assistance support for paid customers.

Can I install my own software or customize my desktops?
I need to run my Workspace as root.

If you are looking for a way to install additional software or change settings on the Workspace please check out Can I install my own software or customize my desktops above. If you are looking to enable root permissions because they are required for an application to run correctly this is possible, however, it does carry security implications and should be avoided if possible.

  • Documentation on running a container as the root user.
How can I keep my profile data between Kasm sessions?

We have a guide on enabling a persistent profile (home directory).

I have an app that requires persistent data between Kasm sessions, or I want to be able to have a common share for all users mapped into a Kasm session.

There is a guide on enabling persistent data

My Kasm session is torn down too quickly when idle, how can I set the session timeout to be longer?

The default timeouts can be changed on the workspaces based upon the user’s group's Group Session Timing Settings. Here is a video clip that walks through the setting changes group settings video.

I'd like to run a Windows or Mac OSX image in Kasm Workspaces.

Kasm Workspaces supports session handling and rendering for arbitrary systems that support RDP, VNC, SSH, or KasmVNC. These systems can be fixed assets or they can be auto-scaled with Kasm Workspaces in a supported cloud environment. Windows 10, 11, and Server 2019 have been tested and are known to work with Workspaces. For more information or to see a demonstration please visit our Kasm Workspaces Windows Guide.

If you are looking to set up MacOS Workspaces for remote access, we recommend referring to our Setting Up MacOS Workspaces for Remote Access documentation page for detailed instructions and guidance.

Please note that the documentation page provides step-by-step instructions and best practices for configuring MacOS systems with Kasm Workspaces for remote access.

When I reconnect to my fixed infrastructure SSH session I lose my history and any work I was doing.

Kasm workspaces can be configured to leverage tmux or screen to allow resuming your work when reconnecting to an SSH session.

My AutoScaled servers are consuming resources even during long periods where my Kasm installation has no active users (such as overnight).

Kasm workspaces can be configured to follow a schedule for AutoScale configurations AutoScale Schedules.

Using Kasm Workspaces

When I am browsing the internet on my computer. Is there an easy way to open a link inside a Kasm session?

Kasm Technologies provides a browser extension that enables a right click menu for opening a link inside a Kasm session.

Do you have a developer API?

We do have a developer api available, more information is available here.

I'm getting a 'No Resources Available' error when trying to launch a workspace.

There are quite a few reasons you could be seeing a No Resources Available error, our troubleshooting guide has more information on how to diagnose and correct the error.

My native language isn't English. How can I use the UI and Kasm sessions in my own language?

In Kasm Workspaces 1.14.0 the Kasm team released translations for the Kasm Workspaces UI and added internalization support to the Kasm containerized workspaces. The language and timezone can be changed at the user, group, and workspace levels.

Troubleshooting

When trying to launch a workspace, the session hangs at 'Creating a secure connection'.

If your session is failing to create a secure connection, then refer to our troubleshooting guide which has more information on how to diagnose and correct this error.

I am getting a 'No Resources Available' error when trying to launch a workspace.

If you are encountering a "No Resources" Error, then refer to our troubleshooting guide which has more information on how to diagnose and correct this error.

I am having difficulty setting up GPU passthrough support.

If you are looking for additional information on GPU Passthrough Support, then refer to our troubleshooting guide which has more information on how to diagnose and correct this error.

Why am I unable to print documents after resuming the session?

In the current version the printer will no longer work if the Kasm session is stopped.

Why does the desktopscalefactor property in the .rdp file seem to not have an effect?

This is due to behavior on the RDP client. Kasm passes the desktopscalefactor setting even if it is not overridden by rdp_thick_client_properties in the connection_info setting of the Server. The desktopscalefactor setting is derived from the browser DPI and written into the generated .rdp. However, since RDP 8.1 most clients prefer dynamic DPI/resolution sync and often ignore this setting or only apply it in very specific scenarios.

Alternate RDP scaling properties options

By default, Kasm sets the following properties true when generating a session:

Smart Sizing : Determines whether the local device scales the content of the remote session to fit the window size.
Dynamic Resolution : Determines whether the resolution of a remote session is automatically updated when the local window is resized.

Forcing DPI scaling on Windows hosts

If the client ignores the scaling settings from the .rdp file, scaling can be enforced on the host server itself by setting the following per-user registry keys:

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Win8DpiScaling"=dword:00000001
"LogPixels"=dword:00000096 ; 96=100%, 120=125%, 144=150%, etc.

The Win8DpiScaling=1 setting forces Windows to honor the LogPixels setting. Without it, Windows may ignore the LogPixels setting and instead rely only on client DPI sync.

Note: A logoff/restart is required to apply these changes.