在Intel x64上使用Ubuntu 16.04.2(Xenial):{处理器和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
因此它绝对是可执行文件,但是在重新启动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`
但是,它并没有按照预期的那样运行,甚至被称为统一对话框的消息说出了问题,这种情况仅在执行时才发生,所以我可以放心地假设是这样。
我最安全的假设是程序正在正常运行,问题在于rc.local在x会话开始之前运行,因此从未建立任何与键盘和鼠标的钩子,这也很可能仅在x的开始进行执行synergyc
并在此之后不再尝试。
我尝试过的第二件事是“启动应用程序”,它可以工作,但是要等到登录后才能使用,这不是我们想要在此处进行的工作。
如果我的假设是正确的:
在x服务器启动之后但在任何用户必须登录之前,调用进程执行的方法是什么。
如果我的假设不正确:
.xinitrc
?
/etc/gdm/Init/Default
,对于Unity 可能需要向中添加脚本/etc/init/lightdm.conf
。