آیا مایلید سرور اوبونتو خود را به جای خط فرمان با رابط گرافیکی مدیریت کنید؟ اوبونتو سرور به صورت پیشفرض رابط کاربری دسکتاپ ندارد. این عمدی است، زیرا سرورها طوری ساخته شدهاند که سبک باشند. با این حال، هیچ چیز مانع از نصب یکی از آنها توسط خودتان نمیشود و وقتی این کار را انجام میدهید، برای دسترسی از راه دور به Xrdp نیاز خواهید داشت.
Xrdp یک ابزار متنباز است که به شما امکان میدهد از کلاینتهای استاندارد پروتکل دسکتاپ از راه دور (RDP) مانند نمونهی داخلی ویندوز برای دسترسی به یک جلسهی کامل گرافیکی روی سرور اوبونتو خود استفاده کنید. آن را به عنوان جایگزین بصری SSH در نظر بگیرید. این ابزار برای مدیریت از راه دور، توسعه یا اجرای هر برنامهای که به رابط کاربری گرافیکی نیاز دارد، عالی است.
Xrdp چیست و چرا باید از آن در اوبونتو استفاده کنیم؟ #
این یک سرور پروتکل دسکتاپ از راه دور (RDP) متنباز است که دسترسی از راه دور گرافیکی را به سیستمهای لینوکس ارائه میدهد. این بدان معناست که میتوانید از کلاینتهای RDP رایج برای اتصال به دستگاه لینوکس خود استفاده کنید و یک تجربه دسکتاپ کامل را تجربه کنید.
چرا از Xrdp در اوبونتو استفاده کنیم؟ #
در اینجا چند دلیل برای اینکه چرا ممکن است بخواهید Xrdp را روی سرور اوبونتو خود راهاندازی کنید، آورده شده است:
- کار از هر مکانی: این به شما امکان دسترسی ایمن به دسکتاپ اوبونتو خود را از هر مکانی با اتصال به اینترنت میدهد.
- سازگاری بین پلتفرمی: میتوانید با استفاده از کلاینتهای استاندارد RDP که احتمالاً از قبل دارید، از ویندوز ، macOS یا یک دستگاه لینوکس دیگر متصل شوید.
- تجربه دسکتاپ کاملاً گرافیکی: برای اجرای برنامههای رابط کاربری گرافیکی مانند ویرایشگرهای متن، مرورگرها یا ابزارهای نظارتی که در ترمینال به راحتی قابل اجرا نیستند، عالی است.
- پشتیبانی از چندین کاربر: Xrdp میتواند جلسات دسکتاپ جداگانهای را برای کاربران مختلف به طور همزمان و بدون تداخل با یکدیگر مدیریت کند.
- امنیت و احراز هویت: Xrdp از رمزگذاری SSL/TLS پشتیبانی میکند و با سیستم احراز هویت کاربر موجود در اوبونتو ادغام میشود.
- راهکار مقرونبهصرفه: متنباز است و به راحتی با محیطهای دسکتاپ کارآمد مانند XFCE کار میکند.
سرور مجازی لینوکس با کنترل کامل #
با سرورهای لینوکس قابل تنظیم، حجم کاری خود را بهینه کنید، پردازندههای با کارایی بالا، فضای ذخیرهسازی قابل اعتماد و دسترسی کامل به ریشه را ارائه دهید.
پیش نیازها #
قبل از ادامه نصب، مطمئن شوید که موارد زیر را دارید:
- سرور اوبونتو با حداقل ۲ گیگابایت رم.
- یک کاربر غیر ریشه با امتیازات sudo.
- یک کلاینت ریموت دسکتاپ روی کامپیوتر محلی شما. ویندوز یک کلاینت پیشفرض دارد، در حالی که در لینوکس میتوانید از Remmina یا FreeRDP استفاده کنید و در macOS برنامهی Microsoft Remote Desktop وجود دارد .
نصب Xrdp در اوبونتو ۲۴.۰۴ #
این بخش شما را در مراحل نصب Xrdp روی سرور اوبونتو ۲۴.۰۴ راهنمایی میکند.
مرحله ۱: از طریق SSH به سرور خود متصل شوید #
پس از نصب و راهاندازی سرور ، از طریق SSH و با استفاده از فرمت زیر به سرور وارد شوید:
ssh user@ip_address
خروجیubuntu@5.199.162.156's password:
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.8.0-62-generic aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Thu Sep 25 08:45:36 EEST 2025
System load: 0.0 Processes: 153
Usage of /: 2.3% of 95.82GB Users logged in: 1
Memory usage: 1% IPv4 address for eth0: 5.199.162.156
Swap usage: 0%
Expanded Security Maintenance for Applications is not enabled.
۰ updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
مرحله ۲: بهروزرسانی بستههای سیستمی #
قبل از نصب نرمافزار جدید، بهتر است بستههای خود را بهروزرسانی کنید:
sudo apt update && sudo apt upgrade -y
خروجیHit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease [126 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease [126 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 Packages [15.3 MB]
Get:6 http://ports.ubuntu.com/ubuntu-ports noble/universe Translation-en [5982 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 Components [3573 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 c-n-f Metadata [295 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports noble/multiverse arm64 Packages [223 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports noble/multiverse Translation-en [118 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports noble/multiverse arm64 Components [31.6 kB]
Get:12 http://ports.ubuntu.com/ubuntu-ports noble/multiverse arm64 c-n-f Metadata [7152 B]
Get:13 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 Packages [1514 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports noble-updates/main Translation-en [282 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 Components [172 kB]
Get:16 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 c-n-f Metadata [15.0 kB]
Get:17 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe arm64 Packages [1420 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe Translation-en [299 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe arm64 Components [376 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe arm64 c-n-f Metadata [29.8 kB]
Get:21 http://ports.ubuntu.com/ubuntu-ports noble-updates/restricted arm64 Packages [2705 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports noble-updates/restricted Translation-en [441 kB]
Get:23 http://ports.ubuntu.com/ubuntu-ports noble-updates/restricted arm64 Components [212 B]
Get:24 http://ports.ubuntu.com/ubuntu-ports noble-updates/restricted arm64 c-n-f Metadata [492 B]
Get:25 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse arm64 Packages [27.0 kB]
Get:26 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse Translation-en [5500 B]
Get:27 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse arm64 Components [212 B]
Get:28 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse arm64 c-n-f Metadata [304 B]
Get:29 http://ports.ubuntu.com/ubuntu-ports noble-backports/main arm64 Packages [39.9 kB]
Get:30 http://ports.ubuntu.com/ubuntu-ports noble-backports/main Translation-en [9152 B]
Get:31 http://ports.ubuntu.com/ubuntu-ports noble-backports/main arm64 Components [3584 B]
Get:32 http://ports.ubuntu.com/ubuntu-ports noble-backports/main arm64 c-n-f Metadata [272 B]
Get:33 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe arm64 Packages [30.1 kB]
Get:34 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe Translation-en [17.4 kB]
Get:35 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe arm64 Components [19.2 kB]
Get:36 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe arm64 c-n-f Metadata [1300 B]
Get:37 http://ports.ubuntu.com/ubuntu-ports noble-backports/restricted arm64 Components [216 B]
Get:38 http://ports.ubuntu.com/ubuntu-ports noble-backports/restricted arm64 c-n-f Metadata [116 B]
Get:39 http://ports.ubuntu.com/ubuntu-ports noble-backports/multiverse arm64 Components [212 B]
Get:40 http://ports.ubuntu.com/ubuntu-ports noble-backports/multiverse arm64 c-n-f Metadata [116 B]
Get:41 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 Packages [1244 kB]
Get:42 http://ports.ubuntu.com/ubuntu-ports noble-security/main Translation-en [197 kB]
Get:43 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 Components [18.5 kB]
Get:44 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 c-n-f Metadata [8480 B]
Get:45 http://ports.ubuntu.com/ubuntu-ports noble-security/universe arm64 Packages [862 kB]
Get:46 http://ports.ubuntu.com/ubuntu-ports noble-security/universe Translation-en [195 kB]
Get:47 http://ports.ubuntu.com/ubuntu-ports noble-security/universe arm64 Components [52.2 kB]
Get:48 http://ports.ubuntu.com/ubuntu-ports noble-security/universe arm64 c-n-f Metadata [17.6 kB]
Get:49 http://ports.ubuntu.com/ubuntu-ports noble-security/restricted arm64 Packages [2584 kB]
Get:50 http://ports.ubuntu.com/ubuntu-ports noble-security/restricted Translation-en [419 kB]
Get:51 http://ports.ubuntu.com/ubuntu-ports noble-security/restricted arm64 Components [212 B]
Get:52 http://ports.ubuntu.com/ubuntu-ports noble-security/restricted arm64 c-n-f Metadata [468 B]
Get:53 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse arm64 Packages [25.7 kB]
Get:54 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse Translation-en [5228 B]
Get:55 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse arm64 Components [212 B]
Get:56 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse arm64 c-n-f Metadata [384 B]
Fetched 39.0 MB in 6s (6652 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
۱۱۷ packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-headers-6.8.0-84 linux-headers-6.8.0-84-generic linux-image-6.8.0-84-generic linux-modules-6.8.0-84-generic linux-tools-6.8.0-84
linux-tools-6.8.0-84-generic
The following packages will be upgraded:
apport apport-core-dump-handler base-files bind9-dnsutils bind9-host bind9-libs bsdextrautils bsdutils cloud-init coreutils dirmngr dpkg eject
fdisk flash-kernel fwupd git git-man gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf gpgsm gpgv gzip iproute2 iputils-ping
iputils-tracepath jq keyboxd landscape-common libblkid1 libc-bin libc-dev-bin libc-devtools libc6 libc6-dev libfdisk1 libfwupd2 libgnutls30t64
libjq1 libmount1 libnetplan1 libnss-systemd libopeniscsiusr libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g
libperl5.38t64 libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 libsmartcols1 libsqlite3-0 libssh-4 libsystemd-shared libsystemd0
libtiff6 libudev1 libudisks2-0 libuuid1 libxml2 linux-headers-generic linux-headers-virtual linux-image-virtual linux-libc-dev
linux-tools-common linux-virtual locales motd-news-config mount netplan-generator netplan.io open-iscsi openssh-client openssh-server
openssh-sftp-server perl perl-base perl-modules-5.38 powermgmt-base python-apt-common python3-apport python3-apt python3-distupgrade
python3-netplan python3-problem-report python3-software-properties python3.12 python3.12-minimal snapd software-properties-common sudo systemd
systemd-dev systemd-hwe-hwdb systemd-resolved systemd-sysv systemd-timesyncd u-boot-tools ubuntu-pro-client ubuntu-pro-client-l10n
ubuntu-release-upgrader-core udev udisks2 util-linux uuid-runtime vim vim-common vim-runtime vim-tiny xxd
۱۱۷ upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
۶۱ standard LTS security updates
Need to get 233 MB of archives.
After this operation, 235 MB of additional disk space will be used.
...
مرحله ۳: نصب محیط دسکتاپ #
در مرحله بعد، یک محیط دسکتاپ سبک نصب کنید. XFCE به دلیل مصرف کم منابع برای استفاده از ریموت دسکتاپ توصیه میشود:
sudo apt install xfce4 xfce4-goodies -y
خروجیReading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
7zip accountsservice ... acl activity-log-manager adwaita-icon-theme alsa-topology-conf ...
... (A large number of dependency packages are required and listed here) ...
xfce4-xkb-plugin xfconf xfdesktop4 xfdesktop4-data xfonts-base ... xserver-xorg-video-vesa yelp yelp-xsl zeitgeist-core
Suggested packages:
7zip-standalone 7zip-rar gnome-control-center ... (Suggested dependency list omitted) ... zeitgeist-datahub
Recommended packages:
printer-driver-braille appmenu-qt jayatana ...
The following NEW packages will be installed:
7zip accountsservice accountsservice-ubuntu-schemas ...
...
xfwm4 xiccd xinit xinput xorg xorg-docs-core xserver-common xserver-xorg xserver-xorg-core
۰ upgraded, **721 newly installed**, 0 to remove and 0 not upgraded.
Need to get 317 MB of archives.
After this operation, **1331 MB of additional disk space will be used.**
Get:1 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 libasound2-data all 1.2.11-1ubuntu0.1 [21.1 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 libasound2t64 arm64 1.2.11-1ubuntu0.1 [386 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 bluez arm64 5.72-0ubuntu5.4 [1364 kB]
# --- Download log truncated: Packages 4 through 721 would be listed here ---
Get:57 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 libunity-gtk2-parser0 arm64 0.0.0+18.04.20171202-0u
...
مرحله ۴: نصب Xrdp #
با آماده شدن محیط دسکتاپ، وقت آن رسیده که خود سرور Xrdp را نصب کنیم.
sudo apt install xrdp -y
پس از اتمام نصب، Xrdp به طور خودکار شروع به کار میکند و برای اجرا در هنگام بوت فعال میشود.
خروجیReading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libfuse2t64 libpipewire-0.3-modules-xrdp pipewire-module-xrdp xorgxrdp
Suggested packages:
pipewire-bin guacamole
The following NEW packages will be installed:
libfuse2t64 libpipewire-0.3-modules-xrdp pipewire-module-xrdp xorgxrdp xrdp
۰ upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 700 kB of archives.
After this operation, 4551 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 libfuse2t64 arm64 2.9.9-8.1build1 [89.9 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 xrdp arm64 0.9.24-4 [525 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 libpipewire-0.3-modules-xrdp arm64 0.2-2 [19.6 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 pipewire-module-xrdp all 0.2-2 [3800 B]
Get:5 http://ports.ubuntu.com/ubuntu-ports noble/universe arm64 xorgxrdp arm64 1:0.9.19-1 [62.3 kB]
Fetched 700 kB in 1s (740 kB/s)
Selecting previously unselected package libfuse2t64:arm64.
(Reading database ... 162335 files and directories currently installed.)
Preparing to unpack .../libfuse2t64_2.9.9-8.1build1_arm64.deb ...
Unpacking libfuse2t64:arm64 (2.9.9-8.1build1) ...
Selecting previously unselected package xrdp.
Preparing to unpack .../xrdp_0.9.24-4_arm64.deb ...
Unpacking xrdp (0.9.24-4) ...
Selecting previously unselected package libpipewire-0.3-modules-xrdp:arm64.
Preparing to unpack .../libpipewire-0.3-modules-xrdp_0.2-2_arm64.deb ...
Unpacking libpipewire-0.3-modules-xrdp:arm64 (0.2-2) ...
Selecting previously unselected package pipewire-module-xrdp.
Preparing to unpack .../pipewire-module-xrdp_0.2-2_all.deb ...
Unpacking pipewire-module-xrdp (0.2-2) ...
Selecting previously unselected package xorgxrdp.
Preparing to unpack .../xorgxrdp_1%3a0.9.19-1_arm64.deb ...
Unpacking xorgxrdp (1:0.9.19-1) ...
Setting up libpipewire-0.3-modules-xrdp:arm64 (0.2-2) ...
Setting up xorgxrdp (1:0.9.19-1) ...
Setting up libfuse2t64:arm64 (2.9.9-8.1build1) ...
Setting up xrdp (0.9.24-4) ...
Generating 2048 bit rsa key...
ssl_gen_key_xrdp1 ok
saving to /etc/xrdp/rsakeys.ini
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp-sesman.service → /usr/lib/systemd/system/xrdp-sesman.service.
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /usr/lib/systemd/system/xrdp.service.
Setting up pipewire-module-xrdp (0.2-2) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Scanning processes...
Scanning candidates...
Scanning linux images...
Pending kernel upgrade!
Running kernel version:
۶.۸.۰-۶۲-generic
Diagnostics:
The currently running kernel version is not the expected kernel version 6.8.0-84-generic.
Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.
Restarting services...
Service restarts being deferred:
/etc/needrestart/restart.d/dbus.service
systemctl restart getty@tty1.service
systemctl restart serial-getty@ttyAMA0.service
systemctl restart systemd-logind.service
systemctl restart unattended-upgrades.service
No containers need to be restarted.
User sessions running outdated binaries:
root @ session #1: sshd[1128]
root @ user manager service: systemd[1133]
No VM guests are running outdated hypervisor (qemu) binaries on this host.
مرحله ۵: بررسی وضعیت سرویس Xrdp #
میتوانید وضعیت سرویس را با اجرای دستور زیر بررسی کنید:
sudo systemctl status xrdp
اگر همه چیز به درستی تنظیم شده باشد، باید ببینید که سرویس فعال و در حال اجرا است.
خروجی● xrdp.service - xrdp daemon
Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-09-25 09:11:55 EEST; 5min ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Process: 27177 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
Process: 27186 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 27187 (xrdp)
Tasks: 1 (limit: 28692)
Memory: 824.0K (peak: 1.6M)
CPU: 31ms
CGroup: /system.slice/xrdp.service
└─۲۷۱۸۷ /usr/sbin/xrdp
Sep 25 09:11:54 demo systemd[1]: Starting xrdp.service - xrdp daemon...
Sep 25 09:11:54 demo xrdp[27186]: [INFO ] address [0.0.0.0] port [3389] mode 1
Sep 25 09:11:54 demo xrdp[27186]: [INFO ] listening to port 3389 on 0.0.0.0
Sep 25 09:11:54 demo xrdp[27186]: [INFO ] xrdp_listen_pp done
Sep 25 09:11:54 demo systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: No such file or directory
Sep 25 09:11:55 demo systemd[1]: Started xrdp.service - xrdp daemon.
Sep 25 09:11:56 demo xrdp[27187]: [INFO ] starting xrdp with pid 27187
Sep 25 09:11:56 demo xrdp[27187]: [INFO ] address [0.0.0.0] port [3389] mode 1
Sep 25 09:11:56 demo xrdp[27187]: [INFO ] listening to port 3389 on 0.0.0.0
Sep 25 09:11:56 demo xrdp[27187]: [INFO ] xrdp_listen_pp done
پیکربندی Xrdp برای محیط دسکتاپ شما #
برای اینکه مطمئن شوید Xrdp هنگام اتصال، دسکتاپ XFCE را اجرا میکند، باید چند تنظیم را انجام دهید.
مرحله ۱: اضافه کردن Xrdp به گروه SSL-Cert #
ابتدا، مطمئن شوید که xrdpکاربر عضوی از ssl-certگروهی است که به گواهی SSL دسترسی دارد.
با این دستور xrdpکاربر را به گروه اضافه کنید :ssl-cert
sudo adduser xrdp ssl-cert
خروجیinfo: Adding user `xrdp' to group `ssl-cert' ...
مرحله ۲: پیکربندی جلسه Xrdp #
در مرحله بعد، یک فایل پیکربندی ساده در دایرکتوری خانگی خود ایجاد کنید تا Xrdp بداند کدام دسکتاپ را باید اجرا کند:
echo "xfce4-session" > ~/.xsession
هر کاربری که قصد اتصال از طریق Xrdp را دارد، باید این مرحله را در دایرکتوری خانگی خود انجام دهد.
مرحله ۳: سرویس Xrdp را مجدداً راه اندازی کنید #
پس از پیکربندی جلسه خود، Xrdp را مجدداً راه اندازی کنید تا تغییرات اعمال شود:
sudo systemctl restart xrdp
مرحله ۴: پیکربندی فایروال (UFW) برای مجاز کردن اتصالات RDP #
برای اینکه Xrdp اتصالات ورودی را بپذیرد، باید UFW را طوری پیکربندی کنید که اجازه عبور ترافیک روی پورت پیشفرض RDP، که ۳۳۸۹ است، را بدهد. برای اجازه دادن به اتصالات ورودی روی پورت پیشفرض RDP از یک آدرس IP خاص، دستور زیر را اجرا کنید:
sudo ufw allow from <trusted_IP_address> to any port 3389
<trusted_IP_address>با آدرس IP واقعی دستگاه کلاینت خود جایگزین کنید .
خروجیRule added
اگر UFW غیرفعال است، آن را فعال کنید:
sudo ufw enable
از شما خواسته میشود که تأیید کنید. تایپ کنید yو Enter را فشار دهید.
سپس تأیید کنید که قوانین شما فعال هستند:
sudo ufw status
باید ببینید که پورت ۳۳۸۹ اکنون برای آدرس IP انتخابی شما باز است.
خروجیStatus: active
To Action From
-- ------ ----
۲۲/tcp ALLOW Anywhere
۳۳۸۹ ALLOW <Trusted_IP_address>
۲۲/tcp (v6) ALLOW Anywhere (v6)
اتصال به اوبونتو ۲۴.۰۴ از طریق ریموت دسکتاپ #
پس از پیکربندی همه چیز، میتوانید با استفاده از هر کلاینت RDP به سرور اوبونتو ۲۴.۰۴ خود متصل شوید. در اینجا نحوهی اتصال در ویندوز آورده شده است، اگرچه این فرآیند در macOS یا لینوکس مشابه است.
مرحله ۱: اتصال ریموت دسکتاپ را باز کنید #
را فشار دهید Windows key + R، تایپ کنید mstscو Enter را بزنید یا به سادگی عبارت “Remote Desktop Connection” را در منوی استارت جستجو کنید.

مرحله ۲: جزئیات اتصال را وارد کنید #
در کادر محاورهای، آدرس IP سرور خود را در فیلد «Computer» وارد کنید، نام کاربری اوبونتو خود را در فیلد «User name» وارد کنید، سپس روی «Connect» کلیک کنید.

مرحله ۳: گواهی امنیتی را بپذیرید #
احتمالاً پیامی در مورد هویت کامپیوتر راه دور مشاهده خواهید کرد. برای ادامه، روی بله (Yes) کلیک کنید.

مرحله ۴: وارد کردن اطلاعات کاربری #
وقتی پنجره ورود به سیستم Xrdp ظاهر شد، مطمئن شوید که نوع جلسه روی Xorg تنظیم شده است. نام کاربری و رمز عبور اوبونتو خود را وارد کنید و روی OK کلیک کنید.

اکنون باید محیط دسکتاپ XFCE خود را آماده استفاده ببینید.

به خاطر داشته باشید که هر کاربر فقط میتواند یک جلسه فعال در یک زمان داشته باشد. اگر بدون پایان دادن به جلسه قبلی دوباره وارد سیستم شوید، ممکن است با صفحه سیاه یا خطای اتصال مواجه شوید.
نتیجه گیری #
با نصب Xrdp روی سرور اوبونتو خود، یک روش انعطاف پذیر و گرافیکی برای مدیریت سیستم از راه دور به خود دادهاید. چه یک توسعهدهنده، مدیر سیستم یا صرفاً کسی باشید که رابط کاربری دسکتاپ را ترجیح میدهد، این تنظیمات راهی آسان و ایمن برای دسترسی به سرور شما از هر مکانی فراهم میکند. از اینجا، میتوانید پیکربندیها و بهبودهای امنیتی بیشتری را برای تطبیق تجربه دسکتاپ از راه دور خود با نیازهای خاص خود بررسی کنید.
