उबंटू 16.04.2 LTS में सिनर्जी (या कोई भी एप्लिकेशन) शुरू करें


14

Intel x64 पर Ubuntu 16.04.2 (Xenial) का उपयोग करना : {प्रोसेसर और उबंटू दोनों इंस्टॉल करें}

इस सवाल का जवाब एक लाख बार दिया गया है, लेकिन कोई भी समाधान काम नहीं करता है। इसलिए मैं एक प्रश्न की नकल नहीं करना चाहता, लेकिन इसका उत्तर नहीं दिया गया है।

जब मैं एक टर्मिनल को आग लगाता हूं और 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`

मैं तब इस उद्देश्य के लिए कार्यक्रम का उपयोग करने में सक्षम हूं। हालाँकि, मैं चाहता हूं कि लॉगिन से पहले यह स्वचालित रूप से हो जाए ताकि मैं लॉगिन स्क्रीन से इसका उपयोग कर सकूं । (सिनर्जी आपको कई कंप्यूटरों में एक कीबोर्ड और माउस का उपयोग करने की अनुमति देता है, लगभग एक आभासी 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`

हालाँकि यह वह नहीं कर रहा है जो इसे माना जाता है, यहां तक ​​कि एकता के संवाद भी कहे जा रहे हैं कि कुछ गलत हो गया है, जो केवल तब होता है जब यह निष्पादित होता है, इसलिए मैं सुरक्षित रूप से मान सकता हूं कि यह है।

मेरी सबसे सुरक्षित धारणा यह है कि यह कार्यक्रम ठीक-ठीक चलाया जा रहा है, समस्या यह है कि r.local पहले x सत्र से पहले चलाया जाता है ताकि कीबोर्ड और माउस को कोई भी हुक कभी भी स्थापित न हो, जो संभवतः केवल शुरुआत में ही किया जाता है निष्पादन synergycऔर उस बिंदु से परे दोबारा प्रयास नहीं किया गया।

दूसरी चीज़ जो मैंने कोशिश की वह थी "स्टार्टअप एप्लिकेशन", यह काम करता है, लेकिन लॉगिन के बाद तक नहीं, जो कि हम यहां नहीं चाहते हैं।

अगर मेरी धारणा सही है:

X सर्वर के उठने के बाद किसी प्रक्रिया को निष्पादित करने का एक तरीका क्या है, लेकिन इससे पहले कि किसी भी उपयोगकर्ता को लॉगिन करना पड़े।

अगर मेरी धारणा सही नहीं है:

मदद


1
संभवतः gdm के लिए आपको आवश्यकता है /etc/gdm/Init/Defaultऔर एकता के लिए आपको एक स्क्रिप्ट जोड़ने की आवश्यकता है /etc/init/lightdm.conf
रिनविंड

@Rinzwind lightdm.conf अभी भी बहुत जल्दी है, यहां तक ​​कि इसके बाद के प्रारंभ खंड में, समान कमांड का उपयोग करके तालमेल त्रुटियों को समाप्त करता है जो टर्मिनल से पूरी तरह से ठीक काम करता है। Ubuntu एक त्रुटि कहती है कि तालमेल अप्रत्याशित रूप से बंद हो जाता है, संभावना है कि यह हुक और कीबोर्ड और माउस को नियंत्रित करने के लिए अभी तक हुक की आवश्यकता नहीं कर सकता है, इसे सही होने की आवश्यकता है जब लॉगिन स्क्रीन प्रदर्शित होती है ताकि सब कुछ पहले से ही ऊपर और चल रहा हो
DeeJayy

बहुत उपयोगी नहीं है, लेकिन शायद थोड़ा आराम - मैं एक दिया (GDM) से पहले लगभग एक साल के लिए इस के साथ संघर्ष किया ... मैंने जो सोचा था कि यह "काम" हो सकता है पर एक समझौता किया: दो उपयोगकर्ता systemd इकाइयों, एक के लिए एक वर्चुअल एक्स-सर्वर लॉगिन (लगता है किओस्क लेकिन नहीं दिखाया गया है), फिर जब कोई वास्तविक उपयोगकर्ता लॉग ऑन करता है तो उसे मारने के लिए ट्रिगर। मेरे उपयोग के मामले के लिए अंत में यह इसके लायक नहीं था, लेकिन शायद यह आपकी मदद करता है। सभी जय हो एसीएमई!
मार्क

अगर मैं गलत नहीं हूँ, तो तालमेल के लिए एक एक्स सर्वर की ज़रूरत होती है, इसलिए यह बिना लॉग इन किए काम नहीं कर सकता
Ziazis

अंधेरे में बस एक जंगली छुरा, लेकिन क्या आपने जोड़ने की कोशिश की है .xinitrc?
अनाम 2

जवाबों:


6

के लिए 16.04.2 निम्नलिखित फ़ाइल बनाने (यह मौजूद नहीं है)

/etc/lightdm/lightdm.conf

सामग्री के साथ:

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --name <hostname> 192.168.x.x

अधिक जानकारी के लिए इस ubuntu wiki गाइड का पालन करें ।


संपादित करें:

से man synergyc:

स्वचालित रूप से शुरू ...

विकल्प शामिल नहीं करना चाहिए -fया --no-daemon। यह सुनिश्चित करना महत्वपूर्ण है कि तालमेल की कोई पुरानी प्रतियां नहीं चल रही हैं ताकि वे नए के साथ हस्तक्षेप न कर सकें।


2
यह वास्तव में बहुत अच्छा है! यह जानने के लिए अच्छा है कि /etc/lightdm/lightdm.confइसे पूरी तरह से जोड़ने के लिए यह पूरी तरह से काम करने के लिए पर्याप्त है। हो सकता है कि केवल ubuntu लिंक को लिंक करने के बजाय उसे जो भी उत्तर देना हो उसे जोड़ें।
ज़ियाजिस

1
यदि आपके पास एक ऑटो लॉगिन है, तो बस अपने स्टार्टअप एप्लिकेशन में तालमेल जोड़ें।
जियाजिस

2
बहुत यकीन है कि यह उबंटू के पुराने संस्करण पर काम करता है, लेकिन खदान पर नहीं। मैंने /etc/lightdm/lightdm.conf बनाया क्योंकि यह मौजूद नहीं था और ऊपर दो पंक्तियों में रखा गया था (बेशक अपनी जानकारी का उपयोग करने के लिए इसे बदलकर) मेरे पास अब तालमेल कनेक्शन है जब स्क्रीन लोड होती है, हालांकि अब मैं नहीं रह गया हूं लॉगिन स्क्रीन प्राप्त करें। यह एक्स कर्सर के साथ सिर्फ एक खाली स्क्रीन है। $ sudo find / -name lightdm.confदेता है /etc/init/lightdm.confऔर /etc/lightdm/lightdm.confबाद वाले होने के साथ मैंने इसे दो-लाइनर के साथ मैन्युअल रूप से बनाया है। Lightdm.conf को हटाकर मैंने इसे वापस काम के क्रम में पुनर्स्थापित कर दिया।
दीजेह

1
मैं पुष्टि कर सकता हूँ कि, यह दृष्टिकोण 16.04.2 को काम करता है!
पा ०४०

1
@SpasSpasov मुझे पता है कि मैं बहुत उत्साहित हूं, मैंने अपनी बारीकियों को प्रतिबिंबित करने के लिए उत्तर बदल दिया, सहकर्मी की समीक्षा पर प्रतीक्षा की।
दीजे

1

अपने स्टार्टअप में जाओ..क्यों मेरे जैसे newbies इसे इस तरह से करते हैं:

  • प्रारंभ में "अपना कंप्यूटर खोजें" प्रकार, स्टार्टअप एप्लिकेशन पर क्लिक करें
  • जोड़ें पर क्लिक करें

    • नाम: सिनर्जी
    • कमांड: ब्राउज़ करें अगर आपको पसंद है लेकिन इसके / usr / बिन / तालमेल

    यही कारण है, तालमेल के अंत तक कोई भी "ग" न जोड़ें।

अब मेरे पास स्क्रिप्ट भी चल रही है क्योंकि मैं इसे हटाने के लिए बहुत आलसी था।

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --MediaServer 192.168.2.253:port

अब पोर्ट को खोजना दिलचस्प है, इसका डिफ़ॉल्ट पोर्ट नहीं है इसलिए टर्मिनल में इस प्रकार का काम करें

netstat  -atn

अब मुझे कैसे पता चला कि यह आपके सर्वर आईपी के लिए लग रहा था ... मुझे पता है कि मेरा SYNERGY सर्वर आईपी इतना सही है कि यह मेरा क्लाइंट आईपी और पोर्ट नंबर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.