Mevcut bir oturumu yeniden kullanan xrdp oturumunu nasıl ayarlarım?


57

Xrdp kullanarak kesin olarak bir RDP terminal sunucusu kurmaya çalışıyordum ve çalışan bir konfigürasyon elde etmekte ciddi sıkıntılar yaşıyorum. Bir kullanıcı oturum açtığında, varsa mevcut oturuma bağlanmasına ihtiyacım var, aksi takdirde yeni bir oturum başlatmak ve herhangi bir başlatılan oturumun LXDE'yi başlatması gerekir. Bunun çalışması için varsayılan yapılandırmada hangi değişiklikleri yapmam gerekir?


XRDP yapılandırmamda (masaüstü oturumlarında Unity'yi ve uzak oturumlar için Unity2D'yi çalıştırıyorum hariç) bir kullanıcı olarak oturum açmak, eski oturumlarını otomatik olarak alır. Her kullanıcı her bağlanışında yeni bir oturum mu alıyor?
agc93

İnternette bulduğum en iyi açıklama / çözüm bu konumda bulunabilir: c-nergy.be/blog/?p=2879 Bir deneyelim, bu bilginin yardımcı
olacağını

Yanıtlar:


46

Aynı sorunu yaşadım ve sadece kolay bir çözüm buldum. Başlangıçta standart ilerlemeyi kullanarak xrdp'yi kurdum:

apt-get install xrdp

Bundan sonra, hepsi burada bulunan xrdp.ini dosyanızla ilgili:

/etc/xrdp/xrdp.ini

Xrdp'nin yapılandırma dosyasını açmak ve düzenlemek için şunu kullanın:

sudo nano /etc/xrdp/xrdp.ini

varsayılan olarak ilk xrdp oturumu yürütme komut dosyası şöyle görünür:

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

Önemli olan port=-1, bu, xrdp'nin her zaman bağlanacak boş bir bağlantı noktası aramasını sağlar. Burada sabit bir bağlantı noktası ayarlarsanız, xrdp her zaman geri döner ve aynı oturuma bağlanır. Benimkini değiştirdim, öyle gözüküyor:

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

Thats o, ben sadece değişen paçayı düşünüyorum port=-1etmek port=5912. Xrdp'im her zaman aynı bağlantı noktasını kullanarak mevcut oturuma yeniden bağlanır.


2
Bu çözüm benim için iyi sonuç veriyor, ancak aynı makineye bağlanan herhangi birinin aynı oturumda oturum açmış olsa bile aynı oturumu alacağını belirtmeliyim.
VeeTheSecond 17:13

7
Bu sadece zaten mevcut bir oturum varsa çalışır. İlk defa, oturum yok, bu yüzden bağlantı noktası 5912'ye bağlanamıyor.
stu

4
Aynı sorunu var .. Görünüşe göre varsayılan olarak 5911port kullanarak bir bağlantı açmaya çalışıyor (xrpd bağlanırken bunu fark edebilirsiniz). Bu yüzden port = -1'den port = ask5911'e geçtim. Bu şekilde 5911 varsayılan olarak kullanılır ancak bağlantı sırasında kullanıcı / parola girdiğinizde bu bağlantı noktasını değiştirebilirsiniz (bu nedenle, hata durumunda herhangi bir şeyi yeniden yapılandırmanıza gerek kalmaz ..)
Maxym

1
Bu davranış kesinlikle vnc sunucu uygulamasına bağlıdır. Centos altında, her zaman varolan oturuma katılan ya da port = -1 ayarına sahip olan bir tigervnc kullanıyorum. Ancak, ubuntu altında varsayılan, aynı davranışa sahip olmayan tightvncserver'dır. Bir şey varsa, sadece vnc uygulamaları ile oynayın.
Denys S.

1
Varsayılan port 5910'dur
Pedi T.

16

Mevcut bir cevabı geliştirmek istiyorum. En çok oylanan cevap, açık port bulmak xrdp.iniiçin -1jokerin yerine portu sabit bir değerle değiştirmek üzere dosyayı düzenlemekti .

Bunu denedim, ancak ilk kez bağlanırken bir hata oluştu, bu yüzden -1değere geri döndüm . Hayal kırıklığı hızla başladı, ancak sorun devam edemediği için tekrar ini dosyasına baktım.

Benim için çalışan ve gerçekten merak ettiğim bir şeydi.

Düzenleyin /etc/xrdp/xrdp.ini

Altında [xrdp1]nerede port=-1ben kullanıcı adı ettim ve şifre ASK kuruldu. Ayarladıysanız port=ask, bir port seçmek için kullanıcı adınız ve şifrenizle oturum açma komut isteminde bulunacaksınız.

Ek paketleri yüklemek yerine, sorguyu seçmek için en kolay düzeltmeyi buldum, kullanıcı adı ve şifreyle giriş yaparken -1 numaralı bağlantı noktasında İLK oturumunu (zaten çalışmamışsa) bağlayın.
Oturumu kapattıktan sonra, mevcut bir oturumu devam ettirmek için her zaman varsayılan bağlantı noktasında oturum açın: 5910 ve uzaktaki bilgisayarı yeniden başlatana ya da oturumu kapatırken oturumu sonlandırana kadar mevcut oturumunuza devam edersiniz.

Özetlemek:

  • xrdp.iniDosyayı düzenle
  • Ayarlamak port = ask
  • Uzaktaki makineden bağlanın ve oturum açmadan önce oturumunuz mevcut değilse, bağlantı noktasını belirtin. -1
  • bir oturumu devam ettirmek için 5910

Benim için çalıştı. Yine de 5910’un ileriye gittiğini hatırlamayacağım.
Vesanto

7
Girişi başarıyla değiştirebildim: [xrdp1]. . . port = ask5910 Bu, limanı 5910 olarak varsayılan yapar, böylece Vesanto'nun dediği gibi hatırlamanıza gerek yoktur (Vesanto! bağlantı noktası 5911 deyin. Bunu Ubuntu 16.04'te test ettim.
hoekma

2
^ Bu benim de bulduğum en iyi çözüm.
Nacht - Monica

Yeni açılmış bir Rpi3'te -1 numaralı bağlantı noktasıyla yeni bir oturuma başladım ve sonra farklı bir bilgisayarla geldim ve 5910 numaralı bağlantı noktasını kullandım - aynı oturumu seçti. Bir bilgisayarda bir şeyleri hareket ettirdiğinizde diğerinde olduğunu görebilirsiniz.
SDsolar

Daha sonra tekrar yaparsanız -1'e bir sayı verirseniz, size yeni bir oturum açar.
SDsolar

7

Sadece bir bağlantı damla adam olmak istemem ama rehber takip buraya ve gerçekten iyi çalıştı. Artık Linux ve Windows ana bilgisayarlarından bir RDP oturumuna giriş yapabilir ve daha önce giriş yaptıysam beni eski oturumuma yeniden bağlayabilirim. Bu, bulduğum kurulum için en iyi rehber. Ne yazık ki standart paket kurulumu, kaynaktan yapmaktan çok daha fazla soruna neden oluyor.

Bu bağlantının yazarı, kurulumu ve yapılandırması için otomatik bir araç da yaptı , ancak denemedim, o yüzden dikkatli olun.

Umarım bu sana yardımcı olur.


Bağlantıyı sağladığınız için teşekkür ederiz. Bu, xrdp için çalışan bir deb paketinin bulunmadığı anlamına mı geliyor?
Ocak

Bir süre önce bir tane gördüm, ancak Ubuntu'nun yeni sürümleriyle doğru çalışmadı. Bildiğim kadarıyla, 10.04 sonrası Ubuntu sürümlerinde XRDP için çalışan bir .deb paketi yok. Tabii ki yanlış olduğu kanıtlanmış olmaktan memnun, çünkü bu yöntem hayal kırıklığı yaratıyor.
agc93

ubuntu 12 64bit için senaryo üzerinde süper otomatik benim çözüm kontrolhttp://askubuntu.com/questions/190838/how-to-install-x11rdp-on-ubuntu-12-04/190855#190855

Sanırım bu soru için mantıklı olan kendi evinizde kendi .xsessiondosyanızı oluşturmak . Örneğin, eğer gnome-desktop kullanıyorsanız,echo gnome-session >> ~/.xsession
artificerpi

4

Sorun, xrdp'nin her zaman aynı bağlantı noktasına bağlanmamasıdır. Olmadıysa ve port numarasını unuttuysanız, bir ssh oturumu açıp numarayı

netstat -tulpn | grep vnc

ve aşağıdaki gibi bir şey elde edersiniz

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

ve sonra 5911'in bağlandığınız bağlantı noktası olduğunu biliyorsunuz.


2

Uzak masaüstüne ilk bağlandığınızda xrdp kutusuyla oturum açma ekranında açılan bir kutu olmalıdır, buradan "vnc-any" seçin, sonra bilgisayarın ip adresini ve parolanızı girin, ancak bağlantı noktasını bırakın. öyle, bu yardımcı olmalı :)


Bu en kolay birine benziyor ve benim için çalışıyor. Harika. Karmaşık kurulum, derleme vb.
josef


1

1. xrdp.ini sizi değiştirir:

sudo vi /etc/xrdp/xrdp.ini

2. port=ask-1Bağlantı kuralınızdaki port ayarını değiştirin :

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

3. xrdp hizmetinizi yeniden başlatın

sudo service xrdp restart

Uzak masaüstünde giriş yaparken aşağıdaki resmi görmelisiniz. görüntü tanımını buraya girin

1. İlk girişte bu port numarasını görebilirsiniz. Örnek: 5912: görüntü tanımını buraya girin

Bu port numarasını unutursanız, kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

netstat -peant | grep 59 | grep Xvnc

2. Son oturumu port numaranıza göre yeniden bağlayabilirsiniz. görüntü tanımını buraya girin


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


0

Bu soruna Debian makinesinde rastladım. Xrdp 0.7 paketleri oluşturmak için X11RDP-o-Matic kullanıldı . Systemd'ye yükseltmeden önce, xrdp oturumu yeniden bağlanma iyi çalıştı.

İşlem ağacına baktığımda, oturumların artık çocuk olmadığını görebiliyordum xrdp-sesman. Systemd kullanırken izin sorunu olduğu ortaya çıktı. Google , sorunu gideren bir yama buldu .

Çalışan bir yeniden bağlantıyı nasıl tanımlarsınız? Çalıştırın ps axfve işlem ağacına bakın xrdp-sesman. X11rdp, xrdp-chansrv, xrdp-sessvchepsi çocukken kaçıyor olmalı. Eğer böyle değilse, xrdp-sesmanoturuma yeniden nasıl bilmez.

İşte çalışırken göründüğü gibi:

iyi xrdp oturum süreci


0

İşte yaptığım şey. Tigervnc-server'in kurulu olduğundan emin olun, böylece Xvnc'i kullanabiliriz. Varsayılan yapılandırma ile bir VNC oturumu başlatın (aslında TigerVNC için Arch Linux kurulum kılavuzunu takip ettim). Ardından, Xrdp'nizi her seferinde bu VNC oturumunu kullanacak şekilde yapılandırın. Ayrıca TigerVNC'yi açılışta falan açacak şekilde ayarlayın. Bu benim xrdp.ini dosyamdaki tek VNC bölümü:

[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

Bu UbuntuForum dizisi yararlı görünüyor - Bunu kendim test etmedim - ancak bu cevabı tamamlamak için verilen çözümü kopyaladım.

RealVNC kurulumu

1. Varsayılan Ubuntu VNC sunucusunun (Vino) kaldırılması:

Git: Sistem -> Yönetim -> Sinaptik Paket Yöneticisi "Vino" paketini arayın, Kaldırma İçin İşaretle, Uygula.

2. TightVNC ve XRDP'nin Kurulumu:

Synaptic Paket Yöneticisi'ni kullanırken "tightvnc" paketi için seacrh (" xtightvnc " değil, dikkatli olun ) ve Mark For Installation'ı işaretleyin. Aynı şekilde, "xrdp" paketini ve Kurulum için de İşaretle'yi arayın. Uygulamak. Not: Eğer istersen, ihtiyacın olmayan başka bir "vnc" paketini atabilirsin!

3. XRDP'nin Yapılandırılması (İsteğe bağlı)

Bir terminal açın ve aşağıdaki üç komutu yazın:

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

Xrdp2-Xrdp6 bölümlerini kaldırın, yalnızca Xrdp1 bölümünü bırakın. Xrdp.ini dosyanız şöyle görünmelidir:

[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. Bağlanma

Sistemi yeniden başlatın ve bağlanmaya hazırsınız!

Başka bir Ubuntu makineden bağlanmak için, şunları kullanın: Uygulamalar -> İnternet -> Terminal Sunucusu İstemcisi, Ubuntu VNC makinenizin IP adresini yazın, RDPv5 veya RDP kullanın, Bağlan!

Windows tabanlı bir makineden bağlanmak için aşağıdakileri kullanın: Başlat -> Çalıştır -> mstsc tuşlarına basın, Ubuntu VNC makinenizin IP adresini yazın, Bağlan'ı tıklatın.

Bağlandığınızda, Ubuntu kullanıcı hesabı bilgilerinizi kullanın (u / n ve p / w) ve uzaktan masaüstünüze giriş yapın.


Bunu gerçekten test ettin mi? Görünüşe göre link verbatim linkini kopyalayıp yapıştırdınız. Kopyalayıp yapıştırırsanız, lütfen cevabınızdaki kaynağı belirtin.
fossfreedom

@fossfreedom hayır, test etmedim ama yardım etmeye çalıştım. Btw Ben zaten kaynak belirtmiştim this may help you.
Rahul Virpara

Belki de kaynağınıza ve cevabın doğruluğuna göre daha açık olmalısınız. Düzenlemeye bak.
fossfreedom
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.