Launching Teamviewer remotely through SSH

Teamviewer is a wonderful tool to access your computer (or any other device) remotely if you need to use your a graphical screen. Probably is not as secure as other linux solutions (as VNC or a VPN) but the main advantage is that is very easy to install and configure.

Remote access to my home computer with Teamviewer

Suppose that we are on holidays far from home and we need to accomplish a task on our home computer using the graphical desktop. We have in our hands another device (for example a nexus7 tablet) and we are connected to WiFi hotspot. There is Teamviewer Apps for Android and IOS. We need Teamviewer installed in both machines: Desktop at home and our tablet, So I’m going to explain how can you launch remotely Teamviewer in your remote computer at home just for the time you need it to perform a particular task. As soon as we finished our job, we will stop it again to be safer.

I assume that you’ve already installed Teamviewer in your linux box and you also have a ssh account to login into your remote linux machine at home (user@home_machine:~$).

Steps:

  1. Login into your home linux box through ssh. Don’t use root access unless it was necessary. Use ‘sudo’ instead.
  2. Locate where teamviewer is installed:
    user@home_machine:~$ whereis teamviewer

    teamviewer: /usr/bin/teamviewer /etc/teamviewer
  3. Now run this command to get the list of commands:
    user@home_machine:~$ /usr/bin/teamviewer –help

    TeamViewer 8.0.17147 <-- Your version
     teamviewer start TeamViewer user interface (if not running)teamviewer --help print this help screen
      teamviewer --version print version information
      teamviewer --info print version, status, id
      teamviewer --passwd [PASSWD] set a password (useful when installing remote (ssh)
      teamviewer --ziplog create a zip containing all teamviewer logs (useful when contacting support)teamviewer --daemon status show current status of the TeamViewer daemon
      teamviewer --daemon start start TeamViewer daemon
      teamviewer --daemon stop stop TeamViewer daemon
      teamviewer --daemon restart stop/start TeamViewer daemon
      teamviewer --daemon disable disable TeamViewer daemon - don't start daemon on system startup
      teamviewer --daemon enable enable TeamViewer daemon - start daemon on system startup (default)
  4. Now we will check ID number for calling remotely our device and the current status of teamviewer daemon in our computer:
    user@home_machine:~$ /usr/bin/teamviewer –info

    TeamViewer 8.0.17147
     teamviewerd status
     teamviewerd stop/waiting
    TeamViewer ID: 9XXXXXXX7 <-- Your ID number
    
  5. If we don’t remember the password to connect to teamviewer in our home machine we can reset it using this command:
    user@home_machine:~$ /usr/bin/teamviewer –passwd MYnewpassword
  6. Now it’s time to enable the teamviewer daemon and launch (start) it. check that it’s up and running:

    user@home_machine:~$ sudo teamviewer --daemon enable
     mar jul 9 13:29:00 CEST 2013
      Action: Installing daemon (8.0.17147) for 'SystemV' ...
      installing /etc/init.d/teamviewerd (/opt/teamviewer8/tv_bin/script/teamviewerd.sysv)
      System start/stop links for /etc/init.d/teamviewerd already exist.
      /etc/init.d/teamviewerd start
      Starting teamviewerd...


    user@home_machine:~$ sudo teamviewer –daemon start

    /etc/init.d/teamviewerd start
      Starting teamviewerd...
  7. We check again the status:
    user@home_machine:~$ sudo teamviewer –info

    TeamViewer 8.0.17147teamviewerd status /opt/teamviewer8/tv_bin/teamviewerd
      teamviewerd start/running
      TeamViewer ID: 9XXXXXXX7
  8. … and now we check that new connections are opened to teamviewers servers:
    user@home_machine:~$  sudo netstat -ntap | grep teamviewer

    tcp 0 0 127.0.0.1:5941 0.0.0.0:* LISTEN 20351/teamviewerd
     tcp 0 0 192.168.1.100:49333 176.223.198.114:5938 ESTABLISHED 20351/teamviewerd
  9. Now close your ssh session to your home computer otherwise you won’t be able to connect to teamviewer remotely. Once closed the ssh session try to connect to your home PC remotely using any other device you had in your hands.
  10. Once you finish close the teamviewer session and reconnect to your home computer again with ssh. We will stop teamviewer until the next time we needed it again. Commands to perform this final step is:
    user@home_machine:~$ sudo teamviewer –daemon stop

9 comentarios

  1. Fantastic and very helpfull post. I’ve been trying to do something like this since many months without success. Now I can easily access the machine at my conveninence without leaving TV always on. THANKS!
    ps: I confirm it worked for me (remote machine with TV8 on Debian 7)

  2. Great write-up! On my Ubuntu 13.04 installation I am able to control the daemon via SSH (start/stop/restart/etc.), but still can’t connect to the session. I looked at the differences of what is running when I start the teamviewer daemon from SSH and what get’s initialized when I login. It seems that starting the daemon does not start the “wineserver” that is started as a user process when I login. I believe your instructions assume that that is already started. I will experiment with this and see if this can be started from the system init (instead of a user login process) and restarted remotely from SSH.

    • Yes, you’re right. I assumed that winserver (/opt/teamviewer8/tv_bin/wine/bin/wineserver) had already been launched when you logged in. But I can kill it and launch it again when it was needed from the console to restarting the whole service

      If I’m not wrong, we need two processes to run teamviewer at our home machine, one owned by ‘user’ and the other by ‘root’:

      user 608 0.1 0.0 4556 1764 ? Ss 13:10 0:00 /opt/teamviewer8/tv_bin/wine/bin/wineserver
      root 1075 0.6 0.1 70380 5504 ? Sl 13:17 0:00 /opt/teamviewer8/tv_bin/teamviewerd -d

      If you can try what I’m saying, kill both processes from console to start from scratch.

      To launch the wineserver as user, ssh to your machine as user and type:
      user@home_machine:~$ /usr/bin/teamviewer –info &
      Click return to go ahead.

      … then, to launch teamviewer daemon as root (sudo) type:
      user@home_machine:~$ sudo teamviewer –daemon start &
      Click return to go ahead.

      Check that both processes were created typing:
      user@home_machine:~$ ps -aux | grep view

      … you should see now two processes:
      user 2134 0.1 0.0 4448 1648 ? Ss 13:32 0:00 /opt/teamviewer8/tv_bin/wine/bin/wineserver
      root 2175 0.4 0.0 45280 3984 ? Sl 13:32 0:00 /opt/teamviewer8/tv_bin/teamviewerd -d

      Close your SSH session and try to connect to your home_machine with teamviewer.

      It works for me.

  3. I was able to run the teamviewer7 typing these two command

    /usr/bin/teamviewer -info &

    sudo teamviewer -daemon start &

    Now,

    ps -ef| grep view

    xxx 15582 14511 0 Feb21 pts/4 00:00:00 /bin/bash /usr/bin/teamviewer -info
    xxx 15586 15582 0 Feb21 pts/4 00:00:00 /bin/bash /opt/teamviewer/teamviewer/7/bin/wrapper wine c:\Program Files\TeamViewer\Version7\TeamViewer.exe -info
    xxx 15615 1 1 Feb21 ? 00:00:00 /opt/teamviewer/teamviewer/7/wine/bin/wineserver

    And now the big question is how will I find my ID and Passwd to connect to that remote machine through teamviewer from my home?

    Thanks

  4. Pingback: Childsplay | Usefull teamviewer options for remote access

  5. Pingback: Teamviewer successful installed, but no incoming connections possible | DL-UAT

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *