RDP Monster

Pulpit zdalny z Linuksa do Windows: Remmina i xfreerdp

Pulpit zdalny z Linuksa do Windows: Remmina i xfreerdp

Którego linuksowego klienta pulpitu zdalnego wybrać?

Microsoft nie dostarcza klienta RDP dla Linuksa: Windows App obsługuje Windows, macOS, iOS, Androida i przeglądarkę, ale nie pulpit linuksowy. To, co ma Linux, to FreeRDP, otwartoźródłowa implementacja protokołu, oraz kilka zbudowanych na niej nakładek: Remmina (GTK, zapisane profile), GNOME Connections i KRDC z KDE (mniej opcji) oraz xfreerdp, własny klient wiersza poleceń FreeRDP z pełnym dostępem do wszystkich ustawień.

KlientInterfejsNLA (CredSSP)Nowoczesne kodekiPrzekierowaniaStatus
RemminaInterfejs graficzny GTK, zapisane profileTak (przez FreeRDP)RemoteFX, GFX, H.264 tam, gdzie FreeRDP je obsługujeSchowek, foldery, drukarki, dźwięk, mikrofonAktywnie rozwijany
xfreerdp (FreeRDP 3)Wiersz poleceńTakRemoteFX, GFX, H.264Wszystko, co obsługuje FreeRDPAktywnie rozwijany
GNOME Connections / KRDCInterfejs zintegrowany ze środowiskiem graficznymTak (przez FreeRDP)Zależnie od kompilacji FreeRDPPodstawowe (schowek, skalowanie)Rozwijany razem ze środowiskiem
rdesktopWiersz poleceńTylko Kerberos, bez NTLMNie (przestarzałe kodeki bitmapowe)Schowek, dysk, dźwiękOstatnie wydanie 1.9.0, październik 2019

Do maszyn, z którymi łączysz się codziennie, używaj Remminy, ale i tak naucz się xfreerdp: kiedy Remmina zawodzi, zwraca błąd FreeRDP, a wiersz poleceń jest najszybszym miejscem na diagnozę. rdesktop zostaw dla hostów, które nie obsługują Network Level Authentication, na przykład niezaktualizowanego Windows XP czy Server 2003.

Najpierw przygotuj stronę Windows

Zanim dotkniesz Remminy albo xfreerdp, włącz pulpit zdalny na maszynie z Windows 11 i sprawdź przy okazji trzy rzeczy:

  • Edycja: tylko Windows Pro, Enterprise i Server przyjmują przychodzące sesje RDP; Home nie może ich hostować, niezależnie od klienta.
  • Konto: użytkownik potrzebuje prawdziwego hasła (kod PIN Windows Hello nie działa przez RDP) i musi być administratorem lub należeć do grupy Remote Desktop Users.
  • Adres: zanotuj adres IP poleceniem ipconfig: adres prywatny w sieci LAN, publiczny adres IP w przypadku VPS-a z Windows albo VPN do sieci, jeśli łączysz się z domowym komputerem przez internet.

Z Linuksa upewnij się, że coś nasłuchuje, zanim zaczniesz obwiniać klienta:

nc -vz 203.0.113.10 3389

Wynik succeeded oznacza, że port jest osiągalny; odmowa połączenia lub zawieszenie zostały opisane w sekcji o błędach.

Remmina: droga graficzna

1. Zainstaluj Remminę i jej wtyczkę RDP

W większości dystrybucji obsługa RDP to osobna wtyczka; wtyczka secret przechowuje hasła w pęku kluczy środowiska graficznego:

# Debian / Ubuntu
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret

# Fedora
sudo dnf install remmina remmina-plugins-rdp remmina-plugins-secret

# Arch Linux
sudo pacman -S remmina freerdp

# Any distribution (Flatpak)
flatpak install flathub org.remmina.Remmina

2. Utwórz profil połączenia

Kliknij +, aby utworzyć nowy profil, i ustaw Protocol na RDP - Remote Desktop Protocol. W polu Server wpisz adres IP lub nazwę hosta, dodając niestandardowy port po dwukropku, jak w 203.0.113.10:3390. Wypełnij Username i Password; pole Domain zostaw puste dla lokalnego konta Windows. Zapisz i kliknij dwukrotnie, aby się połączyć; poniższa sekcja o certyfikatach wyjaśnia komunikat, który zobaczysz jako pierwszy.

3. Rozdzielczość, skalowanie i jakość

W zakładce Basic opcja Resolution oferuje Use initial window size, Use client resolution (właściwe dla pełnego ekranu) oraz stałe rozmiary; przełącznik dynamicznej rozdzielczości na pasku narzędzi pozwala następnie Windowsowi przebudować układ pulpitu przy zmianie rozmiaru okna. Colour depth domyślnie ma wartość Automatic (32 bpp); GFX AVC444 (32 bpp) daje najostrzejszy obraz na współczesnym Windows, natomiast High colour (16 bpp) z Quality ustawionym na Poor (fastest) sprawdza się na wolnym łączu. Na ekranie HiDPI opcja Remote scale factor w zakładce Advanced sprawia, że Windows renderuje swój interfejs w większej skali, zamiast rozciągać piksele po Twojej stronie.

4. Przekierowanie schowka, folderu i dźwięku

Synchronizacja schowka jest domyślnie włączona (w zakładce Advanced jest przełącznik Turn off clipboard sync). Opcja Share folder w zakładce Basic przekierowuje lokalny katalog do sesji, gdzie pojawia się w Eksploratorze Windows w sekcji This PC. Ustaw Sound na Local, aby słyszeć dźwięk Windows przez głośniki podłączone do Linuksa, i włącz Redirect local microphone dla kierunku odwrotnego.

xfreerdp (FreeRDP 3): droga przez wiersz poleceń

1. Zainstaluj FreeRDP 3

# Debian 12+ / Ubuntu 24.04+ (binary: xfreerdp3)
sudo apt install freerdp3-x11

# Fedora (binary: xfreerdp, version 3.x)
sudo dnf install freerdp

# Arch Linux (binary: xfreerdp)
sudo pacman -S freerdp

W Debianie i Ubuntu plik binarny FreeRDP 3 nosi nazwę xfreerdp3, aby mógł współistnieć z freerdp2-x11 (czyli zwykłym xfreerdp). Sprawdź to poleceniem xfreerdp3 /version i podstaw właściwą nazwę w przykładach poniżej. Na Waylandzie xfreerdp działa przez XWayland; pakiet freerdp3-sdl zawiera nowszego natywnego klienta SDL od FreeRDP.

2. Połącz się

xfreerdp3 /v:203.0.113.10 /u:Administrator /from-stdin +dynamic-resolution +clipboard

/from-stdin pyta o hasło, zamiast zostawiać je w historii powłoki przez /p:. Dla konta domenowego wpisz /u:CORP\alice lub /u:[email protected]; niestandardowy port podaje się przy adresie serwera: /v:203.0.113.10:3390. Inne przydatne przełączniki:

  • /f dla pełnego ekranu (Ctrl+Alt+Enter przełącza), albo /size:1920x1080 i wartości procentowe, na przykład /size:80%.
  • /multimon rozciąga sesję na wszystkie monitory, a /monitors:0,1 pozwala wybrać niektóre.
  • /kbd:layout:0x40c wymusza układ klawiatury (francuski); /list:kbd wypisuje kody.

3. Przekierowanie schowka, folderu, dźwięku i drukarek

xfreerdp3 /v:203.0.113.10 /u:Administrator /from-stdin \
  +clipboard \
  /drive:share,$HOME/rdp-share \
  /sound /microphone \
  /printer

/drive:name,path udostępnia lokalny katalog sesji; pojawia się on w Eksploratorze Windows jako share on <your-hostname> w sekcji This PC. +home-drive udostępnia cały katalog domowy, a +drives wszystkie zamontowane systemy plików. To zwykle szerzej, niż byś chciał. /sound odtwarza dźwięk z Windows przez domyślny podsystem audio (PulseAudio lub warstwę zgodności PipeWire); /audio-mode:1 zostawia dźwięk na serwerze.

4. Rozdzielczość i skalowanie HiDPI

+dynamic-resolution sprawia, że Windows sam zmienia rozmiar pulpitu przy zmianie rozmiaru okna, dzięki czemu tekst pozostaje ostry. /smart-sizing utrzymuje stały rozmiar zdalnego pulpitu i skaluje obraz po stronie Linuksa, co przy skali innej niż 100% wygląda rozmyto. Na panelu 4K użyj /scale:180 (dopuszczalne wartości: 100, 140, 180), aby Windows renderował interfejs w skali 180%, albo /scale-desktop:200 dla dokładniejszej kontroli. Pod kątem przepustowości /gfx:AVC444 wybiera potok H.264 na hostach, które go obsługują, a -wallpaper -themes /bpp:16 to zestaw dla łączy o niskiej przepustowości.

Ostrzeżenia o certyfikatach: wyjaśnienie

Przy pierwszym połączeniu z danym hostem xfreerdp wypisuje podmiot certyfikatu, wystawcę i odcisk SHA-256, a następnie komunikat: The above X.509 certificate could not be verified, possibly because you do not have the CA certificate in your certificate store, or the certificate has expired. Do you trust the above certificate? (Y/T/N). Y zapisuje odcisk na stałe, T ufa mu tylko w tej sesji, a N przerywa połączenie (Remmina pyta o to samo w oknie Accept certificate?). Ostrzeżenie jest spodziewane: Windows generuje dla usługi pulpitu zdalnego certyfikat z podpisem własnym, wystawiony na własną nazwę maszyny, i żaden urząd certyfikacji za niego nie ręczy. Sesja i tak jest szyfrowana; klient po prostu nie może udowodnić, kto jest po drugiej stronie. Aby to zweryfikować, porównaj go z certyfikatem w gałęzi Remote Desktop, Certificates w certlm.msc na maszynie Windows. Zaakceptowane odciski trafiają do osobnego pliku dla każdego hosta w katalogu ~/.config/freerdp/server/ (FreeRDP 2 używał ~/.config/freerdp/known_hosts2).

Ostrzeżeniem, które trzeba potraktować poważnie, jest !!!Certificate for host:port has changed!!!. Pojawia się, gdy zapisany odcisk przestaje się zgadzać, co jest uzasadnione po ponownej instalacji Windows, zmianie nazwy hosta albo odnowieniu certyfikatu, ale wygląda dokładnie tak samo jak atak typu man-in-the-middle. Potwierdź zmianę po stronie Windows, a następnie usuń wpis hosta z magazynu FreeRDP i połącz się ponownie. Do automatyzacji /cert:tofu akceptuje certyfikat przy pierwszym użyciu i przypina go na później, a /cert:fingerprint:sha256:<hex> przypina znany certyfikat jawnie. /cert:ignore oraz opcja Ignore certificate w Remminie wyłączają sprawdzanie całkowicie (tylko do zastosowań laboratoryjnych).

Typowe błędy: odmowa połączenia, przekroczenie czasu, NLA i CredSSP

Odmowa połączenia: xfreerdp zgłasza ERRCONNECT_CONNECT_FAILED [0x00020006]. Host odpowiedział, ale nic nie przyjęło połączenia na tym porcie: pulpit zdalny jest wyłączony, usługa zatrzymana albo port jest niewłaściwy. W Windows polecenie Get-Service TermService powinno zwrócić Running, a netstat -ano | findstr :3389 pokazać wiersz LISTENING. Jeśli połączenie zamiast tego zawisa, pakiety są odrzucane przez zaporę, regułę NAT lub trasę VPN; ten poradnik o naprawianiu przekroczeń czasu połączenia pulpitu zdalnego przechodzi przez tę warstwę krok po kroku.

Awarie NLA i CredSSP. Współczesny Windows wymaga Network Level Authentication: dane logowania są sprawdzane przez CredSSP, zanim narysowany zostanie jakikolwiek pulpit. Typowy objaw to ERRCONNECT_LOGON_FAILURE [0x00020014], a w większości przypadków chodzi o problem z poświadczeniami, którego Windows celowo nie wyjaśnia: literówka, konto lokalne zapisane z prefiksem domeny, konto domenowe bez niego albo puste hasło, które NLA odrzuca. Mniej oczywistą przyczyną jest hasło wygasłe lub wymagające zmiany, z którym CredSSP nie potrafi sobie poradzić, bo okno zmiany hasła znajduje się w interfejsie graficznym, do którego jeszcze nie dotarłeś. Wymuszenie /sec:tls pomija NLA i doprowadza do ekranu logowania Windows, o ile zasady hosta na to pozwalają. W rdesktopie ta sama sytuacja objawia się komunikatem CredSSP required by server; przejdź na FreeRDP, bo rdesktop obsługuje CredSSP wyłącznie z Kerberosem.

Bezpieczeństwo: najpierw VPN lub tunel, bo zmiana portu to nie zabezpieczenie

To, skąd port 3389 jest osiągalny, ma większe znaczenie niż jakakolwiek opcja klienta. Port RDP otwarty na internet w ciągu kilku godzin zaczyna zbierać ruch zgadujący hasła, a jedyną obroną pozostają NLA i mocne hasło. Przeniesienie usługi na inny port zmienia tylko moment, w którym to nastąpi: skanery przeczesują wszystkie 65 535 portów, a uzgadnianie RDP samo się identyfikuje niezależnie od numeru. Ten poradnik o porcie RDP 3389 opisuje, co na nim nasłuchuje i dlaczego.

Co naprawdę ogranicza ekspozycję: WireGuard albo inny VPN, dzięki któremu port 3389 jest osiągalny tylko z adresów prywatnych; reguła Zapory Windows ograniczona do Twojego własnego źródłowego adresu IP na VPS-ie; albo tunel SSH przez funkcję OpenSSH Server w Windows, dzięki któremu port RDP w ogóle nie musi być otwarty:

ssh -N -L 13389:localhost:3389 [email protected]
# in a second terminal
xfreerdp3 /v:localhost:13389 /u:Administrator /from-stdin +dynamic-resolution +clipboard

Którąkolwiek drogę wybierzesz, zostaw włączone NLA i wymuś blokadę konta po nieudanych próbach logowania.

Wszystko to zakłada, że masz maszynę z Windows, z którą warto się łączyć. Jeśli celem jest po prostu dostęp do Windows z linuksowego pulpitu (dla oprogramowania bez wersji na Linuksa albo dla sesji, która musi działać, gdy laptop śpi), domowy komputer restartujący się po aktualizacjach, za routerem, którego nie możesz skonfigurować, jest kiepskim celem. Hostowany serwer Windows RDP z pełnym dostępem administratora jest prostszym rozwiązaniem: rdp.monster udostępnia go około 10 sekund po potwierdzeniu płatności, z dedykowanym CPU i RAM, nielimitowanym transferem (fair-use), bez KYC, z płatnościami kryptowalutami, od $8.99 miesięcznie. Dla Remminy czy xfreerdp to po prostu kolejny host z Windows.

Najczęściej zadawane pytania

Czy Linux ma wbudowanego klienta pulpitu zdalnego do Windows?

Żadna dystrybucja nie dostarcza klienta Microsoftu; Remmina, GNOME Connections i KRDC są nakładkami na otwartoźródłową bibliotekę FreeRDP.
Nie od Microsoftu: Windows App nie jest dostępny dla Linuksa. Większość dystrybucji oferuje FreeRDP, otwartoźródłową implementację RDP, oraz zbudowane na niej nakładki graficzne. GNOME dostarcza Connections, KDE dostarcza KRDC, a Remmina jest wyborem niezależnym od środowiska, z zapisanymi profilami i największą liczbą opcji. Wszystkie mówią tym samym protokołem co klient Microsoftu, łącznie z NLA i nowoczesnymi kodekami GFX, więc host z Windows nie zauważy różnicy. Zainstaluj poleceniem apt install remmina remmina-plugin-rdp lub odpowiednikiem w swojej dystrybucji.

Czy mogę połączyć się z Linuksa z Windows 11 Home przez pulpit zdalny?

Nie, edycje Home nie przyjmują przychodzących sesji RDP, niezależnie od używanego klienta.
Nie. Windows 11 Home nie zawiera komponentu hosta pulpitu zdalnego, więc ani Remmina, ani xfreerdp nie nawiążą z nim połączenia, a przełącznik pulpitu zdalnego w Ustawieniach po prostu nie istnieje. Twoje opcje to uaktualnienie tego komputera do Windows 11 Pro, użycie zewnętrznego narzędzia do udostępniania ekranu, które nie opiera się na RDP, albo połączenie z hostowaną maszyną Windows, na przykład VPS-em z Windows, który działa na edycji Server lub Pro z włączonym od początku RDP i przyjmuje klientów linuksowych bez dodatkowej konfiguracji.

Jak kopiować pliki między Linuksem a Windows przez RDP?

Przekieruj folder (/drive w xfreerdp albo Share folder w Remminie), a pojawi się on jako dysk wewnątrz sesji Windows.
Zamiast schowka użyj przekierowania dysku. W xfreerdp dodaj /drive:share,/home/you/folder, a katalog pojawi się w Eksploratorze Windows w sekcji This PC jako przekierowany dysk; w Remminie ustaw Share folder w zakładce Basic profilu. Kopiowanie działa wtedy w obie strony zwykłym przeciąganiem w Eksploratorze, a duże pliki przenoszą się w ten sposób znacznie pewniej niż przez schowek. Jeśli dysk się nie pojawia, przekierowanie dysków może blokować zasada grupy po stronie Windows.

Dlaczego moja sesja RDP z Linuksa jest wolna i jak ją przyspieszyć?

Decydują opóźnienie łącza i wybór kodeka; na dobrym łączu wybierz GFX/H.264, a na słabym 16-bitową głębię koloru bez tapety.
RDP jest bardziej wrażliwy na opóźnienia niż na samą przepustowość, więc odległy host zawsze będzie działał ociężalej niż bliski. W granicach tego ograniczenia najbardziej liczy się kodek: na szybkim łączu /gfx:AVC444 (albo głębia koloru GFX AVC444 w Remminie) daje najlepszy obraz na Windows 10, 11 oraz Server 2016 i nowszych. Na wolnym lub zawodnym łączu zejdź do /bpp:16, dodaj -wallpaper -themes i pozwól /network:auto dobrać resztę. Połączenie kablowe po stronie klienta usuwa najczęstsze źródło przycięć.

Adrien Roche, Redaktor ds. infrastruktury i hostingu

Inżynier systemowy z ponad 10-letnim doświadczeniem w utrzymaniu flot Windows Server i Linux. Adrien prowadzi dokumentację infrastruktury rdp.monster i pisze nasze poradniki o RDP, hostingu VPS, administracji serwerami, sieciach i narzędziach prywatności.

Zarejestruj się w naszym programie resellerskim

Twoje dane

Jeśli masz pytania, contact us by clicking here !
Imię i nazwisko(Wymagane)
Podaj swój adres e-mail. Musisz mieć konto na manager.rdp.monster !

Twoja firma

Podaj adres swojej strony, jeśli ją masz
Krótko wyjaśnij, w jaki sposób zamierzasz sprzedawać usługi swoim klientom. Na przykład rozmawiając z ludźmi na forach.

Używamy plików cookie !

Używamy plików cookie, aby poprawić Twoje doświadczenie przeglądania, oferować spersonalizowane reklamy lub treści i analizować nasz ruch. Klikając „Akceptuję”, wyrażasz zgodę na używanie przez nas plików cookie.