2021年7月9日金曜日

Ubuntu 20.04 (gdm) で、synergyc の自動起動設定をする

少しハマったので、メモ。gdm を使っているのが前提。

ログイン画面で synergy が動作するように設定。

# vi /usr/share/gdm/greeter/autostart/synergyc.deskgop
(新規作成して、下記を記述)
[Desktop Entry]
Type=Application
Name=synergyc
Exec=/usr/bin/synergyc IP_ADDRESS
NoDisplay=true
X-GNOME-AutoRestart=true

ログイン時、gdm で起動した synergyc を kill するように設定。

# vi /etc/gdm3/PostLogin
(新規作成して、下記を記述)
#/bin/sh
killall synergyc

モード変更

# chmod 755 /etc/gdm3/PostLogin/Default

ログアウト後、synergy が動作するように設定。

# vi /etc/gdm3/PostSession/Default
(下記のように記述)
#!/bin/sh

# Kill old process
/usr/bin/killall synergyc
while [ $(pgrep -x synergyc) ]; do sleep 0.1; done

# Get the xauthority file GDM uses, setup DISPLAY var and start synergyc again
xauthfile=$(ps aux |grep Xauth | grep '^root' | grep -oP '\-auth \K[\w/]+')
export DISPLAY=:0
export XAUTHORITY=${xauthfile}
/usr/bin/synergyc IP_ADDRESS

exit 0

ログイン時、自動起動するアプリケーションに下記を実行するように追加。

$ vi ~/bin/start-synergy.sh
(下記のように記述)

#!/bin/sh
/usr/bin/killall synergyc
while [ $(pgrep -x synergyc) ]; do sleep 0.1; done
/usr/bin/synergyc IP_ADDRESS

実行権を追加

$ chmod 775 ~/bin/start-synergy.sh

参考: https://stackoverflow.com/questions/67399211/starting-synergy-during-gdm-startup-greeter-in-centos8

■ 2021/09/08 追記 gdm が、Xorg → Wayland に切り替わっていて、ログイン時に synergy が接続できなくなっていた。

# vi /etc/gdm3/custom.conf

(下記のコメントを外す)
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

● Ubuntu, 20.04, gdm, synergy

0 件のコメント: