Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AlexsJones/d31a131dd94c06f48ff3af2dbde0add2 to your computer and use it in GitHub Desktop.
Save AlexsJones/d31a131dd94c06f48ff3af2dbde0add2 to your computer and use it in GitHub Desktop.
How to install Amazon Workspaces Linux Client for Fedora

Amazon WorkSpaces Linux client - RPM installation

Overview

The good news is that there is an Amazon WorkSpaces Linux client. If you happen to use Ubuntu, you can use the official instructions from the documentation. But what if you're on an rpm-friendly distribution like Fedora or CentOS?

alien to the rescue.

How to

You can use these steps to build a PCoIP client (not the 2023 WSP client) RPM from the original .deb package.

(Tested using a Lubuntu 23.10 image to build the RPM and Fedora 39 to install it.)

Get the .deb package

Download the file from the Workspaces Linux client page.

wget "https://d3nt0h4h6pmmc4.cloudfront.net/workspacesclient_focal_amd64.deb"

Create rpm

If you don't have alien, get it.

sudo apt install alien

To avoid some errors, we need to repackage manually.

sudo alien -rgv workspacesclient_focal_amd64.deb

Fedora now ships liblttng-ust0-2.13 and the package was built with 2.12, so we'll omit coreclrtraceprovider.so. See this issue for an unrelated project for a better explanation of the problem and the solution.

sudo sed -i '/"\/opt\/workspacesclient\/libcoreclrtraceptprovider.so"$/d' workspacesclient-4.7.0.4312/workspacesclient-4.7.0.4312-2.spec

Build the rpm package.

cd workspacesclient-4.7.0.4312 && \
    sudo rpmbuild --buildroot `pwd` -bb workspacesclient-4.7.0.4312-2.spec && \
    cd -

Did it work?

sudo rpm --query --info --package ./workspacesclient-4.7.0.4312-2.x86_64.rpm 

You should see output like this...

Name        : workspacesclient
Version     : 4.7.0.4312
Release     : 2
Architecture: x86_64
Install Date: (not installed)
Group       : Converted/misc
Size        : 162134366
License     : see /usr/share/doc/workspacesclient/copyright
Signature   : (none)
Source RPM  : workspacesclient-4.7.0.4312-2.src.rpm
Build Date  : Sat Nov 18 05:21:48 2023
Build Host  : lubuntu
Summary     : Amazon WorkSpaces Client for Ubuntu 20.04
Description :


(Converted from a deb package by alien version 8.95.6.)

Install

Copy over this rpm to your RPM-based host. Install it and try it out.

sudo dnf localinstall ./workspacesclient-4.7.0.4312-2.x86_64.rpm
/opt/workspacesclient/workspacesclient

Challenges

If you run into dependency errors for some packages that aren't in Fedora, you can try installing them yourself. These are not authoritative recommendations; they're just what others have found. Be careful about adding foreign packages to your installation.

# last confirmed on 24-Jun-2023 (includes libhiredis.so.0.13 and libhiredis.so.0.14)
sudo dnf install https://rpmfind.net/linux/openmandriva/4.3/repository/x86_64/main/release/lib64hiredis0.13-0.14.1-1-omv4050.x86_64.rpm

The spec also introduces an incorrect dependency error.

Error: 
 Problem: conflicting requests
  - nothing provides libbz2.so.1.0()(64bit) needed by workspacesclient-4.7.0.4312-2.x86_64 from @commandline
  - nothing provides libcurl.so.4(CURL_OPENSSL_4)(64bit) needed by workspacesclient-4.7.0.4312-2.x86_64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages)

If these are the only dependencies you need, they're in the package, so we can use rpm to skip past them.

sudo rpm -ivh --nodeps ./workspacesclient-4.7.0.4312-2.x86_64.rpm

If the login doesn't render, you might be missing some packages.

sudo dnf install javascriptcoregtk4.0-devel webkit2gtk4.0-devel

If you run into a globalization related error, this invocation should help.

DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 /opt/workspacesclient/workspacesclient 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment