The ConnectWise ScreenConnect (formerly ConnectWise Control) .sh installer fails on Arch Linux because it only supports Debian (dpkg) and Red Hat (rpm) package managers. Even after getting it installed, the client connects in the web portal but produces no visible window on Wayland desktops like KDE Plasma 6, GNOME, Sway, or Hyprland.
This guide covers three separate issues and their fixes, tested on CachyOS (Arch-based) with KDE Plasma 6 on Wayland and OpenJDK 25. The same fixes apply to Manjaro, EndeavourOS, and any Arch-based distribution.
Related discussions: This problem has been asked about on the Lawrence Systems forums, Manjaro forums, and the ConnectWise product forums — but none provided a complete working solution. There is also a PKGBUILD on GitHub by kelderek that takes an alternative approach by repackaging the .deb as an Arch package.
Issue 1: ScreenConnect Installer Does Not Work on Arch Linux
The ScreenConnect.ClientSetup.sh checks for dpkg or rpm. Neither exists on Arch by default, so the installer silently fails.
Fix: Install dpkg from the Arch repositories:
sudo pacman -S dpkg
Then run the installer as your regular user (not root):
~/Downloads/ScreenConnect.ClientSetup.sh
Gotcha: If you run with sudo, ScreenConnect installs to /root/.local/share/applications/ instead of your home directory. Fix with:
sudo mv /root/.local/share/applications/connectwisecontrol-* ~/.local/share/applications/
sudo chown -R $USER:$USER ~/.local/share/applications/connectwisecontrol-*
Issue 2: Java HeadlessException — No GUI Support
ConnectWise ScreenConnect is a Java Swing application. CachyOS and many Arch installs ship jre-openjdk-headless by default, which lacks AWT/Swing GUI libraries.
Error in logs (~/.local/share/applications/connectwisecontrol-<hash>-logs):
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found
Fix: Replace the headless JRE with the full (headful) JRE:
sudo pacman -S --ask 4 jre-openjdk
The --ask 4 flag allows pacman to replace the conflicting headless package automatically.
Issue 3: ScreenConnect Window Blank on Wayland (NullPointerException)
Java AWT/Swing does not support Wayland natively. Even with the full JRE installed, the ScreenConnect remote control window fails to create on Wayland sessions.
Error in logs:
java.lang.NullPointerException: Cannot invoke
"com.screenconnect.client.ScreenFrame.getScreenPanel()"
because "this.screenFrame" is null
Fix: Force XWayland by patching the ClientLauncher.sh script:
sed -i '1a export GDK_BACKEND=x11\nexport _JAVA_AWT_WM_NONREPARENTING=1' \
~/.local/share/applications/connectwisecontrol-*/ClientLauncher.sh
GDK_BACKEND=x11 forces the Java process to use XWayland instead of native Wayland
_JAVA_AWT_WM_NONREPARENTING=1 is recommended by the Arch jre-openjdk package for non-reparenting window managers, and fixes rendering issues with KDE Plasma on Wayland
Complete Setup — Copy and Paste
# 1. Install dependencies
sudo pacman -S dpkg jre-openjdk
# 2. Run installer as your user (NOT sudo)
~/Downloads/ScreenConnect.ClientSetup.sh
# 3. Patch launcher for Wayland compatibility
sed -i '1a export GDK_BACKEND=x11\nexport _JAVA_AWT_WM_NONREPARENTING=1' \
~/.local/share/applications/connectwisecontrol-*/ClientLauncher.sh
# 4. Enable autostart on login
cp ~/.local/share/applications/connectwisecontrol-*.desktop ~/.config/autostart/
# 5. Launch ScreenConnect
sh ~/.local/share/applications/connectwisecontrol-*/ClientLauncher.sh
Verification
Check the log file for errors:
cat ~/.local/share/applications/connectwisecontrol-*-logs
A successful run shows only these non-fatal warnings (safe to ignore):
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by com.screenconnect.Extensions
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Important Notes
- ScreenConnect updates overwrite the Wayland patch. Reapply the
sed command after any ConnectWise Control update or reinstall.
- Tested on: CachyOS with KDE Plasma 6 (Wayland), OpenJDK 25
- Applies to all Arch-based distros: Manjaro, EndeavourOS, CachyOS, Garuda, etc.
- Applies to all Wayland compositors: KDE Plasma, GNOME, Sway, Hyprland, river, etc.
- Log location:
~/.local/share/applications/connectwisecontrol-<hash>-logs
- Desktop entry:
~/.local/share/applications/connectwisecontrol-<hash>.desktop
What Does Not Work (Suggestions to Avoid)
- IcedTea / Java Web Start (JNLP): Frequently recommended in forums but broken with modern Java versions. Only works for the web-based viewer, not the persistent ConnectWise Control access agent.
- Switching your entire desktop to X11: Works, but defeats the purpose of running Wayland. The per-app
GDK_BACKEND=x11 fix is targeted and better.
- Debtap package conversion: More steps for the same result, and does not address the Wayland incompatibility.
- Disabling Wayland in GDM: Some guides suggest editing
/etc/gdm/custom.conf — this is unnecessary if you use the environment variable fix above.
We wrote this up because we hit it ourselves supporting a mixed Windows/Linux fleet. If you're running Linux endpoints alongside everything else and would rather not re-fix a remote-support agent every time a distro moves, that's routine work for us — co-managed IT if you already have IT staff, managed IT if you don't.