{"id":1590,"date":"2026-01-01T21:52:30","date_gmt":"2026-01-01T21:52:30","guid":{"rendered":"https:\/\/b2bhostingclub.com\/blog\/?p=1590"},"modified":"2026-02-04T14:14:37","modified_gmt":"2026-02-04T14:14:37","slug":"installing-kde-plasma-desktop-environment-and-xrdp-service-on-remote-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/b2bhostingclub.com\/blog\/installing-kde-plasma-desktop-environment-and-xrdp-service-on-remote-ubuntu-22-04\/","title":{"rendered":"Installing KDE Plasma Desktop Environment and XRDP service on Remote Ubuntu 22.04"},"content":{"rendered":"<div class=\"d-title pt-10 pb-0\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-left d-text-left d-title-inner\">\n<h2 id=\"prerequisites\" class=\"col col-md-10 d-h2 d-color-black  core-title\">Prerequisites<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col col-md-12  d-color-black d-fs-normal d-fw-500 core-title\"><b>You already log in to your remote Linux server<\/b><\/div>\n<div class=\"col col-md-12 d-color-black  d-fs-normal d-fw-500\">Once your server is deployed, the login credentials are usually sent to your registered email. You can also get server login information, including username, password, and port in the B2BHOSTINGCLUB control panel.<\/div>\n<div class=\"col\"><\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Please refer to the guide\u00a0<a class=\"d-color-primary\" title=\"Database Mart blog - How to connect to a Linux server remotely\" href=\"https:\/\/www.b2bhostingclub.com\/blog\/connect-to-linux-servers-remotely\" target=\"_blank\" rel=\"noopener\">How to Connect to a Linux Server Remotely<\/a>\u00a0to log in to your Remote Linux Server. Next, input your login password as prompted.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/7d88f5c0b070401a9a007b2b58823a77\/log-into-linux.png\" alt=\"Log in to Linux servers\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-title pt-10 pb-0\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-left d-text-left d-title-inner\">\n<h2 id=\"install-kde-plasma-desktop-environment-and-xrdp-service-on-remote-ubuntu-2204-servers\" class=\"col col-md-10 d-h2 d-color-black  core-title\">Install KDE Plasma Desktop Environment and XRDP Service on Remote Ubuntu 22.04 Servers<\/h2>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Before the desktop environment installation, you should know which KDE package to install. There are several variants of KDE packages avaiable. They are KDE Full, KDE Standard, and KDE Plasma Desktop.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col col-md-12  d-color-black d-fs-normal d-fw-500 core-title\">KDE Full<\/div>\n<div class=\"col\">\n<p class=\"mb-0\">It is the complete KDE pack that include the KDE Plasma desktop environment and its associated applications and utilities. By installing KDE Full, you have access to the complete KDE Plasma ecosystem, allowing you to have a comprehensive and feature-rich desktop environment. However, the complete pack is around 1GB, it will take some time in downloading and installing. You should also consider if your VPS has enough space for the full package. You can install it using the following command:<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">apt install kde-full<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col col-md-12  d-color-black d-fs-normal d-fw-500 core-title\">KDE Standard<\/div>\n<div class=\"col\">\n<p class=\"mb-0\">The KDE Standard includes the KDE Plasma Desktop and a selection of the most common used applications. The focus is generally on providing a functional and user-friendly desktop environment out of the box. Normally, KDE standard is recommended. You can install it using the following command:<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">apt install kde-standard<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col col-md-12  d-color-black d-fs-normal d-fw-500 core-title\">KDE Plasma Desktop<\/div>\n<div class=\"col\">\n<p class=\"mb-0\">The installation of KDE Plasma Desktop refers to a bare-minimum installation. It only includes basic utilities like a file manager, browser, and terminal emulator. You can install it using the following command:<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">apt install kde-plasma-desktop<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<h3 class=\"col col-md-12 d-h3 d-color-black d-fs-20 d-fw-600 d-lineheight-24 core-title\">Install KDE Plasma on Ubuntu Servers<\/h3>\n<div class=\"col col-md-12 d-color-black  d-fs-normal d-fw-500 d-fs-normal\">In this example, we will use the Ubuntu 22.04 operating system.<\/div>\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">As the following several operations require the root permission, we will switch to the root user first using the command below.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">sudo -i<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/726f34e8cb574d0d8335c7d62d2722af\/sudo-i.png\" alt=\"Switch to the root user by running command sudo -i\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">After that, issue the commands below to update your list of packages, followed by installing KDE Plasma pacakge. There are several variants of the KDE package. They are KDE Full, KDE Standard, and KDE Plasma Desktop. In this example, we will install the minimal package &#8211; KDE Plasma Desktop<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">apt update -y\r\napt install kde-plasma-desktop<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/c65f2b65081745bb94f6d68e8ccf95d2\/apt-update-kde.png\" alt=\"Run apt update\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/1e44fbcc414f4bdda75df42013da751e\/plasma-kde-install.png\" alt=\"Install KDE Plasma Desktop\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Before the installation, you are often prompted to confirm the disk space this operation will use. Input &#8220;y&#8221; to continue the installation.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">After the installation, you will be prompted to choose the services that need to be restarted. Then, press enter to restart the chosen services.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/597af1959d1d44ac8d14d7c6e7b64817\/which-services-should-be-restarted.png\" alt=\"Choose the services to be restarted\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<h3 class=\"col col-md-12 d-h3 d-color-black d-fs-20 d-fw-600 d-lineheight-24 core-title\">Install XRDP on Ubuntu<\/h3>\n<div class=\"col col-md-12 d-color-black  d-fs-normal d-fw-500 d-fs-normal\">XRDP is a protocol that allows you to connect to your Ubuntu system remotely using the Remote Desktop Protocol (RDP).<\/div>\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Issue the commands below to install xrdp service.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">apt install xrdp -y<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/50b70b67110f4548a3ac1523d45f8095\/apt-install-xrdp.png\" alt=\"Install XRDP\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">After installing xrdp, you will also be prompted to decide which service should be restarted. Press enter to confirm with your choices.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/f4ef51d0dd0748ff979617b4e60ffde4\/xrdp-which-should-be-restarted.png\" alt=\"Confirm the services should be restarted\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<h3 class=\"col col-md-12 d-h3 d-color-black d-fs-20 d-fw-600 d-lineheight-24 core-title\">Configure XRDP<\/h3>\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">This command uses sed to replace the &#8220;new_cursors=true&#8221; line with &#8220;new_cursors=false&#8221; in the xrdp.ini file. This change is necessary to avoid a cursor issue that can occur with XRDP.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">sed -e 's\/^new_cursors=true\/new_cursors=false\/g' \\ -i \/etc\/xrdp\/xrdp.ini<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/127e2a7775ba47e2acdc1a4dec843b00\/echo-restart.png\" alt=\"restart XRDP service\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Because xrdp need to use \/etc\/ssl\/private\/ssl-cert-snakeoil.key whose unix group is ssl-cert , so we need to add xrdp into this group.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">adduser xrdp ssl-cert<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/dba9bc1a4fd446818af8dc91d21e98b0\/adduse-xrdp-sslcert-kde.png\" alt=\"Add XRDP to ssl-cert group\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Now, we will configure that the KDE Plasma session is started when you log in via XRDP. The cat command is used to create a .xsessionrc file with the specified environment variables. After executing these commands, the ~\/.xsession and ~\/.xsessionrc files will be created or overwritten with the specified content. These files are typically used during the X session startup process to set environment variables and define the startup command or script to be executed.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">echo \"\/usr\/bin\/startplasma-x11\" &gt; ~\/.xsession\r\nD=\/usr\/share\/plasma:\/usr\/local\/share:\/usr\/share:\/var\/lib\/snapd\/desktop\r\nC=\/etc\/xdg\/xdg-plasma:\/etc\/xdg\r\nC=${C}:\/usr\/share\/kubuntu-default-settings\/kf5-settings\r\ncat &lt; ~\/.xsessionrc\r\nexport XDG_SESSION_DESKTOP=KDE\r\nexport XDG_DATA_DIRS=${D}\r\nexport XDG_CONFIG_DIRS=${C}\r\nEOF<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/407e42cbd1034d0fa2f42b54d3a25011\/echo-cat.png\" alt=\"Configre that the KDE Plasma session is started when you log in via RDP\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Then, we enable and restart the XRDP service using the following command.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<pre class=\"d-fs-normal d-lineheight-26 mb-0\">systemctl enable xrdp\r\nsystemctl restart xrdp<\/pre>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/5d99be2c246a4d5bab7af2c9588f2c5e\/enable-restart-xrdp.png\" alt=\"Enable and restart XRDP service\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"d-paragraph-card\">\n<div class=\"container\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters pt-4 pb-1\">\n<h3 class=\"col col-md-12 d-h3 d-color-black d-fs-20 d-fw-600 d-lineheight-24 core-title\">Test the RDP Connection<\/h3>\n<div class=\"col col-md-12 d-color-black  d-fs-normal d-fw-500 d-fs-normal\">Now, we can test if you can connect to the remote Ubuntu server using RDP.<\/div>\n<div class=\"col\">\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Open RDP service on your local machine. Then, input your Linux Ubuntu server IP in the Computer field and click Connect.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/907289cd856a4b88841890350e3dd036\/Open-RDC.png\" alt=\"Open RDC\" width=\"400\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">Then, you can see the RDP login interface. Enter your Linux server login username and password and click OK.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/6546798b96794688857fdd28f01aff33\/login-password.png\" alt=\"Enter login username and password\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<p class=\"mb-0\">With the authentication passed, you should be able to access your Ubuntu Desktop environment.<\/p>\n<\/div>\n<\/div>\n<div class=\"row row-cols-1  justify-content-start d-text-start d-title-inner no-gutters\">\n<div class=\"col\">\n<div class=\"d-text-start\"><img decoding=\"async\" class=\"d-img d-lazy-img\" src=\"https:\/\/images.cloudclusters.io\/910e7fb959934f5687a9f426d4b9311f\/kde-desktop.png\" alt=\"KDE Plasma desktop environment\" width=\"800\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Prerequisites You already log in to your remote Linux server Once your server is deployed, the login credentials are usually sent to your registered email. You can also get server login information, including username, password, and port in the B2BHOSTINGCLUB control panel. Please refer to the guide\u00a0How to Connect to a Linux Server Remotely\u00a0to log [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":1592,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-hosting"],"_links":{"self":[{"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/posts\/1590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/comments?post=1590"}],"version-history":[{"count":1,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/posts\/1590\/revisions"}],"predecessor-version":[{"id":1593,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/posts\/1590\/revisions\/1593"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/media\/1592"}],"wp:attachment":[{"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/media?parent=1590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/categories?post=1590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/b2bhostingclub.com\/blog\/wp-json\/wp\/v2\/tags?post=1590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}