У меня есть рабочий TeamViewer, который я могу успешно подключить с тем, после того, как я запустил GUI TeamViewer. К сожалению, хотя, я не могу соединиться со своим компьютером, когда GUI TeamViewer не запущен. Вся документация, которая может быть найдена там, предполагает что, выполняя демона TeamViewer 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 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 заставляет два соединения становиться установленными, в отличие от этого, только с демоном.
Подробно останавливаясь на том, какой отправленный @JohnOrion, у меня есть решение, которое более надежно. Вместо того, чтобы всегда уничтожить окна TeamViewer, это просто закрывает эти два окна при запуске программы и затем прекращает закрывать их в будущем. Вот то, что необходимо сделать:
Установка 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
Я имею эту проблему также и нашел, что это может быть с самой программой. Мое решение состояло в том, чтобы использовать программу, доступную в Ubuntu, названной gDevilspie.
необходимо будет установить два правила в программе для сокрытия главного окна и списка контактов.
Вот то, как я настроил TeamViewer
, вот настройки, которые я использовал:
Для TeamViewer:
application_name equals Computers & Contacts
window_name equals Computers & Contacts
снимок экрана показывает действия для того окна
Для TeamViewer2:
application_name equals TeamViewer
window_name equals TeamViewer
действия, которые я использовал для этого правила: близко
Это для пути мой TeamViewer является установкой.. это закроет главное окно и оставит его находящийся в моем выполнении лотка.
Теперь даже при том, что это находится в выполнении лотка... Если я хочу просмотреть его, я не могу нажать на значок и выбрать Show TeamViewer, или это просто откроется и закроется снова. Я должен остановиться, gDevilspie для открытия / просматривают программу.. просто имейте это в виду