Usando o Ubuntu 16.04.2 (Xenial) no Intel x64 : {o processador e o Ubuntu instalam}
Esta pergunta foi respondida um milhão de vezes, mas nenhuma das soluções funciona. Portanto, não quero duplicar uma pergunta, mas ela não foi respondida.
Quando eu ligo um terminal e sudo -i
, o seguinte comando funciona exatamente como o esperado.
`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`
Sou capaz de utilizar o programa para esse fim. No entanto, eu quero que isso seja feito automaticamente antes de login para que eu possa utilizá-lo de propósito a partir da tela de login. (O Synergy permite que você use um teclado e mouse em vários computadores, quase como um KVM virtual, mas em vez de pressionar interruptores, basta girar o mouse para a próxima tela, como se todos estivessem conectados a uma placa gráfica.
A primeira coisa que tentei foi 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
Portanto, é definitivamente executável, mas após a reinicialização do PC:
~~~ 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`
No entanto, ele não está fazendo o que deveria, até mesmo diálogos de unidade estão sendo chamados dizendo que algo deu errado, o que só acontece quando isso é executado, então posso assumir com segurança que é isso.
Minha suposição mais segura é que o programa está sendo executado muito bem, o problema é que o rc.local é executado antes do início da sessão x, para que quaisquer ganchos no teclado e no mouse nunca sejam estabelecidos, o que provavelmente também é feito apenas no início de execução synergyc
e não tentada novamente além desse ponto.
A segunda coisa que tentei foi "Aplicativos de inicialização", funciona, mas não até depois do login, que não é o que queremos que ocorra aqui.
Se minha suposição estiver correta:
O que é uma maneira de chamar a execução de um processo após a inicialização do servidor x, mas antes que qualquer usuário precise fazer o login.
Se minha suposição não estiver correta:
.xinitrc
?
/etc/gdm/Init/Default
e para o Unity você precisa adicionar um script/etc/init/lightdm.conf
.