Запустите Synergy (или любое другое приложение) ДО входа в Ubuntu 16.04.2 LTS

Использование Ubuntu 16.04.2 (Xenial) на Intel x64: {Установка процессора и Ubuntu}

На этот вопрос ответили миллион раз, но ни одно из решений не сработало. Поэтому я не хочу дублировать вопрос, но на него не было ответа.

Когда я запускаю терминал и sudo -i Следующая команда работает так же, как и ожидалось.

`root@user-pc:~# /usr/bin/synergyc -f --no-tray --debug INFO --name 
 user-pc 192.168.xxx.xxx:24800
 [2017-05-23T09:20:44] NOTE: started client
 [2017-05-23T09:21:01] NOTE: connecting to '192.168.5.100': 
 192.168.5.100:24800
 [2017-05-23T09:21:01] NOTE: connected to server`

Затем я могу использовать программу для своих целей. Однако я хочу, чтобы это было сделано автоматически перед входом в систему, чтобы я мог использовать его назначение на экране входа в систему. (Synergy позволяет использовать одну клавиатуру и мышь на нескольких компьютерах, почти как виртуальный KVM, но вместо нажатия переключателей вы просто перемещаете мышь прямо на следующий экран, как если бы они все были подключены к одной видеокарте)

Первое, что я попробовал, был rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exec /usr/bin/synergyc -f --no-tray --debug INFO --name user-pc 192.168.5.100:24800

exit 0

~~~ ls /etc/rc.local -l :

-rwxr-xr-x 1 root root 390 May 22 20:56 /etc/rc.local

Так что это определенно исполняемый файл, но после перезагрузки ПК:

~~~ ps aux | grep syner :

`root  990  0.0  0.0  63656  5372 ?  Ssl  09:33  0:00 
 /usr/bin/synergyc -f --no-tray --debug INFO --name user-pc 
 192.168.5.100:24800`

Однако он не делает то, что должен, даже диалоги единства называются, говоря, что что-то пошло не так, что происходит только тогда, когда это выполняется, так что я могу смело предположить, что это так.

Мое самое безопасное предположение состоит в том, что программа запускается просто отлично, проблема в том, что rc.local запускается до начала сеанса x, поэтому никакие подключения к клавиатуре и мыши никогда не устанавливаются, что также, вероятно, выполняется только в начале исполнение synergyc и не пытался снова после этого.

Второе, что я попробовал, было "Startup Applications", оно работает, но только после входа в систему, а это не то, что мы хотим здесь.

Если мое предположение верно:

Какой способ вызвать выполнение процесса после запуска сервера x, но перед тем, как любой пользователь должен войти в систему.

Если мое предположение неверно:

2 ответа

Решение

Для 16.04.2 создайте следующий файл (он не существует)

/etc/lightdm/lightdm.conf

с содержанием:

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --name <hostname> 192.168.x.x

Следуйте этому руководству Ubuntu Wiki для получения дополнительной информации.


РЕДАКТИРОВАТЬ:

От man synergyc:

НАЧАЛО АВТОМАТИЧЕСКИ...

варианты не должны включать -f или же --no-daemon, Важно убедиться, что старые копии синергии не работают, чтобы они не мешали новой.

Зайдите в свой стартап.. для новичков, как я, сделайте это так:

  • "поиск на вашем компьютере" введите в начало, нажмите на автозагрузку приложений
  • нажмите кнопку Добавить

    • Название: Синергия
    • Команда: просмотрите, если вам нравится, но его / usr / bin / synergy

    Вот и все, НЕ ДОБАВЛЯЙТЕ ЛЮБОЙ "С", ничего до конца синергии.

Теперь у меня также запущен скрипт, потому что мне лень его удалять.. так что оба есть.

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --MediaServer 192.168.2.253:port

теперь найти порт интересно, это не порт по умолчанию, так что делайте этот тип в терминале

netstat  -atn

теперь, как я обнаружил, это выглядит для вашего сервера IP... Я знаю, что мой сервер SYNERGY IP, так прямо напротив него мой IP-адрес клиента и номер порта.

Другие вопросы по тегам