FaciLinux

Guide Facili per Linux

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