How to Install TeamViewer on Rocky Linux EL9 / EL8
If your friends still use Windows and keep asking for help, installing TeamViewer on Rocky Linux is the quickest way to give them remote support. Below is a straight‑up, no‑frills guide that actually gets you up and running—no fancy packaging or obscure workarounds.
1 . Why you need EPEL first
Rocky doesn’t ship the extra packages TeamViewer depends on (like libX11 and glibc). The Extra Packages for Enterprise Linux (EPEL) repository fills that gap, so the installer can resolve dependencies automatically instead of throwing a mountain of “missing package” errors.
sudo dnf install epel-release -y sudo dnf update -y
If you skip this step, you’ll see cryptic messages about missing libraries and have to hunt each one down manually.
2 . Grab the right RPM
TeamViewer offers a generic Linux RPM that works on most RHEL‑based distributions. Just pick the version matching your architecture (most people use x86_64).
cd ~/Downloads
curl -L https://download.teamviewer.com/download/linux/teamviewer-host-15.23.1.x86_64.rpm \
-o teamviewer-host-15.23.1.x86_64.rpm
> I once had a coworker who tried the 32‑bit build on an EL8 system and was left staring at a “cannot open shared object file” message for half an hour. Stick to x86_64 unless you’re running a very old machine.
3 . Install it (and why --nobest matters)
The usual dnf install will try to pull the newest version of every dependency, which can lead to a conflict with Rocky’s older base packages. Adding --nobest tells DNF to accept any version that satisfies the requirement rather than forcing the latest.
sudo dnf install ./teamviewer-host-15.23.1.x86_64.rpm --nobest -y
If you see a warning about “No available provider for: libX11.so”, it’s likely EPEL isn’t fully enabled or your cache is stale—run dnf clean all && dnf update and try again.
4 . Start the TeamViewer service
TeamViewer runs as a systemd unit, so just enable and start it:
sudo systemctl enable --now teamviewerd.service
The --now flag skips an extra manual systemctl start.
If you’re on EL9 with SELinux in enforcing mode, the first run will complain about “avc: denied” because the policy doesn’t yet allow TeamViewer to open network sockets. The quick fix is:
sudo setsebool -P teamviewer_connect_any=1
After that, you can restart the service.
5 . Verify everything’s working
Open a terminal and run:
teamviewer info
You should see the ID and status (“Connected to: …” or “Not connected”).
If it shows an error like “Unable to find teamviewer daemon”, double‑check that systemctl status teamviewerd is active.
6 . (Optional) Install the graphical client
The host RPM installs only the backend. If you need a full GUI to start sessions, download the generic teamviewer_amd64.deb and use alien to convert it:
sudo dnf install alien -y
cd ~/Downloads
curl -L https://download.teamviewer.com/download/linux/teamviewer_amd64.deb \
-o teamviewer_amd64.deb
sudo alien -i teamviewer_amd64.deb
That gives you a clickable icon in your app launcher.
Common pitfall:
On EL9, some users report that TeamViewer won’t start after an update because the libc.so version changes. If that happens, reinstall the RPM and run sudo ldconfig. It’ll rebuild the cache and fix most library mismatches.
That’s it. You now have a fully functional remote‑desktop service on Rocky Linux—no more “I can’t install TeamViewer” calls from your Windows buddies.