Я использую Ubuntu 18.04 LTS и Windows 10 PC с версией Synergy: 1.11.1rc2-4a90760e. На клиенте Windows он автоматически запускается перед входом в систему и работает нормально. Мой сервер ubuntu не имеет функции автозапуска, и я хотел бы добавить его, чтобы иметь возможность войти в Windows еще до входа в Ubuntu.
Я попробовал несколько решений безрезультатно. Наконец, я решил создать сервисный файл, который вызывает сценарий запуска приложения. Проверка состояния сервиса:
Loaded: loaded (/etc/systemd/system/synergy@justech.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-02-11 08:09:05 EAT; 36min ago
Main PID: 1021 (synergysauto)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/system-synergy.slice/synergy@justech.service
├─1021 /bin/bash /usr/local/bin/synergysauto
└─1064 synergys -f -d INFO --name Hp -c /etc/synergy.conf -a 10.42.0.1:45000 --log /var/log/synergy.log
Feb 11 08:41:47 Delta synergysauto[1021]: [2021-02-11T08:41:47] INFO: switch from "Lenovo" to "Hp" at 1361,196
Feb 11 08:41:47 Delta synergysauto[1021]: [2021-02-11T08:41:47] INFO: entering screen
Feb 11 08:41:48 Delta synergysauto[1021]: [2021-02-11T08:41:48] INFO: switch from "Hp" to "Lenovo" at 0,289
Feb 11 08:41:48 Delta synergysauto[1021]: [2021-02-11T08:41:48] INFO: leaving screen
Feb 11 08:42:08 Delta synergysauto[1021]: [2021-02-11T08:42:08] INFO: switch from "Lenovo" to "Hp" at 1355,401
Feb 11 08:42:08 Delta synergysauto[1021]: [2021-02-11T08:42:08] INFO: entering screen
Feb 11 08:42:09 Delta synergysauto[1021]: [2021-02-11T08:42:09] INFO: switch from "Hp" to "Lenovo" at 0,251
Feb 11 08:42:09 Delta synergysauto[1021]: [2021-02-11T08:42:09] INFO: leaving screen
Feb 11 08:44:57 Delta synergysauto[1021]: [2021-02-11T08:44:57] INFO: switch from "Lenovo" to "Hp" at 1364,586
Feb 11 08:44:57 Delta synergysauto[1021]: [2021-02-11T08:44:57] INFO: entering screen
~
Проверка служебного файла:
[Unit]
Description=Synergy Server
After=network.target
[Service]
ExecStart=/usr/local/bin/synergysauto
Restart=on-failure
User=%i
[Install]
WantedBy=multi-user.target
Файл запуска synergys инициируется как процесс, как видно из вывода состояния сервиса, и выглядит следующим образом:
#!/bin/bash
# use the following defined address and configuration file.
# The option --daemon runs the process in the background
# Use Hp as the server name instead of the hostname
# Execute
synergys -f -d INFO --name Hp -c /etc/synergy.conf -a 10.42.0.1:45000 --log /var/log/synergy.log
# Exit status
exit 0
Теперь все работает нормально, за исключением того, что сервер не может получить доступ к основному экрану при выходе из системы.
Я подтвердил это в виртуальной консоли, доступ к которой был получен перед входом в GUI. В файле журнала синергии было сообщение 'ПРЕДУПРЕЖДЕНИЕ' о том, что нельзя покидать экран Hp в Lenovo
, которые являются моими экранами, установленными в конфигурационном файле. Если вы внимательно проверите, вы увидите, что я должен быть зарегистрирован как определенный пользователь в GUI для синергии, чтобы получить доступ к основному X Server
. Сервис запускается с помощью команды sudo systemctl start synergies@$(whoami)
и включается с помощью команды sudo systemctl enable synergies@$(whoami)
.
Как запустить сервер с помощью менеджера дисплеев? Заранее спасибо.
После подробного исследования я прибыл в свет по этому вопросу. Synergy использует X Server и Чтобы запустить перед входом в систему, нам нужно позволить Manager Display Manager начать службу. Для достижения этого мы должны создать и редактировать:
edit;
/etc/gdm3/Init/Default
/etc/gdm3/PostLogin/Default
create a session file:
/etc/X11/Xsession.d/85synergys
Файл сеанса подтверждает, что он отвечает за усталость на сервер, когда создается сеанс входа пользователя пользователя. Однако DGM3 не запускает сервер перед входом в систему и после выхода. Я звоню за помощью, чтобы улучшить этот ответ, пожалуйста.
Рекомендации: