Last active
July 11, 2024 14:54
-
-
Save mausch/168d09d18e354c8e47981b8e44746af9 to your computer and use it in GitHub Desktop.
Run AWS WorkSpaces client on any Linux distro supporting Docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -eu | |
dockerfile=$(mktemp) | |
trap "rm $dockerfile" EXIT | |
cat << EOF > $dockerfile | |
FROM ubuntu:bionic | |
RUN apt-get update && apt-get install -y wget gnupg2 | |
# https://clients.amazonworkspaces.com/linux-install.html | |
RUN wget -q -O - https://workspaces-client-linux-public-key.s3-us-west-2.amazonaws.com/ADB332E7.asc | apt-key add - | |
RUN echo "deb [arch=amd64] https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu bionic main" | tee /etc/apt/sources.list.d/amazon-workspaces-clients.list | |
RUN apt-get update | |
RUN apt-get install -y workspacesclient | |
CMD /opt/workspacesclient/workspacesclient | |
EOF | |
docker build -t aws-workspaces - < $dockerfile | |
xhost + | |
docker run -it --rm --name aws-workspaces \ | |
-v /tmp/.X11-unix:/tmp/.X11-unix \ | |
-v "$HOME/.aws-workspaces":"/root/.local/share/Amazon Web Services" \ | |
-e DISPLAY=$DISPLAY \ | |
aws-workspaces |
I found this script did not work for me. A few libraries were missing from the bionic image, particularly libusb. Also note the -t in the docker command requires this to be run with an attached terminal, which I have removed.
#!/usr/bin/env bash
set -eu
dockerfile=$(mktemp)
trap "rm $dockerfile" EXIT
cat << EOF > $dockerfile
FROM ubuntu:bionic
RUN apt-get update \
&& apt-get install -y \
curl \
gnupg2 \
&& curl -L https://workspaces-client-linux-public-key.s3-us-west-2.amazonaws.com/ADB332E7.asc | apt-key add - \
&& echo "deb [arch=amd64] https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu bionic main" | tee /etc/apt/sources.list.d/amazon-workspaces-clients.list \
&& apt-get update \
&& apt-get install -y \
liblttng-ust0 \
libusb-1.0-0 \
workspacesclient \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get autoclean \
&& apt-get autoremove
WORKDIR /opt/workspacesclient
ENTRYPOINT [ "/opt/workspacesclient/workspacesclient" ]
EOF
docker build -t aws-workspaces - < $dockerfile
xhost +local:
exec /usr/bin/docker run -i --rm --name aws-workspaces \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v "$HOME/.aws-workspaces":"/root/.local/share/Amazon Web Services" \
-e DISPLAY \
aws-workspaces
Hi I am not able to copy paste text in and out to the host and client
I am using ubuntu 22.04 as host
FWIW I now use Nix instead of Docker to run this. e.g.
NIXPKGS_ALLOW_UNFREE=1 \
nix --extra-experimental-features 'nix-command flakes' \
shell --override-input nixpkgs nixpkgs/bc9d72b9dcdda848c122a295ed45054f27adf6f2 --impure github:guibou/nixGL \
github:nixos/nixpkgs/bc9d72b9dcdda848c122a295ed45054f27adf6f2#aws-workspaces -c nixGL workspacesclient
Any luck getting this working with the WSP version?
Any luck getting this working with the WSP version?
For the Nix package, it's being worked on at NixOS/nixpkgs#251976 .
For this Dockerfile, I'm not planning to maintain it any more.
Really nice solution! I just had to add a apt-get upgrade -y
before installing wget
and gnupg2
and now it's running.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I got the following error when running the docker container:
Which was fixed by adding
--ipc host
, as suggested here.