Запустите 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-адрес клиента и номер порта.