I use Teamviewer for work but also wanted to try Silverblue. For anyone needing this mix of software, this is how I got it to work for me on Silverblue 33 and Teamviewer 15.11.6. I have only tested this with my computer being the guest/local, I haven’t tested the Silverblue platform as the host/remote.
Install teamviewer and reboot:
sudo rpm-ostree install teamviewer*.rpm
sudo systemctl reboot
I think because Silverblue’s directory tree is a bit unusual the service files don’t get installed correctly, but asking the teamviewer application to enable the daemon installs them successfully.
sudo teamviewer daemon enable
sudo systemctl start teamviewerd
Verify it is running:
sudo systemctl status teamviewerd
The error about the PID and permission denied is a red-herring. The actual hindrance is SELinux:
type=AVC msg=audit(1611458278.466:6954): avc: denied { name_connect } for pid=1353 comm="teamviewerd" dest=80 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
Running audit2why suggests this solution:
sudo setsebool -P nis_enabled 1
After this, I would get a green connection and could connect to my remote hosts; I do not know the entirety of the security implications of this action. These SELinux errors do not occur in Workstation.
There is some other SELinux error related to the framebuffer, but that did not stop me from performing work on the remote machine.
type=AVC msg=audit(1611458281.540:6976): avc: denied { read write } for pid=1353 comm="teamviewerd" name="fb0" dev="devtmpfs" ino=440 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:framebuf_device_t:s0 tclass=chr_file permissive=0