在登录屏幕上启动 Crunchbang 中的 Synergy

在登录屏幕上启动 Crunchbang 中的 Synergy

我正在使用 Crunchbang Linux 和 Openbox,并且希望拥有 Synergy(http://synergy-foss.org/) 在登录屏幕自动启动。

我尝试了以下方法:https://wiki.archlinux.org/index.php/Synergy然而我对 Linux 还不太熟悉,不太清楚应该如何去做。

有任何想法吗?

编辑:

我希望它是客户端。

使用连接到它的键盘和鼠标手动登录并将 Synergy 添加到 autostart.sh 后,我可以让它工作

我希望 Synergy 在登录之前启动,这样我就不必将键盘和鼠标连接到计算机即可登录

答案1

Openbox 使用 ~/.config/openbox/autostart.sh 文件来启动文件。您可以从此文件中添加或删除内容。

在 #! 中,您可能需要注释掉其中包含 cb-fortune 的行,以删除烦人的“Statler Says”消息。

由于您使用的是 #!,因此有一种简单的方法可以获取此配置。按SUPER+ SPACE,然后转到 SETTINGS > OPENBOX CONFIG > EDIT AUTOSTART.SH

在底部,添加一行synergyc server-host-name &,将 server-host-name 替换为... 嗯... 服务器主机名,保存,然后使用 SETTINGS > OPENBOX CONFIG > RESTART 重新启动

答案2

您可以将其添加到 /etc/rc.local

sudo nano /etc/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.

## Synergy Test thingy
echo "Starting Synergy Client"
synergyc lolhosttest

exit 0

如果您切换到 TTY1(ctrl + alt + f1),您将看到它在提示登录之前的最后一件事是“正在启动 Synergy 客户端”。如果您通过 tty 登录,然后执行 top 或 htop,您将看到它正在运行。由于 openbox 未启动,因此显然 autostart.sh 与它无关。

答案3

我发现唯一的方法是vi /etc/slim.conf设置默认用户并启用自动登录:

default_user    yomomma

...

auto_login    yes

然后vi .config/openbox/autostart添加您的 synergy 命令。(专业提示:对于 synergy 的最新版本,您只需将其添加synergy &到自动启动文件中,它就会打开 GUI、连接,并且(如果您选中“编辑”>“设置”>“启动时隐藏”框)成功时图标化!)

这不是最好的,你应该能够编写一个由 rc.local 启动的脚本并等待,直到有一个 X 服务器/WM/任何可以连接(可能只是类似while ! synergyc --no-restart --enable-crypto theserverip; do sleep 1; done?的东西),但这在紧急情况下有效。

答案4

我没有找到完整的解决方案,所以做了这个,与 synergy home 分开。Ubuntu 19.10 带有 Lubuntu 桌面。结果 synergy 客户端在重启后自动启动并在登录屏幕上工作。

1.

[Unit]
Description=Synergy Service
Requires=display-manager.service
After=display-manager.service

[Service]
Type=simple
Restart=always
RestartSec=3
ExecStartPre=/bin/bash -c "sleep 10; /bin/systemctl set-environment SDDMXAUTH=$(/usr/bin/find /var/run/lightdm/ -type f)"
ExecStart=/bin/bash -c "XAUTHORITY=${SDDMXAUTH} /usr/bin/synergyc -f --restart --name YOURCLIENTNAME --enable-crypto SRVPCNAME:24800"

[Install]
WantedBy=graphical.target

您需要在 /var/run/ 中更改显示管理器...

  1. systemctl daemon-reload systemctl enable synergy

  2. 另外,我遇​​到了指纹问题,因此我将文件从我的用户 /home/user/.synergy/SSL/Fingerprints/TrustedServers.txt 复制到 root 的用户主目录。

相关内容