Teamviewer© è un software per il controllo remoto di una postazione; viene distribuito per tutti i maggiori sistemi operativi, Linux incluso. Se avete installato il software completo, pacchettizzato in formato deb o rpm, viene anche aggiunto un canale ai vostri repository per l'aggiornamento del software, ma soprattutto viene aggiunto un demone, teamviewerd, che parte all'avvio del computer e resta in attesa di connessioni. Il demone è necessario anche se usiamo la nostra postazione per controllarne un'altra, ma ha naturalmente la doppia funzione; quando si installa Teamviewer anche la nostra macchina diventa potenzialmente controllabile da remoto. Certo, è necessario avere l'accoppiata di codice id e password, ma se non vi piace l'idea di avere un demone sempre in ascolto per una connessione remota sulla vostra postazione, ecco come fare per avviare Teamviewer, demone incluso, solo quando è strettamente necessario.
Innanzitutto occorre creare uno script wrapper, semplicemente uno script bash che si occupa di:
- Avviare il demone (chiedendo delle credenziali amministrative)
- Avviare l'interfaccia di Teamviewer
- Alla chiusura di Teamviewer fermare il demone
Prendete lo script bash che trovate qui sotto e salvatelo come teamviewer-wrapper
all'interno di una directory compresa nel vostro PATH di ricerca degli eseguibili (generalmente $HOME/bin può essere una buona scelta se siete gli unici utilizzatori del pc):
#!/bin/bash
#A wrapper for teamviewer
#Runs teamviewer daemon only when needed
#Set teamviewer path
teamv_path="/opt/teamviewer/tv_bin/"
#check path existence
if [ ! -d $teamv_path ]; then
zenity --error --text "Errore.\nIl percorso $teamv_path non esiste."
exit 1
else
pid_daemon=$(pidof teamviewerd)
if [ ! $pid_daemon == '' ]; then
zenity --warning --text "Attenzione, il demone di teamviewer era già in esecuzione.\nPer disabilitarne l'avvio automatico usa il comando\n\nsudo systemctl disable teamviewerd\n\nda terminale."
else
pkexec /opt/teamviewer/tv_bin/teamviewerd -d
pid_daemon=$(pidof teamviewerd)
fi
if [ $pid_daemon -gt 1 ]; then
/opt/teamviewer/tv_bin/TeamViewer
pkexec kill -9 $pid_daemon
pid_daemon=$(pidof teamviewerd)
if [ ! $pid_daemon == '' ]; then
zenity --warning --text "Attenzione, il demone di teamviewer sembra ancora in esecuzione"
fi
fi
fi
A questo punto rendiamo lo script eseguibile; apriamo una finestra di terminale e digitiamo:
chmod +x $HOME/bin/teamviewer-wrapper
Ora occorre fermare e disabilitare il demone teamviewerd, i comandi da eseguire da terminale sono:
sudo systemctl disable teamviewerd
sudo systemctl stop teamviewerd
Ora potete lanciare il comando teamviewer-wrapper dal terminale; se volete integrarlo nel menu del vostro desktop, potete copiare il contenuto riportato qui sotto all'interno della directory $HOME/.local/share/applications, salvando il file con il nome com.teamviewer.TeamViewer.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Categories=Network;
Name=TeamViewer 13
Comment=Remote control and meeting solution.
Exec=env teamviewer-wrapper
Icon=TeamViewer
Terminal=false
Aggiornamento di Teamviewer
Ogni volta che il pacchetto Teamviewer viene aggiornato, il demone teamviewerd viene riabilitato e fatto partire in modo silente, quindi dopo l'aggiornamento occorre ricordarsi di dare questi due comandi, per fermare e disabilitare nuovamente l'avvio al boot del demone:
sudo systemctl disable teamviewerd
sudo systemctl stop teamviewerd