मैं एक मौजूदा सत्र का पुन: उपयोग करने वाला xrdp सत्र कैसे सेट कर सकता हूं?


57

मैं एक्सडीआरपी का उपयोग करके सटीक पर एक आरडीपी टर्मिनल सर्वर स्थापित करने की कोशिश कर रहा हूं और एक काम करने वाले कॉन्फ़िगरेशन को प्राप्त करने में महत्वपूर्ण परेशानी हो रही है। जब कोई उपयोगकर्ता लॉग ऑन करता है, तो मुझे उस उपयोगकर्ता से कनेक्ट करने की आवश्यकता होती है जो मौजूदा सत्र में मौजूद है, अन्यथा वह एक नया सत्र शुरू कर रहा है, और किसी भी प्रारंभ सत्र को LXDE शुरू करना होगा। कार्य करने के लिए मुझे डिफ़ॉल्ट कॉन्फ़िगरेशन में क्या परिवर्तन करने की आवश्यकता है?


मेरे XRDP कॉन्फिगरेशन पर (डेस्कटॉप सत्रों पर यूनिटी चलाने के लिए और दूरस्थ सत्रों के लिए यूनिटी 2 डी को छोड़कर), एक उपयोगकर्ता के रूप में लॉगिंग करने पर वह अपने पुराने सत्रों को स्वचालित रूप से चुनता है। क्या प्रत्येक उपयोगकर्ता को कनेक्ट होने पर हर बार एक नया सत्र मिल रहा है?
agc93

सबसे अच्छा स्पष्टीकरण / समाधान जो मैंने इंटरनेट पर पाया है वह इस स्थान पर पाया जा सकता है c-nergy.be/blog/?p=2879 इसे आज़माएं मुझे आशा है कि यह जानकारी मदद
करेगी

जवाबों:


46

मुझे यही समस्या थी, और मुझे बस एक आसान समाधान मिला। मैंने मूल रूप से मानक कार्यवाही का उपयोग करके मूल रूप से xrdp स्थापित किया है:

apt-get install xrdp

उसके बाद, आपकी सभी xrdp.ini फ़ाइल के बारे में, जो यहाँ स्थित है:

/etc/xrdp/xrdp.ini

Xrdp की कॉन्फ़िगरेशन फ़ाइल का उपयोग खोलने और संपादित करने के लिए:

sudo nano /etc/xrdp/xrdp.ini

डिफ़ॉल्ट रूप से पहला xrdp सत्र हैंडलिंग स्क्रिप्ट इस तरह दिखता है:

[xrdp1]
name=sesman-vnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

महत्वपूर्ण लाइन है port=-1, यह xrdp को हमेशा कनेक्ट करने के लिए एक मुफ्त पोर्ट की तलाश करता है। यदि आप यहां एक निश्चित पोर्ट सेट करते हैं, तो xrdp हमेशा पीछे जाएगा और उसी सत्र से कनेक्ट होगा। मैंने अपना रूप बदल लिया है इसलिए यह इस तरह दिखता है:

[xrdp1]
name=customsessionname
lib=libvnc.so
username=myusername
password=ask
ip=127.0.0.1
port=5912

Thats यह, मुझे लगता है कि तुम बस को बदलने के साथ दूर हो सकता port=-1है port=5912। मेरा xrdp हमेशा एक ही पोर्ट का उपयोग करके हमेशा मौजूदा सत्र से जुड़ता है।


2
यह समाधान मेरे लिए अच्छी तरह से काम करता है, लेकिन मुझे यह इंगित करना चाहिए कि जो कोई भी उसी मशीन से जुड़ता है, उसे उसी सत्र में मिलेगा, भले ही उस सत्र के तहत किसी और व्यक्ति ने लॉग इन किया हो।
VeeTheSecond

7
केवल तभी काम करता है यदि पहले से ही एक मौजूदा सत्र हो। पहली बार, इसमें कोई सत्र नहीं है, इसलिए यह 5912 पोर्ट से कनेक्ट करने में विफल रहता है।
stu

4
एक ही मुद्दा मिला .. ऐसा लगता है कि डिफ़ॉल्ट रूप से यह 5911port का उपयोग करके एक कनेक्शन खोलने की कोशिश करता है (xrpd कनेक्ट होने पर आप इसे नोटिस कर सकते हैं)। इसलिए मैंने पोर्ट = -1 से पोर्ट = आस्क5911 में बदल दिया। इस तरह से 5911 का उपयोग डिफ़ॉल्ट रूप से किया जाता है, लेकिन कनेक्ट करते समय उपयोगकर्ता / पासवर्ड दर्ज करते समय आप उस पोर्ट को बदल सकते हैं (ताकि त्रुटियों के मामले में कुछ भी पुन: कॉन्फ़िगर करने की आवश्यकता न हो ..)
मैक्सिम

1
यह व्यवहार vnc सर्वर कार्यान्वयन पर सख्ती से निर्भर करता है। Tigervnc का उपयोग करते हुए सेंटोस के तहत, जो हमेशा मौजूदा सत्र में शामिल होता है या पोर्ट = -1 सेटिंग के साथ एक बनाता है। हालाँकि, ubuntu के तहत डिफ़ॉल्ट कसैला है, जिसमें समान व्यवहार नहीं है। बस vnc कार्यान्वयन के साथ खेलते हैं, अगर कुछ भी।
डेनिस एस।

1
डिफ़ॉल्ट पोर्ट 5910 है, Askubuntu.com/a/527975/592751
पेड़ी टी।

16

मैं मौजूदा उत्तर पर सुधार करना चाहता हूं। खुले मतदान को खोजने xrdp.iniके लिए -1वाइल्डकार्ड के स्थान पर पोर्ट को एक निश्चित मूल्य में बदलने के लिए फ़ाइल को संपादित करने के लिए शीर्ष मतदान जवाब था ।

मैंने कोशिश की, लेकिन पहली बार कनेक्ट करने में त्रुटि हुई, इसलिए -1मान पर वापस स्विच करना समाप्त हो गया । हताशा जल्दी से फिर से शुरू नहीं होने के मुद्दे के साथ सेट है, इसलिए मैं फिर से ini फ़ाइल को देखा।

मेरे लिए क्या काम किया था, और वास्तव में सिर्फ कुछ ऐसा था जिसके बारे में मैं उत्सुक था:

संपादित करें /etc/xrdp/xrdp.ini

के तहत [xrdp1]जहां port=-1मैं उपयोगकर्ता नाम देखा और पासवर्ड पूछें करने के लिए निर्धारित किया गया। यदि आप सेट port=askकरते हैं तो आपको पोर्ट चुनने के लिए यूज़रनेम और पासवर्ड के साथ लॉगिन प्रॉम्प्ट पर विकल्प दिया जाएगा।

अतिरिक्त पैकेज स्थापित करने के बजाय, मुझे सबसे आसान फ़िक्स मिला विकल्प विकल्प सेट करने के लिए, FIRST सत्र (यदि मेरे पास पहले से चल रहा नहीं है) को यूज़रनेम और पासवर्ड के साथ लॉगिन पर पोर्ट -1 से कनेक्ट करें।
सत्र को डिस्कनेक्ट करने के बाद, मौजूदा सत्र को फिर से शुरू करने के लिए हमेशा डिफ़ॉल्ट पोर्ट पर लॉग इन करें: 5910 और आप अपने मौजूदा सत्र को फिर से शुरू करेंगे जब तक कि आप दूरस्थ कंप्यूटर को पुनरारंभ नहीं करते हैं या सत्र को समाप्त करते हैं।

संक्षेप में:

  • xrdp.iniफ़ाइल को संपादित करें
  • सेट port = ask
  • दूरस्थ मशीन से कनेक्ट करें, और लॉगिन पर यदि आपके पास कोई मौजूदा सत्र नहीं है, तो पोर्ट निर्दिष्ट करें -1
  • एक सत्र को फिर से शुरू करने के लिए डिफ़ॉल्ट दर्ज करें 5910

मेरे लिए काम किया। हालाँकि मुझे 5910 के बारे में याद नहीं होगा।
1983 में वेसेंटो

7
मैं प्रवेश को सफलतापूर्वक बदलने में सक्षम था: [xrdp1]। । । port = ask5910 यह पोर्ट को 5910 में डिफॉल्ट करता है, इसलिए आपको इसे याद रखने की जरूरत नहीं है, जैसे कि वेसेंटो ने कहा (मैं इसे या तो कभी नहीं याद रखूंगा, वेसेंटो!) लेकिन आपको इसे बदलने का विकल्प भी देता है यदि आप एक नया डेस्कटॉप सत्र स्पॉन करना चाहते थे। 5911 पोर्ट पर, मैंने इसे Ubuntu 16.04 पर परीक्षण किया।
18

2
^ यही सबसे अच्छा समाधान है जो मैंने भी पाया है।
नाच - मोनिका

नए सिरे से बूट किए गए Rpi3 पर मैंने पोर्ट -1 के साथ एक नया सत्र शुरू किया और मैं फिर एक अलग कंप्यूटर के साथ आया और पोर्ट 5910 का उपयोग किया - इसने उसी सत्र को उठाया। जब आप चीजों को एक कंप्यूटर पर ले जाते हैं तो आप देख सकते हैं कि यह दूसरे पर होता है।
एसडीसोलर

यदि आप इसे फिर से करते हैं, लेकिन इसे -1 का पोर्ट नंबर दें तो यह आपको एक नया सत्र देता है।
एसडीसोलर

7

मैं उस आदमी से नफरत करता हूं जो सिर्फ एक लिंक छोड़ता है, लेकिन मैंने यहां गाइड का पालन ​​किया और यह वास्तव में अच्छी तरह से काम किया। मैं अब लिनक्स और विंडोज मेजबानों से एक आरडीपी सत्र में प्रवेश कर सकता हूं और यदि मैंने पहले लॉग इन किया है तो मुझे अपने पुराने सत्र में फिर से जोड़ देगा। यह मैंने पाया स्थापित करने के लिए सबसे अच्छा मार्गदर्शक है। दुर्भाग्य से, मानक पैकेज स्थापित स्रोत से करने की तुलना में बहुत अधिक समस्याएं पैदा करता है।

उस लिंक के लेखक ने इसे स्थापित करने और कॉन्फ़िगर करने के लिए एक स्वचालित उपकरण भी बनाया है, लेकिन मैंने इसकी कोशिश नहीं की है, इसलिए सावधान रहें।

आशा करता हूँ कि उससे आपको मदद होगी।


लिंक प्रदान करने के लिए धन्यवाद। क्या इसका मतलब यह है कि कोई भी काम करने वाला डेबिट पैकेज xrdp के लिए बाहर नहीं निकलता है?
जन

मैंने कुछ समय पहले एक देखा था, लेकिन यह उबंटू के नए संस्करणों के साथ सही ढंग से काम नहीं करता था। जहाँ तक मेरी जानकारी है, उबंटू संस्करणों पर एक्सआरडीपी 10.04 पोस्ट के लिए कोई काम नहीं कर रहा है। निश्चित रूप से गलत साबित होने से खुश, क्योंकि यह विधि निराशाजनक रूप से परेशान है।
agc93

मेरे समाधान की जाँच करें जो ubuntu 12 64bit के लिए स्क्रिप्ट पर सुपर स्वचालित हैhttp://askubuntu.com/questions/190838/how-to-install-x11rdp-on-ubuntu-12-04/190855#190855

मुझे लगता है कि इस सवाल का क्या मतलब है यह .xsessionआपके घर dir में अपनी खुद की फ़ाइल बना रहा है। उदाहरण के लिए, यदि आप gnome-desktop का उपयोग करते हैं, तो रन करेंecho gnome-session >> ~/.xsession
artificerpi

4

समस्या यह है कि xrdp हमेशा एक ही पोर्ट से कनेक्ट नहीं होता है। यदि ऐसा नहीं होता है और आप पोर्ट नंबर भूल जाते हैं, तो आप ssh सत्र लॉगिन कर सकते हैं और संख्या का पता लगा सकते हैं

netstat -tulpn | grep vnc

और आपको निम्न जैसा कुछ मिलेगा

tcp        0      0 127.0.0.1:5911          0.0.0.0:*               LISTEN      5365/Xvnc

और तब आप जानते हैं कि 5911 आप से जुड़ा हुआ बंदरगाह था।


2

xrdp बॉक्स के साथ स्क्रीन पर लॉग ऑन करने पर जब आप पहली बार रिमोट डेस्कटॉप से ​​कनेक्ट करते हैं तो एक ड्रॉप डाउन बॉक्स होना चाहिए, यहां से "vnc-any" चुनें फिर कंप्यूटर और पासवर्ड के आईपी पते पर इनपुट करें लेकिन पोर्ट किस पर छोड़ें यह है, यह मदद करनी चाहिए :)


यह सबसे आसान लगता है और मेरे लिए काम करता है। महान। कोई जटिल स्थापित, संकलित आदि
josef

1

यदि आपको "पासवर्ड विफल" की समस्या का सामना करना पड़ा है, तो आप GitHub में दो मुद्दों पर एक नज़र डाल सकते हैं

पुराने vnc सत्र को फिर से कनेक्ट करें - VNC पासवर्ड विफल

मौजूदा सत्र उठाते समय VNC पासवर्ड विफल रहा

संक्षेप में, वे उल्लेख करते हैं कि पोर्ट नंबर निर्दिष्ट करना अब नवीनतम डिजाइन में काम नहीं करता है।


1

1. मोदीजी आप xrdp.ini:

sudo vi /etc/xrdp/xrdp.ini

2. port=ask-1अपने कनेक्शन नियम में पोर्ट सेटिंग बदलें :

[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1

3. अपने xrdp सेवा को आरंभ करें

sudo service xrdp restart

दूरस्थ डेस्कटॉप द्वारा लॉगिन करते समय आपको निम्न चित्र देखना चाहिए। यहाँ छवि विवरण दर्ज करें

1. पहले लॉगिन पर आप इस पोर्ट नंबर को देख सकते हैं। उदाहरण: 5912: यहाँ छवि विवरण दर्ज करें

यदि आप इस पोर्ट नंबर को भूल जाते हैं, तो आप निम्न कमांड का उपयोग कर सकते हैं:

netstat -peant | grep 59 | grep Xvnc

2. आप अपने पोर्ट नंबर द्वारा अंतिम सत्र को पुनः कनेक्ट कर सकते हैं। यहाँ छवि विवरण दर्ज करें


Ref: http://c-nergy.be/blog/?p=5305


0

मैं एक डेबियन मशीन पर इस समस्या में भाग गया। खेतों में प्रयुक्त X11RDP-ओ-मैटिक 0.7 संकुल xrdp बनाने के लिए। Systemd में अपग्रेड करने से पहले, xrdp सेशन ने ठीक काम किया।

प्रक्रिया के पेड़ को देखकर मैं देख सकता था कि सत्र अब के बच्चे नहीं थे xrdp-sesman। Systemd का उपयोग करते समय अनुमतियाँ समस्या हो गई। Google ने एक पैच पाया जो समस्या को ठीक करता है।

आप एक काम करने वाले पुनर्निर्माण की पहचान कैसे करते हैं? भागो ps axfऔर के लिए प्रक्रिया पेड़ को देखो xrdp-sesmanX11rdp, xrdp-chansrv, xrdp-sessvcसभी को एक बच्चे के रूप में चलना चाहिए। यदि वे नहीं हैं, xrdp-sesmanतो पता नहीं होगा कि सत्र को कैसे फिर से जोड़ना है।

यहाँ काम करते समय ऐसा दिखता है:

अच्छा xrdp सत्र प्रक्रिया


0

यहाँ मैंने क्या किया है। सुनिश्चित करें कि tigervnc- सर्वर स्थापित है ताकि हम Xvnc का उपयोग कर सकें। डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ एक VNC सत्र लॉन्च करें (मैंने वास्तव में TigerVNC के लिए आर्क लिनक्स सेटअप गाइड का अनुसरण किया है)। फिर हर बार उस VNC सत्र का उपयोग करने के लिए अपने Xrdp को कॉन्फ़िगर करें। टाइगरवीएनसी को बूट या कुछ और करने के लिए स्टार्टअप पर सेट करें। यह मेरी xrdp.ini फ़ाइल का एकमात्र VNC खंड है:

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=localhost
port=5901
username=na
password=YOURPASSWORD
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000

-1

यह UbuntuForum थ्रेड उपयोगी लगता है - मैंने खुद इसका परीक्षण किया - हालांकि मैंने इस उत्तर को पूरा करने के लिए यहां दिए गए समाधान की नकल की है।

RealVNC सेटअप

1. डिफ़ॉल्ट Ubuntu VNC सर्वर (Vino) की स्थापना:

पर जाएं: सिस्टम -> प्रशासन -> "वीनो" पैकेज के लिए सिनैप्टिक पैकेज मैनेजर सर्च करें, मार्क फॉर रिमूवल, अप्लाई करें।

2. TightVNC और XRDP की स्थापना:

जब आप Synaptic Package Manager का उपयोग कर रहे हैं, तो "कसक" पैकेज (सावधान रहें, " xtightvnc ") और मार्क फॉर इंस्टालेशन के लिए सीकर्रह । इसी तरह, "xrdp" पैकेज की खोज करें और मार्क भी इंस्टॉलेशन के लिए। लागू। पुनश्च: यदि आप चाहते हैं, तो आप किसी अन्य "vnc" पैकेज को त्याग सकते हैं जिसकी आपको आवश्यकता नहीं है!

3. एक्सआरडीपी (वैकल्पिक) का विन्यास

एक टर्मिनल खोलें और तीन निम्न कमांड टाइप करें:

 cd /etc/xrdp
 cp xrdp.ini xrdp.ini.bak 
 sudo gedit /etc/xrdp/xrdp.ini

Xrdp2-Xrdp6 अनुभाग निकालें, केवल Xrdp1 अनुभाग छोड़ें। आपका xrdp.ini इस तरह दिखना चाहिए:

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp1]
name=RDP_To_TightVNC
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

4. जुड़ना

सिस्टम को पुनरारंभ करें और आप कनेक्ट करने के लिए तैयार हैं!

किसी अन्य उबंटू मशीन से कनेक्ट करने के लिए, उपयोग करें: एप्लिकेशन -> इंटरनेट -> टर्मिनल सर्वर क्लाइंट, अपने उबंटू वीएनसी मशीन का आईपी टाइप करें, RDPv5 या RDP का उपयोग करें, कनेक्ट करें पर क्लिक करें!

विंडोज-आधारित मशीन से कनेक्ट करने के लिए, उपयोग करें: स्टार्ट -> रन -> mstsc, अपनी उबंटू वीएनसी मशीन का आईपी टाइप करें, कनेक्ट पर क्लिक करें।

कनेक्ट होने पर, अपने उबंटू उपयोगकर्ता खाता क्रेडेंशियल्स (यू / एन और पी / डब्ल्यू) का उपयोग करें और दूरस्थ रूप से अपने डेस्कटॉप पर लॉगिन करें।


क्या आपने वास्तव में इसका परीक्षण किया है? ऐसा लगता है कि आपने लिंक वर्बेटिम को सिर्फ कॉपी और पेस्ट किया है। यदि आप कॉपी और पेस्ट करते हैं, तो कृपया अपने उत्तर में स्रोत को स्वीकार करें।
जीवाश्म

@fossfreedom नहीं, मैंने परीक्षण नहीं किया है लेकिन मदद करने की कोशिश की है। BTW मैं पहले ही स्रोत का उल्लेख कर चुका हूँ this may help you
राहुल वीरपारा

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