Skip to content

Instantly share code, notes, and snippets.

@bferg314
Last active April 24, 2020 02:27
Show Gist options
  • Save bferg314/43131f35ed00dd025b44f1a18fd54d04 to your computer and use it in GitHub Desktop.
Save bferg314/43131f35ed00dd025b44f1a18fd54d04 to your computer and use it in GitHub Desktop.
How to set up a Raspberry Pi 4 to use Citrix Workspace

Pi4 - A Dual Monitor Thin Client for Citrix

What you need

  • A Raspberry Pi 4 - You can get a kit for $80 or so on amazon. Get one with a fan!
  • Additional mini HDMI to HDMI adapter. The kit ususally somes with 1, get 2 for dual monitors.
  • Monitor, Keyboard, Mouse... I'll assume you have these laying around because you are interested in this project.
  • Decent SD Card. The kits might come with one, but it is nice to have an extra!
  • Download Balena Etcher to copy the image onto your SD Card.

Note

Pretty straight forward, but wacky things happen! Of course you follow these instructions at your own risk. A little familiarity with Linux is not necessary, but sure doen't hurt.

These were the instructions I followed originally... It was a great jumping off point.
https://bluesabre.org/2019/10/20/install-xubuntu-19-10-on-a-raspberry-pi-4/

There are good working 64 bit images out there, but Citrix Workspace App for ARM is only available for 32bit (HF).

Phase 1 - Get a Desktop Environment

  1. Download the latest Ubuntu Server 20.04 armhf
  2. Plug in your SD Card and fire up Balena.
  3. Select your image and write it to the card.
  4. Pop the card into your Pi4, hook up monitors, ethernet, m/k, and then plug in the power.
  5. Wait for the Pi4 to power up and let it sit for a while. It might look like it is just sitting there for a really long time doing nothing... Hit enter.
  6. You will be prompted to log in.
    • User: ubuntu
    • Password: ubuntu
  7. Once you have changed the password to something secure, make sure you are up to date by using the following commands.
    sudo apt update
    sudo apt upgrade

If you get an error about things being locked, just wait longer. The device is probably still updating in the background. If everything goes ok, things will finish updating.

  1. Next you will install Xubuntu on your device, along with a browser. Other light Desktop Environments might work too, but XFCE does the trick. This will take a LONG time, so be patient!

    sudo apt install xubuntu-core^ slick-greeter firefox chromium-browser caffeine -y
  2. BEFORE REBOOTING you will need to update to a different login screen. To do this you will need to use a command line editor. The instructions below are for vim.

    a. Type

    sudo vim /etc/lightdm/lightdm.conf

    This will open vim with a blank page. The file will not be created until you save of course.

    b. Next type the letter i to change vim to insert mode. You are now free to type the below text.

    [SeatDefaults]
    greeter-session=slick-greeter

    c. To exit insert mode hit the escape key. Now type

    :wq

    and hit enter. That will write to the file and quit vim.

  3. Timezone - set where you live!

    sudo dpkg-reconfigure tzdata
  4. Create a new user - This is optional, but I like to have my own user set up. This will create a new user and add it to the sudo group.

    sudo adduser yourusernamehere
    sudo usermod -aG sudo yourusernamehere

    Log out and back in as the new user if you decided to create one.

    Optionally delete the ubuntu user

    sudo userdel -r ubuntu
  5. Monitor Issues... Depending on your settings your display may not look right after your reboot. You can skip this, but know you might come back to this after the reboot.

    Edit /boot/firmware/usercfg.txt!

    sudo vim /boot/firmware/usercfg.txt

    Here is what I need for my dual monitor setup...

    # have a properly sized image (those black bars)
    disable_overscan=1
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack
    # Fix second monitor not showing up
    dtoverlay=vc4-fkms-v3d
    max_framebuffers=2 

    Other things that might work for you.

    # for sound over HDMI
    hdmi_drive=2
    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    # Weird HDMI Adapter? Maybe you need more signal going to the monitor!
    config_hdmi_boost=9
  6. Now you can safely reboot. If all went well you should be greeted by the login screen. Sign in with your password!

Phase 2 - Load Citrix Workspace

You should be booted into your xubuntu desktop. Open Chromium.

  1. Go download the latest Citrix Workspace App. Make sure you grab the FULL package for ARM HF.
  2. Now that you have the .deb file you will need to install it. Fire up your terminal (Terminal Emulator in your Application Manu) and start typing. Assuming you downloaded the file to your Downloads folder, the following command should work.
    cd ~/Downloads
    sudo apt install ./icaclient_20.04.0.21_armhf.deb -y
  3. Install additional CA certs into the Citrix directory
    sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/
    sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/

Afterword

You should be all set to boot up Citrix workspace and work from your device now. A Citrix session and a browser should run fine on the Pi4. If you need more power than that, use Remmina to remote into another device! Hopefully Citrix will release a 64 bit arm version of Citrix Workspace app, but this does the trick!

Extra

Use Chromium

Firefox doesn't work quite right on the Pi4... Not sure what the deal is there. Not worth the battle.

Keep your screen awake

Caffeine is a handy program to keep your monitor from going to sleep during those long meetings. Run the Caffeine Indicator and you can just click it to turn it on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment