在启动时启动协同作用?


17

我使用协同作用。我希望在开启计算机后立即开始协同工作。我怎么做?

首先synergy,命令是:

synergys --config ~/.synergy.conf

Answers:


10

选项1:登录前启动协同作用

主要文章在Synergy的sourceforge网站上: 自动启动synergy

这是本文的引言...这里有太多细节不能全部包含:

Synergy需要X服务器。这意味着服务器必须正在运行,并且必须授权协同作用才能连接到该服务器。最好让显示经理开始协同合作。您将需要必要的(可能是root)权限来修改显示管理器配置文件。如果您没有该权限,则可以在通过.xsession文件登录后启动协同作用。

选项2:登录后开始协同作用

登录X会话后即可启动Synergy。

Main Menu - System - Preferences - Startup Applications   
[ Add ]  
  Name:     synergys
  Command:  synergys --config ~/.synergy.conf
  Comment:  synergys  

如果您对遇到问题~/,请尝试$HOME/
或作为最后的选择/home/your_username/

我刚刚检查了笔记...从Windows连接到Linux盒时,我的命令是:
/usr/bin/synergyc 192.168.1.16
...也许需要完整路径。

您将Synergy作为服务器运行,而我将其作为客户端运行..但这不会影响自动启动。


1
(注意:这将使Synergy在您登录时运行,而不是在计算机打开时运行。这可能对您没有影响,但有所不同...)
8128

1
啊哈..感谢fluteflute ..总有一些瘦:)
Peter.O

看来这个答案已经过时了。GDM已被Lightdm取代,并且启动应用程序应用程序已不再在Ubuntu中使用。可能值得更新答案或选择以下答案作为正确答案。
大卫·普拉内拉2013年

对我不起作用
SwimBikeRun 2013年

我已经完成了协同页面中所说的所有操作,但是运行此命令时出现此错误:/ Library / StartupItems / Synergy / Synergy start
Mohammad_Hosseini 2014年

15

对于使用lightdm的较新版本的Ubuntu。

在登录后以及登录后,我已成功完成以下操作以运行Synergy客户端。它比其他答案(恕我直言)要简单得多。

以根用户身份编辑/etc/lightdm/lightdm.conf。

sudo vi /etc/lightdm/lightdm.conf

将以下行添加到文件的底部。

greeter-setup-script=/usr/bin/synergyc <ip/host>

重新启动lightdm。(最好从终端或ssh会话中执行此操作)

sudo /etc/init.d/lightdm restart

8

对于Ubuntu 14.04(可能还有其他人,我认为14.04是将lightdm更改为这种格式的第一个版本,但这将适用于使用此设置的任何版本),您只需编辑50-ubuntu.conf即可获得Synergy。在lightdm之前:

sudo nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

对于客户端,请添加以下行:

greeter-setup-script=/usr/bin/synergyc <OPTIONS> <SERVER HOSTNAME>

对于服务器,请添加以下行:

greeter-setup-script=/usr/bin/synergys -c <CONFIG FILE>

编辑并重新启动后保存文件(我知道您可以重新启动服务而不是重新启动,但我愿意重新启动)。

对于Server或Client,只需插入要在终端中输入的命令,即可使用适当的选项等启动它。

可以这么说,我通常在客户端计算机的终端中执行以下命令以运行Synergy。

synergyc -n XBMC 192.168.1.99

运行Synergy pre lightdm所需要做的就是将下面的行添加到50-ubuntu.conf中

greeter-setup-script=/usr/bin/synergyc -n XBMC 192.168.1.99

希望这会有所帮助,因为Synergy文档有些过时了。请享用!

参考


0

我尝试了凯文(Kevin)的答案,虽然起初似乎很奏效,但是后来我开始出现一些古怪的行为。我尝试使用session-setup-script杀死root的协同作用,并以〜/ .xprofile中的用户身份启动它,但是这种古怪的态度仍在继续。最终放弃了,从lightdm.conf中删除了条目,并在直接登录后以〜/ .xprofile中的用户身份保留了开始。并不完美,但是至少奇怪的行为停止了。


0

我已经成功使用上面的Kevins方法使它工作了。我的Ubuntu计算机(12.04)被配置为客户端,而Windows计算机(Win7)是服务器。

sudo vi /etc/lightdm/lightdm.conf

greeter-setup-script=/usr/bin/synergyc <ip>

保存并重新启动。

我必须指定IP,即使我登录到Ubuntu计算机后也可以通过主机名与Windows计算机通信,但它不能使用主机名(Ubuntu客户端不在Windows域上)。


0

编辑:更新了更好的做法,与不破坏/ usr / share中的文件有关,后者会破坏软件包更新

服务器:

我已经使用了与其他答案相同的步骤,但是我通常通过脚本运行,并且启用了加密(即使加密不是密封的,但总是会改进)。

注意:对于至少14.04,请使用/etc/lightdm/lightdm.conf.d/,而不要使用JohnRB答案中的/ usr / share中的那个。

以根用户身份编辑/etc/lightdm/lightdm.conf或lightdm.conf.d中的特定于协同作用的文件。

sudo nano /etc/lightdm/lightdm.conf

要么

sudo nano /etc/lightdm/lightdm.conf.d/20-synergy.conf

将以下行添加到其中一个文件的底部。不要忘记在任何地方使用chmod + x脚本。

greeter-setup-script=/home/<user>/<pathToScript>/start-synergy.sh
session-setup-script=/home/<user>/<pathToScript>/start-synergy.sh

如果您不想使用脚本,则为绝对最小值:

/usr/bin/synergys :24800

如果没有提供路径,并且您必须具有有效的配置,Synergy会在以下位置搜索其配置,否则它将失败。

/home/<your_user>/.synergy.conf
/etc/synergy.conf

重新启动lightdm。(最好从终端或ssh会话中执行此操作)

sudo /etc/init.d/lightdm restart

启动协同

#!/bin/bash -x
/usr/bin/killall synergys
while [ $(pgrep -x synergys) ]; do sleep 0.1; done
/usr/bin/synergys --name $HOSTNAME --crypto-pass <your_hashed_pass> --log /var/log/synergy.log --config /home/<YOUR_USER>/.synergy.conf --address :24800

脚本突破

消除协同作用,这样我们就不会在重新启动之间运行多个副本

/usr/bin/killall synergys

等到该过程实际上终止后,再暂停片刻

while [ $(pgrep -x synergys) ]; do sleep 0.1; done

这是我建议的最低要求

/usr/bin/synergys --name <hostname_or_alias> --address :24800

其他可选参数

您保存的配置的路径

--config /home/<your_user>/.synergy.conf

如果要使用加密,要生成哈希密码,请运行以下命令:

echo -n <yoursynergypassword>|md5sum

输出将如下所示,从末尾删除破折号'-':

0a137b375cc3881a70e186ce2172c8d1 -

输入如下:

--crypto-pass <your_hashed_pass>

记录日志以查看是否存在握手错误或其他错误

--log /var/log/synergy.log  
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.