การใช้Ubuntu 16.04.2 (Xenial)บนIntel x64 : {ทั้งโปรเซสเซอร์และการติดตั้ง 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
ดังนั้นมันจึงรันได้แน่นอน แต่เมื่อรีบูตเครื่องพีซี:
~~~ 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 ดังนั้นตะขอใด ๆ บนแป้นพิมพ์และเมาส์จะไม่ถูกสร้างขึ้น การดำเนินการของsynergyc
และไม่พยายามอีกครั้งเกินกว่าจุดนั้น
สิ่งที่สองที่ฉันลองคือ "แอปพลิเคชันเริ่มต้น" ใช้งานได้ แต่ไม่ได้จนกว่าจะเข้าสู่ระบบหลังจากซึ่งไม่ใช่สิ่งที่เราต้องการดำเนินการที่นี่
หากข้อสันนิษฐานของฉันถูกต้อง:
วิธีเรียกการดำเนินการของกระบวนการคืออะไรหลังจากเซิร์ฟเวอร์ x ทำงาน แต่ก่อนที่ผู้ใช้จะต้องลงชื่อเข้าใช้
หากข้อสันนิษฐานของฉันไม่ถูกต้อง:
.xinitrc
รึเปล่า?
/etc/gdm/Init/Default
/etc/init/lightdm.conf