Przewodnik po zdalnym pulpicie Ubuntu: konfiguracja RDP, VNC i tunelu SSH

目次

1. Wstęp: Dlaczego używać pulpitu zdalnego z Ubuntu?

Rosnące scenariusze zdalnego sterowania dla Ubuntu

Systemy operacyjne oparte na Linuksie, w tym Ubuntu, tradycyjnie kojarzono z programistami i administratorami serwerów, zakładając, że będą obsługiwane w środowisku lokalnym. Jednak w ostatnich latach, wraz z rozwojem pracy zdalnej i rosnącym wykorzystaniem Ubuntu jako komputera do nauki, wzrosła potrzeba „obsługiwania Ubuntu zdalnie„.

Na przykład, zakres użycia pulpitu zdalnego się rozszerza, np. obsługa domowego serwera Ubuntu spoza domu lub instalacja Ubuntu na starym laptopie, aby używać go jako terminala do zdalnego programowania.

Różnice w porównaniu do Windows? Unikalne zalety Ubuntu

Niektórzy mogą się zastanawiać: „Windows też ma pulpit zdalny, więc po co robić to z Ubuntu?”. W rzeczywistości Ubuntu ma następujące cechy, które czynią je odpowiednim do obsługi zdalnej:

  • Jest lekkim i stabilnym systemem operacyjnym, umożliwiającym komfortową obsługę nawet na komputerach o niskich parametrach.
  • Oferuje wysokie bezpieczeństwo i jest wysoce kompatybilny z szyfrowaną komunikacją, taką jak SSH.
  • Jest darmowy i open-source, bez kosztów użycia na wielu urządzeniach.

Z tych powodów coraz więcej osób wybiera Ubuntu specjalnie do nauki programowania lub użytku serwerowego i korzysta z niego zdalnie.

Staje się łatwiejszy w użyciu nawet dla początkujących, którzy uważają to za „trudne”

Wielu nowych użytkowników systemów operacyjnych opartych na Linuksie może czuć niepokój, myśląc: „Konfiguracja połączeń zdalnych wydaje się trudna ze wszystkimi tymi poleceniami”. Rzeczywiście, w przeszłości zdalne połączenie z Ubuntu wymagało pewnego poziomu wiedzy, takiego jak ręczna konfiguracja serwerów VNC lub przekierowanie portów przez SSH.

Jednak od Ubuntu 22.04 LTS obsługiwane jest domyślnie zdalne połączenie przez RDP (Remote Desktop Protocol) i można je skonfigurować wyłącznie za pomocą interfejsu graficznego. To zwiększona łatwość użycia dla początkujących umożliwiła więcej osób spróbować zdalnego wykorzystania Ubuntu.

Cel i struktura tego artykułu

W tym artykule wyjaśnimy, jak osiągnąć połączenie pulpitu zdalnego z użyciem Ubuntu krok po kroku, w sposób łatwy do zrozumienia dla początkujących. Omówimy szeroki zakres tematów, od sposobu wykorzystania najnowszych funkcji w Ubuntu 22.04, przez konfigurację xrdp w starszych wersjach, aż po metody wzmacniania bezpieczeństwa za pomocą VNC i tuneli SSH.

Strukturyzowaliśmy artykuł tak, aby pomóc Ci znaleźć metodę, która najlepiej Ci odpowiada, porównując cechy i różnice każdego podejścia, więc prosimy o przeczytanie do końca.

2. Porównanie metod pulpitu zdalnego dostępnych w Ubuntu [VNC vs RDP]

Istnieje wiele protokołów do zdalnego połączenia

Nie ma tylko jednego sposobu na osiągnięcie pulpitu zdalnego z Ubuntu. Ogólnie rzecz biorąc, następujące trzy metody są powszechne:

  • RDP (Remote Desktop Protocol)
  • VNC (Virtual Network Computing)
  • SSH (Secure Shell) + X Forwarding lub Tunneling

Spośród tych RDP i VNC są głównie używane do ogólnych operacji zdalnych, ponieważ „przesyłają cały ekran pulpitu.” SSH z drugiej strony jest głównie używany do zdalnej obsługi przez wiersz poleceń lub jako pomocniczy środek do wzmacniania bezpieczeństwa.

Tutaj porównamy cechy i różnice RDP i VNC, które są szczególnie łatwe w obsłudze dla początkujących.

Czym jest RDP (Remote Desktop Protocol)?

RDP to protokół pierwotnie opracowany przez Microsoft i szeroko używany jako standardowa funkcja w Windows. W Ubuntu możliwe jest zdalne połączenie za pomocą protokołu RDP przy użyciu oprogramowania o nazwie xrdp.

Od Ubuntu 22.04 i nowszych środowisko GNOME ma wbudowaną domyślnie funkcjonalność RDP, więc nie trzeba instalować xrdp osobno; można ukończyć konfigurację połączenia zdalnego tylko za pomocą interfejsu graficznego.

Cechy RDP:

  • Wysoka kompatybilność z Windows, umożliwiająca połączenia za pomocą standardowego narzędzia Windows Remote Desktop Connection.
  • Szybkie i płynne renderowanie ekranu po połączeniu.
  • Funkcje uwierzytelniania i szyfrowania są standardowe, co czyni to stosunkowo bezpiecznym.

Zalecane dla:

  • Osób używających kombinacji Ubuntu i Windows.
  • Początkujących, którzy chcą łatwej konfiguracji GUI.
  • Osób priorytetujących bezpieczeństwo i stabilność.

Czym jest VNC (Virtual Network Computing)?

VNC to technologia zdalnego pulpitu, która może być używana międzyplatformowo. W Ubuntu można ją zaimplementować za pomocą oprogramowania takiego jak „vino” lub „tightvncserver„.

Mechanizm VNC różni się nieco od RDP; wykorzystuje metodę „sekwencyjnego przesyłania obrazów pulpitu”, co zazwyczaj prowadzi do nieco wolniejszego renderowania. Z drugiej strony, jego zaletą jest elastyczność w funkcjach takich jak udostępnianie sesji (wielu osób oglądających ten sam ekran jednocześnie).

Charakterystyka VNC:

  • Może być używane międzyplatformowo (łatwe połączenie z Mac i Androida również).
  • Pozwala wielu użytkownikom na jednoczesne udostępnianie tego samego ekranu.
  • Funkcje bezpieczeństwa są nieco słabe, dlatego zaleca się używanie w połączeniu z SSH.

Zalecane dla:

  • Gdy chcesz, aby wiele osób obsługiwało Ubuntu zdalnie.
  • Gdy chcesz połączyć się z urządzeń innych niż Windows.
  • Użytkowników średniozaawansowanych do zaawansowanych, którzy chcą szczegółowo dostosować ustawienia.

Tabela porównawcza: Różnice między RDP i VNC

ItemRDPVNC
Ease of Connection◎ (GUI setup, easy from Windows)△ (Requires some initial setup effort)
Rendering Comfort◎ (Smooth)△ (Can be slightly choppy)
Security◎ (Supports encryption by default)△ (SSH tunnel recommended)
Session Sharing×○ (Multiple users can operate simultaneously)
Supported PlatformsWindows-centricCross-platform (Linux, Mac, Android, etc.)

Który wybrać?

Dla początkujących i użytkowników Windows zaleca się RDP. Jest łatwy w konfiguracji, a połączenie jest stabilne, co czyni barierę wejścia niską i idealną do rozpoczęcia zdalnego połączenia z Ubuntu.

Z drugiej strony, jeśli wymagasz szczegółowej konfiguracji lub chcesz połączyć się z urządzeń innych niż Windows, wybór VNC oferuje większą elastyczność. Jednak podczas używania VNC ważne jest wdrożenie środków bezpieczeństwa, takich jak tunel SSH.

3. [Latest Version] Jak włączyć RDP (Zdalny pulpit) w Ubuntu 22.04

Funkcjonalność RDP jest standardowa w Ubuntu 22.04

Począwszy od Ubuntu 22.04 LTS, domyślne środowisko pulpitu (GNOME) teraz zawiera funkcjonalność zdalnego pulpitu jako standardową funkcję. Dzięki temu połączenie RDP jest łatwo dostępne bez potrzeby instalowania zewnętrznych narzędzi, takich jak xrdp.

Korzystając z tej nowej funkcji, możesz połączyć się bezpośrednio z Ubuntu za pomocą standardowego klienta Windows Remote Desktop (mstsc.exe), co czyni to bardzo łatwym w użyciu dla początkujących.

Przygotowanie i lista kontrolna

Przed włączeniem RDP sprawdź następujące punkty:

  • Twoja wersja Ubuntu to 22.04 lub nowsza.
  • Używasz środowiska pulpitu GNOME.
  • Jesteś zalogowany w sesji X.org, nie Wayland (Ważne).

Ostatni punkt, „zalogowany w X.org zamiast Wayland”, jest szczególnie ważny do używania funkcji zdalnego pulpitu. Ponieważ Wayland obecnie nie obsługuje połączeń RDP, zmień sesję, postępując zgodnie z poniższymi krokami.

Jak zalogować się w sesji X.org

  1. Na ekranie logowania Ubuntu wybierz swoją nazwę użytkownika.
  2. Przed wprowadzeniem hasła kliknij ikonę koła zębatego (⚙) w prawym dolnym rogu.
  3. Wybierz „Ubuntu on Xorg” .
  4. Wprowadź hasło i zaloguj się.

Kroki do włączenia zdalnego pulpitu

  1. Otwórz aplikację „Ustawienia”.
  2. Wybierz ” Udostępnianie ” z menu po lewej stronie.
  3. Kliknij ” Zdalny pulpit „.
  4. Przełącz ” Zdalny pulpit ” na WŁĄCZONE.
  5. Ustaw metodę uwierzytelniania na ” Hasło ” i wprowadź pożądane hasło połączenia.
  6. W sekcji „Sieć” zaznacz ” Włącz zdalne połączenia dla użytkowników w tej sieci „.

To kończy konfigurację po stronie Ubuntu.

Kroki do połączenia z Ubuntu z Windows

  1. Naciśnij klawisz Windows + R, wpisz ” mstsc ” i naciśnij Enter (uruchamia narzędzie Połączenie pulpitu zdalnego).
  2. W polu „Komputer” wprowadź adres IP swojej maszyny Ubuntu.
  3. Po połączeniu pojawi się ekran pytający o nazwę użytkownika i hasło ustawione w Ubuntu.
  4. Połączenie zakończone.

Możesz znaleźć adres IP swojej maszyny Ubuntu w „Ustawienia” > „Wi-Fi” lub „Przewodowe”. Alternatywnie, możesz użyć następującego polecenia w terminalu, aby sprawdzić:

ip a

Ustawienia zapory (jeśli konieczne)

Jeśli włączyłeś UFW Ubuntu (Uncomplicated Firewall), musisz otworzyć port RDP (domyślnie TCP 3389).

sudo ufw allow 3389/tcp

Po tym, zrestartuj UFW lub sprawdź jego status:

sudo ufw status

Powszechne problemy i rozwiązania

ProblemSolution
Screen is black after connectingCheck if you are logged in with X.org
Connection is refusedCheck the firewall and ensure you are on the same network
No response after entering passwordCheck if Remote Desktop is enabled in GNOME Sharing settings

Uwaga: Zakłada użycie w sieci lokalnej (LAN)

Ta metoda jest zasadniczo przeznaczona do użycia w tej samej sieci (LAN). Jeśli chcesz połączyć się z zewnątrz, będziesz musiał skonfigurować VPN lub przekierowanie portów, lub połączyć to z tunelem SSH (co zostanie wyjaśnione w późniejszym rozdziale).

4. Jak połączyć się zdalnie używając xrdp na Ubuntu 20.04 i wcześniejszych

Instalacja xrdp jest konieczna dla Ubuntu 20.04

Ubuntu 20.04 i wcześniejsze wersje nie mają standardowej funkcjonalności RDP jak Ubuntu 22.04. Dlatego, jeśli chcesz połączyć się zdalnie z Windows, musisz dodać funkcjonalność serwera RDP po stronie Ubuntu używając zewnętrznego pakietu o nazwie „xrdp”.

xrdp jest kompatybilny z protokołem RDP Microsoftu, co ułatwia dostęp do Ubuntu ze standardowego narzędzia Windows „Połączenie pulpitu zdalnego”.

Instalacja xrdp i podstawowa konfiguracja

Aby zainstalować xrdp na Ubuntu 20.04, wykonaj następujące polecenia w terminalu:

sudo apt update
sudo apt install xrdp -y

Po zakończeniu instalacji, usługa xrdp uruchomi się automatycznie. Aby sprawdzić status uruchomienia, użyj następującego polecenia:

sudo systemctl status xrdp

Jeśli widzisz „active (running)” na zielono, działa normalnie.

Wybór środowiska pulpitu (zalecany Xfce)

Domyślne środowisko pulpitu GNOME w Ubuntu nie jest bardzo kompatybilne z xrdp. Często zdarzają się przypadki, gdy sesje nie uruchamiają się poprawnie lub wyświetlany jest czarny ekran.

Dlatego zaleca się instalację środowiska pulpitu Xfce, które jest kompatybilne z xrdp, i skonfigurowanie go do użycia dla sesji przez xrdp.

Instalacja Xfce

sudo apt install xfce4 -y

Zmiana ustawień sesji

Aby zmienić sesję używaną przez Xrdp na Xfce, utwórz lub edytuj plik konfiguracyjny w następujący sposób:

echo "startxfce4" > ~/.xsession

Upewnij się, że ustawisz odpowiednie uprawnienia dla pliku:

chmod +x ~/.xsession

Ponadto, może być konieczne dostosowanie części pliku konfiguracyjnego sesji, aby uniknąć błędów uprawnień związanych z polkit, ale dla normalnego użycia lokalnego powyższe kroki są często wystarczające.

Ustawienia zapory

xrdp używa portu 3389/tcp. Jeśli włączyłeś zaporę Ubuntu (ufw), otwórz port następującym poleceniem:

sudo ufw allow 3389/tcp

Jak połączyć się z Windows (powtórz)

  1. Naciśnij klawisz Windows + R → Uruchom mstsc .
  2. Wprowadź adres IP Ubuntu w polu „Komputer”.
  3. Gdy pojawi się ekran logowania xrdp, wprowadź swoją nazwę użytkownika i hasło Ubuntu nazwę użytkownika i hasło .
  4. Połączenie zakończone (wyświetlona zostanie sesja Xfce).

*Adres IP można potwierdzić na maszynie Ubuntu używając polecenia ip a lub hostname -I.

Powszechne problemy i rozwiązania

SymptomCause and Solution
Screen is black after connectingUse Xfce instead of GNOME. Add startxfce4 to .xsession
„Session ended” is displayedUbuntu and xrdp session management are not compatible. Confirm Xfce installation
Connection drops after entering passwordPossible cause: SELinux or polkit settings. Check security logs

Ustawienia automatycznego uruchamiania/restartu (opcjonalne)

Jeśli chcesz, aby usługa xrdp uruchamiała się automatycznie przy starcie systemu, włącz ją następującym poleceniem:

sudo systemctl enable xrdp

5. Połączanie używając serwerów VNC (vino / tightvnc, itp.)

Czym jest VNC? Technologia pulpitu zdalnego dostępna na Ubuntu

VNC (Virtual Network Computing) to protokół do udostępniania ekranów przez sieć, charakteryzujący się dostępnością międzyplatformową na Windows, Linux, macOS i więcej. Instalując serwer VNC na Ubuntu, możesz łączyć się zdalnie z innych komputerów, smartfonów itp.

W porównaniu do RDP, VNC jest nieco bardziej skomplikowany w konfiguracji i ma wolniejszą prędkość renderowania, ale wyróżnia się pod względem udostępniania sesji i elastyczności miejsca docelowego połączenia. Jest to szczególnie wygodna opcja, gdy chcesz, aby wielu użytkowników jednocześnie oglądało i obsługiwało ten sam ekran pulpitu.

Główne serwery VNC dostępne na Ubuntu

Następujące serwery VNC są powszechnie używane na Ubuntu:

Server NameFeatures
vinoIntegrated into the GNOME environment, setup is completed via GUI. Suitable for beginners.
tightvncserverLightweight, fast, and has been used for a long time. Command-line centric.
x11vncCan access the currently logged-in session. Ideal for GUI session sharing.

Jak używać vino w środowisku GNOME (Ubuntu 20.04~22.04)

GNOME ma wbudowaną funkcję serwera VNC o nazwie „vino„, którą można łatwo skonfigurować z GUI.

1. Zainstaluj niezbędne pakiety (jeśli nie są już zainstalowane)

sudo apt install vino -y

2. Włącz zdalne sterowanie z „Ustawień”

  1. Otwórz aplikację „Ustawienia”.
  2. Wybierz „Udostępnianie” > „Udostępnianie ekranu”.
  3. Przełącz „Udostępnianie ekranu” na WŁĄCZONE.
  4. Włącz „Zezwalaj na połączenia z tego komputera”.
  5. Skonfiguruj uwierzytelnianie hasłem (mocno zalecane ze względów bezpieczeństwa).

*Jeśli GNOME jest w sesji Wayland, vino może nie działać poprawnie, więc musisz zalogować się z X.org (wyjaśnione w rozdziale 3).

3. Test połączenia

Użyj klienta VNC (np. RealVNC Viewer, TigerVNC) z innego komputera, aby połączyć się z adresem IP Ubuntu.
Adres będzie w formacie takim jak 192.168.1.100:5900.

Do użycia w CLI: tightvncserver

Do użytku serwerowego lub jeśli chcesz lekką instalację bez GUI, tightvncserver to klasyczny wybór.

1. Instalacja

sudo apt install tightvncserver -y

2. Ustaw hasło przy pierwszym uruchomieniu

vncserver

Zostaniesz poproszony o wprowadzenie hasła połączenia przy pierwszym uruchomieniu.

3. Uruchom sesję VNC

vncserver :1

To uruchomi sesję VNC na porcie 5901 (5900 + numer wyświetlacza).

4. Skonfiguruj lekkie środowisko pulpitu jak Xfce na Ubuntu (Opcjonalnie)

Ponieważ tightvnc nie jest bardzo kompatybilny z GNOME, powszechnie opisuje się następujące w pliku ~/.vnc/xstartup, aby uruchomić z sesją Xfce:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Nadaj skryptowi uprawnienia do wykonania:

chmod +x ~/.vnc/xstartup

Uwaga dotycząca bezpieczeństwa: Zalecana jest kombinacja z tunelem SSH

Protokół VNC nie szyfruje zawartości komunikacji. Dlatego, podczas używania poza LAN lub przez internet, mocno zaleca się używanie w kombinacji z tunelem SSH.

Przykład: Połącz na lokalnym PC w następujący sposób:

ssh -L 5901:localhost:5901 your-user@remote-ubuntu

Po tym, łącząc się z localhost:5901 za pomocą widoku VNC, możesz komunikować się bezpiecznie.

Podsumowanie: VNC jest elastyczny, ale wymaga świadomości bezpieczeństwa

VNC jest doskonały do zdalnych połączeń z Ubuntu pod względem elastyczności i wsparcia wieloplatformowego, ale jest wrażliwy, jeśli nie zostaną podjęte środki bezpieczeństwa. Szczególnie podczas używania z zewnętrznej sieci, mocno zalecamy wykorzystanie tunelu SSH.

Ponadto, w zależności od celu, możesz wybrać serwer VNC: vino do łatwego użycia opartego na GUI, tightvnc do lekkiego/użycia serwerowego oraz x11vnc, jeśli chcesz udostępnić aktualnie zalogowaną sesję.

6. Jak połączyć się z Ubuntu z Windows [Introducing Connection Clients]

Zdalna obsługa Ubuntu wymaga narzędzi po stronie łączącej

Nawet jeśli ukończyłeś ustawienia pulpitu zdalnego po stronie Ubuntu, nadal potrzebujesz kompatybilnego oprogramowania klienta na łączącym się PC (zazwyczaj Windows). Windows ma standardowego klienta RDP, ale w zależności od potrzeb, możesz również wybrać bardziej bogate w funkcje oprogramowanie.

Ten rozdział wprowadzi główne metody łączenia się z Ubuntu z Windows, wyjaśnione prosto według protokołu.

Podczas używania RDP: Standardowe „Połączenie pulpitu zdalnego” Windows

Jeśli Twoja maszyna Ubuntu obsługuje RDP (zarówno xrdp, jak i standardową funkcję RDP GNOME), możesz uzyskać do niej dostęp za pomocą aplikacji „Remote Desktop Connection” wbudowanej w system Windows.

Kroki połączenia

  1. Naciśnij Klawisz Windows + R, wpisz „mstsc” i naciśnij Enter.
  2. Wpisz adres IP Ubuntu (np. 192.168.1.10) w polu „Computer”.
  3. Kliknij „Connect”.
  4. Wpisz nazwę użytkownika i hasło oraz ukończ połączenie.

Zalety

  • Nie wymaga instalacji oprogramowania.
  • Szybka i stabilna obsługa.
  • Znany interfejs użytkownika dla użytkowników Windows.

Uwagi

  • Nie można używać, jeśli docelowe Ubuntu nie obsługuje RDP (starsze wersje wymagają konfiguracji xrdp).
  • Zakłada użycie w sieci lokalnej (dla połączeń zewnętrznych potrzebne jest VPN lub tunel SSH).

Podczas używania VNC: Użyj oprogramowania klienta VNC

Jeśli po stronie Ubuntu jest zainstalowany serwer VNC (vino, tightvnc itp.), możesz również połączyć się z Windows za pomocą widoku VNC.

Zalecane oprogramowanie klienta VNC

Software NameFeatures
RealVNC ViewerSupports both commercial and non-commercial use. Has a polished UI and is easy for beginners to use.
TigerVNC ViewerOpen source. Simple in features but lightweight and fast in operation.
TightVNC ViewerA long-standing classic. Operates quickly with minimal features.

Kroki połączenia (przykład z RealVNC)

  1. Zainstaluj i uruchom RealVNC Viewer.
  2. Wpisz miejsce docelowe połączenia, np. 192.168.1.10:5900 (lub 5901 itp.).
  3. Kliknij „Connect” i wpisz hasło VNC.
  4. Ekran Ubuntu zostanie wyświetlony, umożliwiając zdalną obsługę.

Uwagi

  • Komunikacja nie jest szyfrowana, dlatego konieczne jest połączenie z tunelem SSH dla bezpiecznego użycia.
  • Płynność renderowania jest nieco gorsza niż w RDP.

Remmina: Bogaty w funkcje klient wieloprotokołowy (może być również używany na Ubuntu)

Remmina to klient pulpitu zdalnego, który może zarządzać wieloma metodami połączeń, takimi jak RDP, VNC i SSH w jednej aplikacji. Pochodnie dla Linuksa, dostępna jest również wersja dla Windows, umożliwiająca wspólną obsługę na obu platformach.

Funkcje

  • Ujednolicone zarządzanie połączeniami RDP, VNC i SSH w jednej aplikacji.
  • Wielofunkcyjne funkcje, takie jak zapisywanie profili połączeń i skalowanie.
  • Może być również używany po stronie Ubuntu, co czyni go użytecznym do połączeń z Ubuntu do Windows.

Instalacja na Windows

  • Można go używać, pobierając instalator ze oficjalnej strony Remmina (https://remmina.org).

Jak sprawdzić adres IP (po stronie Ubuntu)

Aby połączyć się z Windows, musisz znać lokalny adres IP maszyny Ubuntu. Możesz go sprawdzić na Ubuntu za pomocą jednej z następujących metod:

Sprawdzanie przez GUI

  • Sprawdź szczegółowe informacje z „Settings” > „Network” > „Wired” lub „Wi-Fi”.

Sprawdzanie w terminalu

ip a

Or

hostname -I

Użyj adresu w formacie 192.168.*.* wyświetlanego przez powyższe polecenia.

Suplement sieciowy

Załóżmy, że maszyna łącząca i maszyna docelowa znajdują się w tej samej LAN. Jeśli chcesz połączyć się z innej sieci lub z zewnątrz, będziesz potrzebować środków takich jak następujące:

  • Konfiguracja VPN (Virtual Private Network)
  • Konfiguracja przekierowania portów na routerze (wymaga rozważań bezpieczeństwa)
  • Zabezpieczenie bezpiecznej trasy za pomocą tunelu SSH (wyjaśnione później)

Podsumowanie: Wybierz klienta na podstawie celu

Connection MethodRecommended ClientPrimary Use Case
RDPWindows standard „Remote Desktop Connection”Easy and comfortable for Windows to Ubuntu connection
VNCRealVNC / TigerVNC / TightVNCWant to share operation with multiple devices, or use on Mac/smartphone
SSHRemminaSecure command-line and GUI combined connection

Po skonfigurowaniu strony Ubuntu, wybór optymalnego klienta na podstawie środowiska Windows umożliwi bezstresową zdalną obsługę.

7. Rozwiązywanie problemów z wprowadzaniem japońskiego i ustawieniami klawiatury

Problem „Nie można wprowadzić japońskiego” podczas połączenia zdalnego

Gdy obsługujesz Ubuntu zdalnie, możesz napotkać problemy takie jak „nie można wprowadzić japońskiego”, „klawisz pół-szerokości/pełnej szerokości nie działa” lub „nie można wprowadzić backslash ()”. Dzieje się tak z powodu różnic w środowisku sesji spowodowanych połączeniem zdalnym, co powoduje, że ustawienia wejścia różnią się od lokalnej obsługi.

Ten rozdział szczegółowo opisze powszechne problemy z wprowadzaniem japońskiego i klawiaturą, które mogą wystąpić podczas zdalnych połączeń z Ubuntu, oraz ich rozwiązania.

Nie można wprowadzić japońskiego / IME nie działa

Główne przyczyny

  • Metoda wprowadzania (IME) nie uruchamia się w sesji zdalnej.
  • Frameworki wprowadzania, takie jak fcitx lub ibus, nie współpracują dobrze z każdą sesją.
  • Problemy z kompatybilnością między sesją GNOME a RDP.

Rozwiązanie 1: Wyraźnie Uruchom Mozc + fcitx

Wspólnym środowiskiem wprowadzania japońskiego na Ubuntu jest kombinacja „fcitx-mozc„. Jeśli to środowisko nie uruchamia się automatycznie podczas połączenia zdalnego, często możesz rozwiązać problem, uruchamiając je ręcznie za pomocą następujących poleceń:

fcitx-autostart

Lub

fcitx -r

Rozwiązanie 2: Spróbuj Ponownej Konfiguracji Metod Wprowadzania dla Każdej Sesji

  1. Sprawdź Ustawienia > Region i Język > Źródła Wprowadzania.
  2. Potwierdź, że „Japanese (Mozc)” jest włączone.
  3. Jeśli nie, kliknij „+” aby dodać wprowadzanie japońskie.

Zmiany mogą być odzwierciedlone po wylogowaniu i ponownym zalogowaniu, więc spróbuj wykonać wylogowanie i logowanie.

Klawisz Pół-szerokości/Pełna-szerokość Nie Działa, Mapowanie Klawiszy Się Przesuwa

W połączeniach pulpitu zdalnego rozpoznawanie układu klawiatury może być niespójne. Szczególnie z powodu różnic w układach między japońskimi (JIS) a angielskimi (US) klawiaturami, często występują problemy, w których pozycje klawiszy takich jak „backslash ()” lub „@” się zmieniają.

Rozwiązanie: Wyraźnie Określ Układ Klawiatury

  1. Ustawienia > Region i Język > Źródła Wprowadzania.
  2. Wybierz „Japanese (Japanese)” lub „Japanese (OADG 109A)” itp.
  3. Jeśli to konieczne, zastosuj ustawienia za pomocą polecenia setxkbmap:
    setxkbmap -model jp106 -layout jp
    

Możesz dodać to ustawienie do .xsession lub .bashrc, aby było stosowane automatycznie po zalogowaniu zdalnym.

Nie Można Wprowadzić Backslash () lub Pipe (|)

Ten problem, który jest szczególnie powszechny podczas połączeń RDP, jest spowodowany przez xrdp nie otrzymujące poprawnie kodów klawiszy.

Obejście: Wymuś Zmianę Mapowania Klawiatury

  1. Edytuj następujący plik:
    sudo nano /etc/xrdp/km-0411.ini
    
  1. Ten plik definiuje mapowanie odpowiadające japońskiej klawiaturze. Może być konieczne ręczne poprawienie różnic z układem angielskim, jeśli to konieczne (dla zaawansowanych użytkowników).

Bardziej praktyczną metodą jest unikanie tego problemu poprzez używanie protokołu innego niż xrdp (takiego jak VNC).

Alternatywne Metody, Gdy Przełączanie Wprowadzania Nie Odpowiada

Jeśli klawisz pół-szerokości/pełna-szerokość nie działa poprawnie, możesz użyć alternatywnych klawiszy, takich jak poniższe, aby przełączać wprowadzanie japońskie włącz/wyłącz:

Dla Mozc (fcitx):

  • Ctrl + Spacja (Domyślne)
  • Shift + Spacja (Zmienne)

Możesz również zmienić klawisze skrótów z aplikacji ustawień fcitx.

Ostatnia Desperacka Metoda, Gdy Wprowadzanie Japońskie Jest Niemożliwe: Użyj Edytora + Kopiuj/Wklej

W środowiskach, w których wprowadzanie japońskie jest całkowicie niemożliwe, skutecznym tymczasowym obejściem jest wpisanie tekstu po japońsku po stronie lokalnej (Windows), skopiowanie go i wklejenie do edytora na Ubuntu.

Podsumowanie: Zachowanie Środowiska Japońskiego Różni Się w Zależności od Metody Połączenia

SymptomMain CauseSolution
Cannot input JapaneseIME not started, session mismatchRestart fcitx-mozc, add input source
Key layout is shiftedKeyboard layout mismatchExplicit setting with setxkbmap
Cannot input backslashxrdp keymap issueModify km file, switch to using VNC

W zdalnych środowiskach Ubuntu problemy z wprowadzaniem z klawiatury różniące się od lokalnej obsługi są skłonne do występowania. Dlatego ważne jest sprawdzenie ustawień i znajomość alternatywnych metod z wyprzedzeniem.

8. Bezpieczne Metody Połączenia [SSH Tunnel]

Połączenie Zdalne i Ryzyka Bezpieczeństwa

Funkcje pulpitu zdalnego Ubuntu (RDP i VNC) są wygodne, ale udostępnianie ich bezpośrednio w internecie jest niebezpieczne. Jeśli zawartość komunikacji nie jest szyfrowana lub dostęp jest możliwy tylko z uwierzytelnianiem hasłem, istnieje ryzyko nieautoryzowanego dostępu i podsłuchu przez osoby trzecie.

Jako środek zaradczy powszechnie zalecane jest używanie tunelu SSH. Tunel SSH tworzy bezpieczną, szyfrowaną „ścieżkę (tunel)” i kieruje komunikację taką jak VNC lub RDP przez nią, umożliwiając bezpieczny dostęp do Ubuntu nawet z zewnątrz.

[Windows] --(SSH encrypted)--> [Ubuntu]
   |
   +--> (Port forwarding for VNC or RDP internally)

Czym Jest Tunel SSH? Przegląd Mechanizmu

Tunel SSH jest mechanizmem wykorzystującym funkcjonalność połączenia SSH (Secure Shell) do bezpiecznego przekazywania komunikacji dla innych aplikacji. Dzięki temu komunikacja, która pierwotnie nie jest szyfrowana, taka jak VNC czy RDP, może być wysyłana i odbierana przez zabezpieczoną ścieżkę SSH.

Przygotowanie: Włączenie połączenia SSH

Jeśli SSH nie jest zainstalowane po stronie Ubuntu, zainstaluj je przy użyciu następujących poleceń:

sudo apt update
sudo apt install openssh-server -y

Po instalacji sshd uruchomi się automatycznie, ale sprawdźmy jego status na wszelki wypadek:

sudo systemctl status ssh

Jeśli masz włączoną zaporę (UFW), zezwól na port SSH (22):

sudo ufw allow ssh

Jak utworzyć tunel SSH z Windows (Przykład: przekierowanie portu VNC 5901)

Metoda 1: Uruchomienie z Windows Terminal (PowerShell, itp.) przy użyciu polecenia ssh

ssh -L 5901:localhost:5901 your-user@ubuntu-ip
  • 5901:localhost:5901 – przekierowuje port 5901 lokalnego komputera na port 5901 Ubuntu.
  • your-user@ubuntu-ip – nazwa użytkownika i adres IP Ubuntu.

Trzymając to polecenie w działaniu, połącz się z klientem VNC w następujący sposób:

localhost:5901

→ Komunikacja dotrze do serwera VNC na Ubuntu przez tunel SSH i połączenie będzie zabezpieczone.

Metoda 2: Użycie klientów SSH, takich jak Tera Term lub PuTTY (GUI)

  • W ustawieniach „TCP Port Forwarding” w Tera Term podaj porty lokalny i zdalny.
  • Jest to wygodne dla osób, które wolą zarządzać ustawieniami za pomocą interfejsu graficznego.

Tunel SSH może być również używany dla RDP

Podobnie możesz zabezpieczyć połączenia RDP (port 3389) przy pomocy SSH.

ssh -L 3389:localhost:3389 your-user@ubuntu-ip

Po tym, uzyskaj dostęp do „localhost:3389” za pomocą Windows Remote Desktop Connection.

Jeszcze większe bezpieczeństwo dzięki uwierzytelnianiu kluczem publicznym

Jeśli chcesz dodatkowo zwiększyć bezpieczeństwo połączeń SSH, powinieneś wdrożyć metodę uwierzytelniania kluczem publicznym.

Kroki (tworzenie kluczy po stronie Windows):

  1. Wykonaj następujące polecenie w PowerShell:
    ssh-keygen
    
  1. Skopiuj wygenerowany klucz publiczny na Ubuntu:
    ssh-copy-id your-user@ubuntu-ip
    

*Alternatywnie, ręcznie dopisz go do ~/.ssh/authorized_keys.

  1. Sprawdź następujące ustawienia w pliku /etc/ssh/sshd_config na Ubuntu:
    PubkeyAuthentication yes
    PasswordAuthentication no
    

Następnie zrestartuj sshd:

sudo systemctl restart ssh

Zalety i wady tunelu SSH

ItemDescription
✅ AdvantageCommunication is encrypted, providing very high security.
✅ AdvantageAvoids directly exposing RDP or VNC to the internet.
❌ DisadvantageInitial setup is somewhat complex and requires command-line operations each time.
❌ DisadvantageConnection is severed when the tunnel is closed (requires reconnecting).

Podsumowanie: Tunel SSH jest niezbędny do zdalnego dostępu

Podczas pracy z Ubuntu zdalnie, szczególnie przy dostępie spoza własnej sieci lub w podróży, bezpieczne połączenie przez tunel SSH jest nieodzowne. Gdy już się do tego przyzwyczaisz, jest to bardzo potężna metoda, a łącząc ją z innymi protokołami, takimi jak VNC czy RDP, możesz zbudować bezpieczne i wygodne środowisko zdalne.

9. [FAQ] Najczęściej zadawane pytania o zdalny pulpit Ubuntu

P1. Co powoduje, że połączenie zdalne Ubuntu nie działa?

Odp. Istnieje wiele przyczyn, ale sprawdzenie poniższych punktów może pomóc znaleźć rozwiązanie.

  • Czy adres IP jest prawidłowy?
  • Czy Ubuntu jest podłączone do tej samej sieci LAN?
  • Czy zapora (UFW) blokuje komunikację?
  • Czy docelowy Ubuntu jest zalogowany w sesji X.org (dla RDP)?
  • Czy xrdp lub VNC działają poprawnie?

Najpierw sprawdź status każdego serwisu w terminalu w następujący sposób:

sudo systemctl status xrdp
sudo systemctl status ssh

P2. Co zrobić, gdy ekran jest przerywany lub połączenie się rozłącza?

Odp. Zwykle wynika to z niewystarczającej przepustowości sieci lub różnic w metodach renderowania. Oto kilka rozwiązań:

  • W RDP ustawienie „tryb niskiej przepustowości” może poprawić wydajność.
  • W VNC użycie lekkiego środowiska graficznego (np. Xfce) może pomóc.
  • Unikaj ciężkich zadań, takich jak odtwarzanie wideo czy przetwarzanie grafiki 3D, podczas połączenia zdalnego.
  • Korzystanie z przewodowego LAN zamiast Wi‑Fi może zwiększyć stabilność.

P3. Czy mogę połączyć się zdalnie z Ubuntu do Windows?

A. Tak, jest to możliwe. Ubuntu ma bogaty w funkcje klient zdalnego pulpitu o nazwie Remmina, który może łączyć się ze standardowym serwerem RDP Windows (włączonym w wersji Pro i wyższych).

Kroki do użycia Remminy na Ubuntu:

sudo apt install remmina -y
  1. Uruchom Remminę.
  2. Utwórz „Nowe połączenie”.
  3. Wybierz „RDP” jako protokół i wprowadź adres IP Windowsa oraz informacje logowania.
  4. Rozpocznij połączenie.

Q4. Chcę połączyć się z Ubuntu spoza domu lub z innej sieci.

A. Aby połączyć się z Ubuntu z zewnętrznej sieci, potrzebujesz jednej z następujących metod:

  • Ustaw VPN (Wirtualną Sieć Prywatną).
  • Użyj tunelu SSH (wyjaśnione w rozdziale 8).
  • Skonfiguruj przekierowanie portów na routerze (niezalecane).

Przekierowanie portów jest łatwe do ustawienia, ale niesie wysokie ryzyko bezpieczeństwa, dlatego zalecamy VPN lub tunel SSH.

Q5. Chcę łączyć się bez wpisywania hasła za każdym razem.

A. Dla połączeń SSH możesz pominąć wpisywanie hasła, używając uwierzytelniania kluczem publicznym (również skuteczne dla poprawy bezpieczeństwa).
Dla RDP i VNC możliwe jest pewne uproszczenie poprzez ustawienie automatycznego logowania po stronie Ubuntu, ale postępuj ostrożnie, ponieważ zwiększa to ryzyko bezpieczeństwa.

Q6. Dlaczego nie mogę wprowadzać japońskiego / dlaczego klawisze są przesunięte?

A. Jest to głównie spowodowane niepowodzeniem uruchomienia metody wprowadzania lub nieprawidłowym rozpoznaniem układu klawiatury.
Szczegóły są wyjaśnione w rozdziale 7, ale następujące kroki są ogólnie skuteczne:

  • Uruchom ponownie/inicjalizuj fcitx lub ibus.
  • Wyraźnie ustaw układ za pomocą polecenia setxkbmap.
  • Sprawdź ustawienia GUI podczas używania VNC.

Q7. Czy mogę używać zdalnego połączenia za darmo?

A. Tak, Ubuntu, xrdp, Remmina, VNC itp. są wszystkie open source i darmowe. Niektóre komercyjne funkcje przeglądarek VNC (np. RealVNC) i usługi VPN mają płatne plany, ale możesz zbudować w pełni darmowe środowisko do użytku osobistego.

Q8. Czy wiele osób może jednocześnie obsługiwać Ubuntu?

A. Zazwyczaj standardowe połączenie RDP to jedna sesja na użytkownika.
Z VNC możliwe jest, aby wielu użytkowników dzieliło ten sam ekran. Jednak, ponieważ operacje mogą kolidować, nadaje się to do użytku w edukacji lub wskazówkach.

Q9. Ubuntu przechodzi w tryb uśpienia podczas zdalnej operacji.

A. Gdy Ubuntu wchodzi w tryb uśpienia lub zawieszenia, połączenie zdalne jest przerywane. Podejmij następujące środki:

  • Zmień ustawienie „Suspend” w „Settings” > „Power” na „Don’t suspend”.
  • Szczegółowe ustawienia można również zmienić za pomocą polecenia gsettings:
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
    

Q10. Które jest lepsze, RDP czy VNC?

A. Nie ma ostatecznej odpowiedzi, które jest lepsze, ale możesz wybrać na podstawie następujących:

PriorityRecommendation
Connection comfort/rendering speedRDP
Shared operation by multiple usersVNC
Compatibility with Windows usersRDP
Security focus (assuming SSH combined)Either is fine

10. Wniosek: Opanuj zdalne połączenie na Ubuntu łatwo i bezpiecznie

Zdalny pulpit Ubuntu nie jest trudny

Być może niektórzy z was mieli obraz, że „Linux jest trudny” lub „zdalne połączenie jest niemożliwe bez specjalistycznej wiedzy”. Jednak poprzez ten artykuł powinno stać się jasne, że zdalne połączenie pulpitu Ubuntu jest w rzeczywistości dość praktyczną i dostępną technologią, nawet dla początkujących.

W Ubuntu 22.04 i nowszych standardowa funkcjonalność RDP jest wbudowana, umożliwiając konfigurację za pomocą samych operacji GUI. Nawet w starszych wersjach możesz łączyć się z Windows bez problemów, używając narzędzi takich jak xrdp i VNC.

Wybierz metodę połączenia, która ci odpowiada

Istnieje wiele sposobów na zdalne połączenie z Ubuntu. Każda ma swoje zalety i wady, i ważne jest, aby używać ich selektywnie w zależności od twojego środowiska i celu.

PurposeRecommended Connection MethodComment
Easy connection within the homeRDP (Ubuntu standard or xrdp)Easy and comfortable to use from Windows
Secure connection from outsideRDP or VNC + SSH TunnelBuild a secure encrypted path
Sharing the same screen with multiple peopleVNC (vino / x11vnc)Convenient for collaborative work and educational settings
CLI-centric management operationSSH (Terminal connection)Lightweight and robust remote management method

Środki bezpieczeństwa: Ten „pierwszy mały wysiłek” jest ważny

Wraz z wygodą zdalne połączenie niesie również ryzyka bezpieczeństwa. Szczególnie podczas eksponowania VNC lub RDP w internecie zawsze łącz je z tunelem SSH lub VPN i przejrzyj uwierzytelnianie hasłem oraz ustawienia firewalla.

Also, implementing public key authentication for SSH can make daily connections both secure and smooth.

Problemy się zdarzają, ale istnieją rozwiązania

As introduced in this article, issues like Japanese input, key mapping, connection failures, or black screens can occur, but there are established solutions for each. If you calmly check the cause one by one, most problems can be resolved on your own.

If you run into trouble, you can always come back to this page for a quick review.

Zrób pierwszy krok

Once built, the Ubuntu remote desktop environment is a that can significantly improve daily work efficiency. From remotely managing a home server to operating a development Ubuntu environment from a laptop, the possibilities are endless.

If you haven’t tried it yet, start with RDP connection within the same LAN. You’ll be surprised how easily new possibilities for Ubuntu can open up.

That concludes the Complete Guide to Ubuntu Remote Desktop Connection.
Thank you for reading!

侍エンジニア塾