Ich habe einen funktionierenden TeamViewer, zu dem ich erfolgreich eine Verbindung herstellen kann, nachdem ich die GUI von TeamViewer gestartet habe. Leider kann ich jedoch keine Verbindung zu meinem Computer herstellen, wenn die GUI von TeamViewer nicht gestartet ist. Alle verfügbaren Dokumentationen legen nahe, dass das Ausführen des TeamViewer-Daemons teamviewerd
ausreicht, um eine Remoteverbindung zu einem Computer herzustellen, aber bei mir scheint dies nicht der Fall zu sein.
Ohne TeamViewer-GUI (nur teamviewerd)
Ausgabe von teamviewer status
:
TeamViewer 11.0.57095 (DEB)
teamviewerd status ● teamviewerd.service - TeamViewer remote control daemon
Loaded: loaded (/etc/systemd/system/teamviewerd.service; enabled; vendor preset: enabled)
Active: active (running) since Sa 2016-04-30 17:01:55 CEST; 11min ago
Process: 15518 ExecStart=/opt/teamviewer/tv_bin/teamviewerd -d (code=exited, status=0/SUCCESS)
Main PID: 15521 (teamviewerd)
CGroup: /system.slice/teamviewerd.service
└─15521 /opt/teamviewer/tv_bin/teamviewerd -d
Apr 30 17:01:54 rvaio systemd[1]: Starting TeamViewer remote control daemon...
Apr 30 17:01:55 rvaio systemd[1]: teamviewerd.service: PID file /var/run/teamviewerd.pid not readable (yet?) after start: No such file or directory
Apr 30 17:01:55 rvaio systemd[1]: Started TeamViewer remote control daemon.
TeamViewer ID: 123456789
Ausgabe von sudo netstat -ntap | grep teamviewer
:
tcp 0 0 0.0.0.0:5938 0.0.0.0:* LISTEN 1447/teamviewerd
tcp 0 0 127.0.0.1:5940 0.0.0.0:* LISTEN 1447/teamviewerd
tcp6 0 0 :::5938 :::* LISTEN 1447/teamviewerd
Mit TeamViewer GUI gestartet
Ausgabe von teamviewer status
:
TeamViewer 11.0.57095 (DEB)
teamviewerd status ● teamviewerd.service - TeamViewer remote control daemon
Loaded: loaded (/etc/systemd/system/teamviewerd.service; enabled; vendor preset: enabled)
Active: active (running) since Sa 2016-04-30 17:01:55 CEST; 18min ago
Process: 15518 ExecStart=/opt/teamviewer/tv_bin/teamviewerd -d (code=exited, status=0/SUCCESS)
Main PID: 15521 (teamviewerd)
CGroup: /system.slice/teamviewerd.service
└─15521 /opt/teamviewer/tv_bin/teamviewerd -d
Apr 30 17:01:54 rvaio systemd[1]: Starting TeamViewer remote control daemon...
Apr 30 17:01:55 rvaio systemd[1]: teamviewerd.service: PID file /var/run/teamviewerd.pid not readable (yet?) after start: No such file or directory
Apr 30 17:01:55 rvaio systemd[1]: Started TeamViewer remote control daemon.
TeamViewer ID: 123456789
Ausgabe von sudo netstat -ntap | grep teamviewer
:
tcp 0 0 0.0.0.0:5938 0.0.0.0:* LISTEN 15521/teamviewerd
tcp 0 0 127.0.0.1:5940 0.0.0.0:* LISTEN 15521/teamviewerd
tcp 0 0 127.0.0.1:5940 127.0.0.1:48475 ESTABLISHED 15521/teamviewerd
tcp6 0 0 :::5938 :::* LISTEN 15521/teamviewerd
tcp6 0 0 2003:72:2d76:2701:46132 2a01:488:2001:1c01:5938 ESTABLISHED 15521/teamviewerd
Wie Sie sehen, werden beim Starten der GUI zwei Verbindungen hergestellt, anders als wenn nur der Daemon gestartet wird.
Antwort1
Ich habe dieses Problem auch und habe festgestellt, dass es möglicherweise am Programm selbst liegt. Meine Lösung bestand darin, ein in Ubuntu verfügbares Programm namens gDevilspie zu verwenden.
Sie müssen im Programm zwei Regeln einrichten, um das Hauptfenster und die Kontaktliste auszublenden.
So richte ich TeamViewer ein
hier sind die Einstellungen, die ich verwendet habe:
Für TeamViewer:
application_name equals Computers & Contacts
window_name equals Computers & Contacts
Der Screenshot zeigt die Aktionen für dieses Fenster
Für TeamViewer2:
application_name equals TeamViewer
window_name equals TeamViewer
Die Aktionen, die ich für diese Regel verwendet habe, sind: Schließen
Dies liegt an der Art und Weise, wie mein TeamViewer eingerichtet ist. Dadurch wird das Hauptfenster geschlossen und es wird in meiner Taskleiste ausgeführt.
Obwohl es jetzt in der Taskleiste ausgeführt wird ... Wenn ich es anzeigen möchte, kann ich nicht auf das Symbol klicken und „TeamViewer anzeigen“ auswählen, da es sich sonst einfach öffnet und wieder schließt. Ich muss gDevilspie beenden, um das Programm zu öffnen/anzuzeigen. Denken Sie daran.
Antwort2
Erweiterung aufwas @JohnOrion gepostet hat, ich habe eine Lösung, die zuverlässiger ist. Anstatt die Fenster von TeamViewer immer zu beenden, schließt es die beiden Fenster einfach beim Programmstart und hört dann auf, sie in Zukunft zu schließen. So müssen Sie vorgehen:
Installieren
devilspie
undprocmail
.sudo apt-get install devilspie procmail
Schreiben Sie dies in
~/.devilspie/TeamViewer.ds
:(if (or (and (is (application_name) "TeamViewer") (is (window_name) "TeamViewer") ) (and (is (application_name) "Computers & Contacts") (is (window_name) "Computers & Contacts") ) ) (begin (close) (spawn_async "~/bin/teamviewer/tvwindow") ) )
Erstellen Sie ein Verzeichnis, in dem Sie einige Skripte ablegen möchten. Ich habe gewählt
~/bin/teamviewer
, aber Sie können wählen, was Sie möchten. Wenn Sie dieses Verzeichnis ändern, stellen Sie sicher, dass Sie es auch im Skript in Schritt 2 ändern.mkdir -p ~/bin/teamviewer
Schreiben Sie diesen Inhalt in
~/bin/teamviewer/tvwindow
(ändern Sie bei Bedarf auch hier das Verzeichnis):#!/usr/bin/env bash source "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/vars" lockfile teamviewerstartup.lock # read remaining windows REMAINING_WINDOWS=$(cat "$REMAINING_WINDOWS_FILE") REMAINING_WINDOWS_NOW=$(($REMAINING_WINDOWS - 1)) if [ $REMAINING_WINDOWS_NOW -eq 0 ]; then # TeamViewer has started up completely, kill devilspie kill $(cat "$DEVILSPIE_PID_FILE") # Also remove temporary files rm -f "$DEVILSPIE_PID_FILE" rm -f "$REMAINING_WINDOWS_FILE" else # One or more windows to go, write the decremented value to the file echo -n "$REMAINING_WINDOWS_NOW" > "$REMAINING_WINDOWS_FILE" fi rm -f teamviewerstartup.lock
Schreiben Sie diesen Inhalt in
~/bin/teamviewer/tvminimizedstart
(ändern Sie bei Bedarf auch hier das Verzeichnis):#!/usr/bin/env bash source "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/vars" nohup devilspie > /dev/null 2>&1 & DEVILSPIE_PID=$! lockfile teamviewerstartup.lock # Write PID of devilspie process echo -n "$DEVILSPIE_PID" > "$DEVILSPIE_PID_FILE" # Set remaining to be closed windows to 2 echo -n "2" > "$REMAINING_WINDOWS_FILE" rm -f teamviewerstartup.lock nohup teamviewer >/dev/null 2>&1 &
Schreiben Sie diesen Inhalt in
~/bin/teamviewer/vars
(ändern Sie bei Bedarf auch hier das Verzeichnis):#!/usr/bin/env bash DEVILSPIE_PID_FILE="$HOME/bin/teamviewer/devilspiepid" REMAINING_WINDOWS_FILE="$HOME/bin/teamviewer/remaining-windows"
Machen Sie sie ausführbar.
chmod +x ~/bin/teamviewer/tvwindow ~/bin/teamviewer/tvminimizedstart ~/bin/teamviewer/vars
So verwenden Sie diese Lösung, führen Sie das tvminimizedstart
Skript aus:
~/bin/teamviewer/tvminimizedstart