{"id":459,"date":"2025-06-01T10:49:34","date_gmt":"2025-06-01T10:49:34","guid":{"rendered":"https:\/\/www.aran.cat\/wp\/?p=459"},"modified":"2025-09-08T09:54:35","modified_gmt":"2025-09-08T09:54:35","slug":"virtual-desktop-infrastructure-vdi-how-it-works-and-a-step-by-step-guide-to-create-a-vdi-linux-server-on-cloud-using-rdp-protocol","status":"publish","type":"post","link":"https:\/\/www.aran.cat\/wp\/?p=459","title":{"rendered":"Virtual Desktop Infrastructure (VDI) \u2014 how it works and a step by step guide to create a VDI Linux server on cloud using RDP protocol"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"1257\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/@idan441?source=post_page---byline--2afa9ee02171---------------------------------------\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/medium.com\/@idan441?source=post_page---byline--2afa9ee02171---------------------------------------\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:32:32\/1*dmbNkD5D-u45r44go_cf0g.png\" alt=\"Idan Friedman\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/@idan441?source=post_page---byline--2afa9ee02171---------------------------------------\">Idan Friedman<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10 min read<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FONT:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/@idan441\/virtual-desktop-infrastructure-vdi-how-it-works-and-a-step-by-step-guide-to-create-a-vdi-linux-2afa9ee02171\">https:\/\/medium.com\/@idan441\/virtual-desktop-infrastructure-vdi-how-it-works-and-a-step-by-step-guide-to-create-a-vdi-linux-2afa9ee02171<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aug 1, 2022<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/plans?dimension=post_audio_button&amp;postId=2afa9ee02171&amp;source=upgrade_membership---post_audio_button-----------------------------------------\"><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5fcc\"><em>Virtual Desktop Infrastructure<\/em> or VDI in short, is the ability to connect remotely to another machines with a fully supported GUI and I\/O devices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4d94\">Probably you have heard long and complicated explanations about this before. In this 3 parts series of articles I\u2019ll discuss about VDI in simple words, give examples of VDI use in cloud and will show how to build VDI servers in an automated process with Packer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"628e\">In this article I will discuss about concept of VDI and will guide you through a step-by-step guide to create you own VDI machine in AWS cloud using Ubuntu Linux and RDP remote desktop protocol.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4321\">In the <a href=\"https:\/\/medium.com\/@idan441\/using-hashicorp-packer-for-creating-machine-images-as-a-part-of-automated-ci-cd-pipelines-2fce92f146f6\">2nd article<\/a> I will talk machine images and Packer, a tool used to automate machine images. I will give an example for using Packer to automate creation of VDI machine images.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b729\">In the <a href=\"https:\/\/medium.com\/@idan441\/moving-to-virtual-desktop-as-infrastructure-vdi-solution-on-cloud-with-servers-orchestration-496e6555b96b\">last article<\/a> I will show you an example for a real VDI project done by me while working in Develeap for one of its largest customers, showing the challenges which we faced and how we solved them. I w<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"4cc7\">Virtual desktop as infrastructure (VDI) in simple words<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"0234\">Virtual desktop as infrastructure (VDI) is having the ability to login and <strong>graphically<\/strong> use a remote server as if it was a desktop machine. That is, to seamlessly use a remote server with a desktop GUI connected to your local keyboard, mouse and screen connected to your local computer. In other words, VDI is a remote server which is doing calculations using its own CPU and RAM, while the input and output devices shared and connected to it are from your local machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7633\">In this configuration the remote server feels like a local machine \u2014 you can install on it any application you need, including things like a web browser or a graphical game. The server can include any modern technology such as JAVA JVM, Python interpreter or C++ libraries \u2014 which gives an endless variety of options. As the server includes a GUI, you can also run graphical applications too.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*5k-6D0AHnR5oN0BXVfAFUQ.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">An example for virtual desktop as infrastructure (VDI) \u2014 a remote server is accessed from a local machine. In this session, a shell terminal is running from within the remote server\u2019s GUI<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"372c\">The basic requirements to share of your input and output devices from your local machine with the remote server is done using a remote desktop solution client application. The remote desktop solution allows sharing the computer input and output devices with the server. You can share \u201cclassic\u201d I\/O device like a screen, a keyboard or a mouse but also other devices such as a printer, a video camera, volume speakers and even a smart card reader!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"a026\">The server is required to run an operating system which is capable of handling remote sessions, and a server application\/daemon process to actually accept client\u2019s sessions requests, authenticate and handle them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5acc\">Both client application on you local machine and server application\/daemon must support same remote desktop protocol.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*geNTrB2bLyPy1XhHP9s_Nw.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Data flow demonstrating a user accessing a remote server using VDI. Note that no physical I\/O devices are connected directly to the remote server, and instead the server is sharing the client\u2019s machine I\/O devices.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"90ad\"><strong>Advantages of VDI:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9518\">Basically you can run almost any application on-premise, but using a VDI remote server can be a considerable choice in some use-cases. Running your application remotely in cloud can have extra benefits such as high internet speed, pay-on-need for resources and high-security and reliability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"107d\">Below are two lists covering some of the advantages of running an application remotely, as well as running the remote server on cloud.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"44c0\"><strong>Advantages of using VDI as a solution for hosting your application &#8211;<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Accessibility \u2014 you can connect to the server from any location \u2014 as long as you have network connectivity.<\/li>\n\n\n\n<li>No dependency between physical local machine and the remote server \u2014 your server can run a different environment regardless of your local machine.<\/li>\n\n\n\n<li>No need to maintain physical devices to connect to your server \u2014 the server can stay anywhere you want \u2014 no need to have a dedicated desk, mouse, keyboard and screen for it.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"fb02\"><strong>I want to sharp the difference between running the application locally and remotely using VDI:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"6a55\">When running the application locally \u2014 it runs on your OS with the local configurations and machine resources. With VDI a remote server can run your application with a different CPU architecture regardless of the user\u2019s desktop machine. The application will use resources from the server itself and and not from your local machine. Only resource taken from your local machine are for running the remote desktop client.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"d8cf\"><strong>Advantages of using VDI on cloud platform &#8211;<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fast access to cloud provider services \u2014 as the server is located within the cloud computing center, the physical distances are short, so any communication from your server to other application or Cloud fully-managed services will benefit from a high network speed.<\/li>\n\n\n\n<li>Pay as you go, scale-up as needed \u2014you can change the server\u2019s capabilities according to your need and pay-as-you-go. Just to compare, in reality if you need to replace your desktop machine \u2014 you will have to replace the whole machine which is very expensive.<\/li>\n\n\n\n<li>High-connection internet speed \u2014 the server is located in a servers farm with a high internet connection \u2013much faster than the user\u2019s house. This is quite useful in case you want to traffic big amounts of data to your application.<\/li>\n\n\n\n<li>Advanced back-ups \u2014 cloud provider offers advanced back-up systems which can allow efficient, chip and real-time back-up.<\/li>\n\n\n\n<li>High availability\u2014 computing centers have advanced power backups and disaster recovery technologies.<\/li>\n\n\n\n<li>Better data security \u2014 all data is processed on the server itself, without leaving it. Also the server can enjoy the enhanced network security features available on cloud platforms.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*H6mwUrjLxbh-_fgX0hFLQw.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">A speed test result of a remote VDI server. The remote server is located in a server farm with high-speed internet connection. ( In this case in AWS Frankfurt region )<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f20c\"><strong>Importance of good and stable internet connection &#8211;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f5ee\">The main disadvantage of VDI is the need for a stable and fast internet connection from the user\u2019s house\/office to the server. Generally a remote connection will require a minimum of 2\u20135Mbps connection speed and up to 10\u201315 Mbps, depending on usage and remote desktop protocol being used.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"62de\"><strong>VDI \u2014 Behind the scenes:<\/strong><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f224\">Generally VDI can be done with all major operating systems (Windows and Linux family) \u2014 but for this example I will choose Ubuntu Linux as a model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f4fd\">For the server to serve remote desktop sessions, it requires to have some sort of desktop GUI installed (Gnome, KDE\u2026 ) and a remote desktop solution daemon running which allows to share I\/O devices between client\u2019s machine and the server. Once you have that, the remote server is able to serve users clients requests and to manage remote sessions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5550\"><strong>Which existing solutions are in market?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"6e73\">There are many remote desktop solutions in the market such as VNC, RDP , NICE DCV, VMware and the list continue. There are many clients which support the various solutions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"4f49\">It is to note that there are already made out the box VDI solutions which are more easy to manage, to scale and to provision multiple servers for multiple users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9041\">What is a desktop GUI?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"e1f3\">Before watering our hands, let\u2019s start with answering these two basic most questions \u2013<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>What is the difference between the large varieties of Ubuntu desktop versions \u2014 Ubuntu, Lubuntu, Xubuntu, Kubuntu etc.. ?<\/li>\n\n\n\n<li>What is the difference between Ubuntu server and Ubuntu desktop versions?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9464\">The answer for both questions is the installed packages included in each version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7db9\">An Ubuntu desktop machine includes the Linux kernel along with many other packages and installations including and not only \u2014 a terminal shell, a firewall, drivers, a GUI desktop, and some applications to be used by the user such as a web browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"0fbb\">Now let\u2019s answer on the 1st question \u2014 Ubuntu can support multiple types of GUI desktop solutions \u2014 each one has different requirements, applications installed, style and performances. There are multiple versions of Ubuntu each one using a different desktop solution \u2014 XFCE desktop is used by Xubuntu, LXQt desktop by Lubuntu, GNOME desktop by Ubuntu \u201cdefault\u201d popular version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"93b5\">As for the 2nd question \u2014 Ubuntu server is like a light-weight version of the desktop version with no GUI desktop installed \u2014 it includes only what needed to run on a server. That is \u2014on a server you don\u2019t need a GUI, you don\u2019t need Firefox or OpenLibre, a media player and many other things which mostly you would like on your personal computer. In vice-versa \u2014 you can think about Ubuntu desktop as an extended version of Ubuntu server with more installations which gives the user a better experience and more functionality.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*-8RKkj6E41oC4uwZUZ4w3A.png\" alt=\"\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"7291\">Creating a VDI Ubuntu Linux server in AWS cloud using Ubuntu server and RDP:<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b070\">After explaining the concepts \u2014 let\u2019s try to create a VDI machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"39ca\">We will create a remote desktop server in AWS cloud using Ubuntu server 20.04 . We will install GNOME desktop which is the desktop install on Ubuntu \u201cdefault\u201d desktop distribution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"5952\">For this example, I chose working with <em>\u201cremote desktop protocol\u201d<\/em>, or RDP in shorts. ( In its Linux adaptation it is known as xRDP ) I chose it because it is easy to install and has a wide range of clients. There are many available users\u2019 clients available for free \u2014 for Windows, Mac and Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"e149\">To note, the concept and instructions should be almost the same for any cloud provider (or on-premise server) and other Linux distributions. Also, managing a VDI server with a remote desktop solution other than RDP will work in a similar way to the one I\u2019ll show below.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9daa\"><strong>Steps:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Spin an EC2 virtual server with Ubuntu server version 20.04 .<\/li>\n\n\n\n<li>When creating the EC2 instance make sure to assign it a security group which is open for port 22 (to SSH to the instance) <strong>and port 3389<\/strong> which is used by RDP protocol for contacting the remote server.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7af3\">3. Wait for the server to be up and running \u2014 and connect to it using SSH.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"a6f4\">4. Update the apt package manager so we can install a GUI and RDP package<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt update<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"b325\">5. Install a GUI solution along with necessary dependencies. For this example the following command will install GNOME desktop GUI which is the default Ubuntu desktop. Note the command below installs a minimal version of GNOME desktop with almost nothing, you can install other GUIs which include all pre-installed applications which generally come with Ubuntu.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Option 1 - will install a minimal version of GNOME desktop$ sudo apt install gnome-session gdm3<br># Option 2 - will install the ubuntu GNOME dekskop with all default applications. Bear in mind that it will require more volume!$ sudo apt-get install ubuntu-desktop <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"8f5e\">6. Install xRDP server application. When installed, xRDP has automatically created a user named \u201cxrdp\u201d in the operating system called which will run the RDP server application in the background.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt install xrdp -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"0c9c\">7. xRDP uses the SSL-cert manager for securing the authentication between the servers and clients connecting to it. You need to grant the \u201cxrdp\u201d user permissions to access the SSL-cert manager.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo usermod -a -G ssl-cert xrdp<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"9735\">8. Now restart the xRDP service and make sure it is running.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo systemctl restart xrdp<br>$ sudo systemctl status xrdp<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*5w0RmK71yaA9D8P4BPM_Wg.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">xRDP service is running. This indicates you can remotely access the machine using any RDP client<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ed2b\">9. Open the OS firewall to port 3389 which is used by xRDP protocol.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo ufw allow 3389<br>$ sudo ufw reload<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"857e\">10. At this point we have a GUI and RDP installed &#8211; all we need is a user with a password in order to login. we can use default created \u201cubuntu\u201d user by setting it a password but it has sudo permissions and we should prefer a new user with less permissions. Create a new user in the OS and assign it a password.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo useradd -m &lt;username&gt;<br>$ sudo passwd &lt;username&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"21e4\">That\u2019s it! You can now login form your machine to the remote server using any remote control client which support RDP protocol.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"e4c0\">Compatible RDP clients are available on all major OS \u2014 for example: In Windows you can just search for \u201cremote control\u201d on the start-up menu , in Mac you can download the remote desktop application from the App Store and in Linux you can use Remmina client.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"00fb\">Open your RDP client, on server address fill in the EC2 instance public IP address and later insert the username and password you just set.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"8419\">I want to note that sometimes you can have troubles connecting because of graphical drivers &#8211; an over-pass for this issue is to try and reduce the screen resolution or color-depth in your RDP client configurations.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*XcmSB9b4s20njhg36XAA_g.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">An example of using Remmina application for Linux OS to login to a remote server using RDP protocol. Here I set a custom resolution and a lower color depth.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"19c2\"><strong>Test and play:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f82a\">Check your physical location from within the remote session \u2014 you will be shown the server\u2019s location and not your local machine\u2019s location.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*1oz99TBBsIPCbqCT0s-rDQ.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">A remote session with Remmina client used to connect to a remote server using RDP protocol. The remote server is running Firefox web browser. The EC2 instance is located in Frankfurt Germany, therefore the location is shown to be Germany. Also note the time differences between my client machine (Israel) and the remote machine.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"7ebf\">Now let\u2019s try to do a network speed test on our local machine and on the VDI server \u2014 see the high speed and low latency!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*H6mwUrjLxbh-_fgX0hFLQw.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">A VDI EC2 instance server in AWS Frankfurt region, showing a speed test with 891\/1509 Mbps and 1ms latency result.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"2823\">Now for the gist of it let\u2019s install firefox and try to watch YouTube via the remote server.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt install firefox<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"993b\"><strong>How can we go far from here?<\/strong><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"535c\">So that is a basic proof of concept on how to create a VDI remote Linux server. It is to note that we can use other OS or distributions such as Debian Linux or Windows to act as a remote server with other remote desktop solutions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"f12b\">So how can we go far from here?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We can and should make it more secure \u2014 like limiting access through VPN only.<\/li>\n\n\n\n<li>We can do some nice DevOps work here \u2014 making a whole automated CI\/CD pipeline which can create a VDI remote server with needed applications and configurations already pre-installed.<\/li>\n\n\n\n<li>We can scale the amount of servers \u2014 having hundreds of servers running in parallel \u2014 serving hundreds of different users.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Idan Friedman 10 min read FONT: https:\/\/medium.com\/@idan441\/virtual-desktop-infrastructure-vdi-how-it-works-and-a-step-by-step-guide-to-create-a-vdi-linux-2afa9ee02171 Aug 1, 2022 Virtual Desktop Infrastructure or VDI in short, is the ability to connect remotely to another machines with a fully supported GUI and I\/O devices. Probably you have heard long and complicated explanations about this before. In this 3 parts series [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[27],"tags":[],"class_list":["post-459","post","type-post","status-publish","format-standard","hentry","category-virtualitzacio"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=459"}],"version-history":[{"count":2,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/459\/revisions"}],"predecessor-version":[{"id":480,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/459\/revisions\/480"}],"wp:attachment":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}