У файл /etc/xrdp/xrdp.ini додайте адресу = 0.0.0.0, яка є типовою адресою xrdp.
Також ви повинні дозволити брандмауеру прослуховувати з'єднання порту 3389, над яким працює xrdp. Для цього виконайте:
sudo ufw allow 3389
Якщо це не працює:
- Перезавантажте ПК
- Вимкніть брандмауер (
sudo ufw disable
) на ПК на сервері та повторіть перевірку (може знадобитися ще один перезапуск).
У випадку, якщо ви пропустили це, я перерахую всю процедуру нижче (яку було болю збирати). У вас все буде добре, якщо дотримуватися крок за кроком (обіцяйте!).
Віддалений робочий стіл між покроковим посібником будь-якої ОС
Я . Windows в / з Windows:
Використовуйте програмне забезпечення Windows Remote Desktop
II . Linux / Unix до / з будь-якого місця
Спочатку виконайте наступне на серверному комп'ютері, до якого ви підключитесь через віддалений робочий стіл:
- Allow other users to view your desktop
- Best to require a password
- service ssh status
- To allow computers to connect with X11 graphics system capabilities as well, you need to
install an X11 server on the computer that is trying to connect (client). So
* for a Windows computer use XMing
* for a Linux Ubuntu computer use XQuartz
ІІа . Windows до Linux з терміналу з підтримкою графіки
- Launch XMing on Windows client
- Launch Putty
* Fill in basic options
* Connection -> SSH -> X11
-> Enable X11 forwarding
-> X display location = :0.0
-> MIT-Magic-Cookie-1
-> X authority file for local display = point to the Xming.exe executable
IIb . (для кращого) Windows для Linux з повною підтримкою графічного інтерфейсу. Це те, що хоче більшість із вас.
- install xrdp which uses the remote desktop protocol to present a GUI to the user.
It can provide a fully functional Linux terminal server, capable of accepting connections
from rdesktop, freerdp, and Microsoft's own terminal server / remote desktop clients.
xrdp is the daemon that handles RDP remote desktop access from Windows machines to Linux
- edit the "/etc/xrdp/xrdp.ini" file to include the line:
address=0.0.0.0
right under #background=626x72 line. 0.0.0.0 is the local server address of xrdp
- Restart xrdp service
- allow xrdp port (probably 3389) through firewall
- We also need a VNC server. Install tightvncserver on Linux server machine.
- run tightvncserver (no need to create a view-only password)
- "netstat -lvp | grep vnc" to check out the ports that tightvnc is listening on for
connections
- allow the vncserver port from the firewall: sudo ufw allow #
- allow the xrdp server
- Install xfce4 desktop environment an update to xfce, minimalistic faster and lightweight
sudo apt-get install xfce4
- sudo apt-get install xfce4-terminal : way better than xterm
- sudo apt-get install gnome-icon-theme-full tango-icon-theme : installs icon sets
- Now we modify 2 files to make sure xrdp uses xfce4
* echo xfce4-session >~/.xsession
* secondly we modify startup file for xRDP located at /etc/xrdp/startwm.sh
so it will start xfce4. Replace the last line with
startxfce4
(before it had something which started with a ., but no matter whatever it is, just
replace the last line)
* restart xrdp service: sudo service xrdp restart
- Now you are ready to log into the computer from client using Remote Desktop (mstsc.exe).
Just supply the ipv4 or hostname of the VNC server.
ІІІ . * nix до / від * nix
- ssh -X [preferedUserName]@[targetIpv4Address] : -X flag enales X11 forwarding
- accept security certificates from trusted hosts when prompted
IV . Захист з'єднання (необов'язковий крок - стосується будь-якої конфігурації)
Протоколи VNC & xrdp не захищені, що означає, що вони не зашифровані.
Щоб захистити з'єднання, відредагуйте файл /etc/xrdp/xrdp.ini так, щоб адреса стала 127.0.0.1. Це буде localhost адреса ssh-сервера. Шифрування SSH буде використовуватися під тунелем трафіку vnc.
- sudo service xrdp restart
- sudo service ssh restart
- pkill Xtightvnc
- tightvncserver
- putty -> Connection -> SSH -> Tunnels
* Source port: 5555
* Destination: localhost:3389
Якщо вищезазначене не працює:
- Можливо, вам доведеться перезапустити обидва комп'ютери,
- Вимкніть брандмауер (
sudo ufw disable
) на ПК на сервері та повторіть перевірку (може знадобитися ще один перезапуск).
- Якщо вище не працює, ви зіпсували систему, встановивши конфліктні пакети. На цьому вам потрібно виконати усунення несправностей вручну (дуже малоймовірно, що ви досягнете цього кроку, якщо правильно дотримуватись інструкцій).
Джерела та кредит: