TeamViewer の GUI を起動した後、正常に接続できる TeamViewer が動作しています。しかし、残念ながら、TeamViewer の GUI が起動していないと、コンピューターに接続できません。入手できるすべてのドキュメントでは、TeamViewer デーモンを実行するだけで、teamviewerd
マシンにリモート接続できるとされていますが、私の場合はそうではないようです。
TeamViewer GUIなし(teamviewerdのみ)
出力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
出力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
TeamViewer GUIを起動すると
出力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
出力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
ご覧のとおり、GUI を起動すると、デーモンのみの場合とは異なり、2 つの接続が確立されます。
答え1
私も同じ問題を抱えており、プログラム自体に問題がある可能性があることがわかりました。私の解決策は、Ubuntu で利用できる gDevilspie というプログラムを使用することです。
メイン ウィンドウと連絡先リストを非表示にするには、プログラムで 2 つのルールを設定する必要があります。
TeamViewerの設定方法は次のとおりです
私が使用した設定は次のとおりです:
TeamViewerの場合:
application_name equals Computers & Contacts
window_name equals Computers & Contacts
スクリーンショットにはそのウィンドウのアクションが表示されます
TeamViewer2の場合:
application_name equals TeamViewer
window_name equals TeamViewer
このルールで使用したアクションは次のとおりです: 閉じる
これは私の TeamViewer の設定方法です。これによりメイン ウィンドウが閉じられ、トレイ内で実行されたままになります。
トレイで実行されているにもかかわらず、表示したい場合、アイコンをクリックして TeamViewer を表示を選択することができません。そうしないと、ただ開いて閉じるだけです。プログラムを開いたり表示したりするには、gDevilspie を停止する必要があります。その点に注意してください。
答え2
拡大する@JohnOrionが投稿したものより信頼性の高い解決策があります。TeamViewer のウィンドウを常に終了するのではなく、プログラムの起動時に 2 つのウィンドウを閉じ、それ以降は閉じないようにします。必要な操作は次のとおりです。
インストール
devilspie
してprocmail
。sudo apt-get install devilspie procmail
これを次のように書きます
~/.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") ) )
いくつかのスクリプトを配置するディレクトリを作成します。 を選択しました
~/bin/teamviewer
が、好きなものを選択できます。このディレクトリを変更する場合は、手順 2 のスクリプトでも必ず変更してください。mkdir -p ~/bin/teamviewer
これらの内容を次の場所に書き込みます
~/bin/teamviewer/tvwindow
(必要に応じてディレクトリを変更してください)。#!/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
これらの内容を次の場所に書き込みます
~/bin/teamviewer/tvminimizedstart
(必要に応じてディレクトリを変更してください)。#!/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 &
これらの内容を次の場所に書き込みます
~/bin/teamviewer/vars
(必要に応じてディレクトリを変更してください)。#!/usr/bin/env bash DEVILSPIE_PID_FILE="$HOME/bin/teamviewer/devilspiepid" REMAINING_WINDOWS_FILE="$HOME/bin/teamviewer/remaining-windows"
実行可能にします。
chmod +x ~/bin/teamviewer/tvwindow ~/bin/teamviewer/tvminimizedstart ~/bin/teamviewer/vars
このソリューションを使用するにはスクリプトを実行しますtvminimizedstart
:
~/bin/teamviewer/tvminimizedstart