One place for hosting & domains


      How To Set Up a Remote Desktop with X2Go on Debian 10

      Not using Debian 10?

      Choose a different version or distribution.

      The author selected Software in the Public Interest (SPI) to receive a donation as part of the Write for DOnations program.


      Usually, Linux-based servers don’t come with a graphical user interface (GUI) preinstalled. Whenever you want to run GUI applications on your instance, the typical solution is to employ Virtual Network Computing (VNC). Unfortunately, VNC is notoriously sluggish, insecure by default, and requires a lot of manual configuration to get up and running.

      By contrast, X2Go provides a working “cloud desktop,” complete with all the advantages of an always-online, remotely-accessible, and easily-scalable computing system with a very fast network. It is also more responsive and more secure than many VNC solutions. In this tutorial, you’ll use X2Go to create a Debian 10 XFCE desktop environment that you can access remotely. This “cloud desktop” will include the exact same utilities that you would obtain had you installed Debian 10 and XFCE environment on your personal computer.

      The setup described in this tutorial is useful when:

      • You need access to a Linux-based operating system, complete with a desktop environment, but can’t install it on your personal computer.
      • You use multiple devices in multiple locations and would like to have a consistent work environment with the same tools, same look, same files, and same performance.
      • Your Internet service provider gives you very little bandwidth, but you need access to tens or hundreds of gigabytes of data.
      • Long-running jobs make your local computer unavailable for hours or days. Imagine that you have to compile a very large project, and it will take 8 hours on your laptop. You won’t be able to watch movies or do anything else very resource-intensive while your project compiles. But if you run such jobs on your server, now your computer is free to perform other tasks.
      • You’re working with a team, and it benefits them to have a common computer that they can access in order to collaborate on a project.


      Before starting this tutorial, you’ll need:

      • A Debian 10 x64 instance with 2GB of RAM or more. 2GB is minimal and it’s recommended to use a server with 4GB or more if you have memory-hungry applications you plan to run. You can use a DigitalOcean Droplet if you like.

      • A user with sudo privileges and an SSH key. Follow this guide to get started: Initial Server Setup with Debian 10. Make sure you complete Step 4 and configure your firewall to restrict all connections except for OpenSSH.

      Step 1 — Installing the Desktop Environment

      With your server up and your firewall configured, you are now ready to install the graphical environment for the X2Go server.

      In this tutorial, you are installing XFCE as the desktop environment. XFCE doesn’t use fancy graphical effects like compositing, which makes it more compatible with X2Go and allows it to optimize screen updates. For reference, LXDE and MATE (with compositing disabled) also work fine but you’ll have to change the command in this tutorial where you install the desktop environment. For example, instead of sudo apt-get install xfce4 you would type sudo apt-get install lxde.

      There are two ways to easily install XFCE, but you only need to choose one—either the Minimal Desktop Environment or the Full Desktop Environment.

      Full Desktop Environment: Recommended. If you don’t want to handpick every component you need and would rather have a default set of packages, like a word processor, web browser, email client, and other accessories pre-installed, then you can choose task-xfce-desktop.

      Install and configure the Full Desktop Environment. This is similar to what you would get if you installed Debian from a bootable DVD/USB memory stick to your local PC:

      • sudo apt-get install task-xfce-desktop

      Minimal Desktop Environment: Alternately, if you want to install a small, core set of packages and then build on top of them by manually adding whatever you need afterward, you can use the xfce4 metapackage.

      A metapackage doesn’t contain software of its own, it just depends on other packages to be installed, allowing for an entire collection of packages to be installed at once without having to type each package name individually at the command line.

      Install xfce4 and all of the additional dependencies needed to support it:

      • sudo apt-get install xfce4

      Now that your graphical environment is installed, you will establish a way to view it remotely.

      Step 2 — Installing X2Go on the Server

      X2Go comes with two main components: the server, which starts and manages the graphical session on the remote machine, and the client, which you install on your local computer to view and control the remote desktop or application.

      In previous versions of Debian, x2goserver wasn’t included in the default repositories, so you’d have to follow steps like these to get the software package. You’re leaving the link here, just for reference, in case the package gets dropped in future versions of Debian. Fortunately, Debian 10, codenamed Buster, includes the package you need in its default repositories, so the installation is a bit easier.

      To install X2Go on your server, type the following command:

      • sudo apt-get install x2goserver x2goserver-xsession

      At this point, no further setup is required on your server. However, keep in mind that since SSH password authentication is disabled, for increased security, you’ll need to have your SSH private key available on any machine that you want to log in from. This will be the case if you followed the recommendation of setting up SSH keys in the Initial Server Setup with Debian 10 tutorial listed in the prerequisites. If you didn’t, you can still log in with a password, but make sure you choose a strong one.

      Remember that if you run out of RAM, some applications might be abruptly terminated by the Linux kernel, and then you could lose work in progress. If you are using a DigitalOcean Droplet and you notice that your programs require more RAM, you can temporarily power off your Droplet and upgrade (resize) to one with more memory.

      You are now done setting up the server and you can type exit or close the terminal window. The rest of the steps will focus on configuring the client on your local machine.

      Step 3 — Installing the X2Go Client Locally

      X2Go is ready to use out of the box. If you’re using Windows or Mac on your local machine, you can download the X2Go client software here. If you’re using Debian or Ubuntu you can install the X2Go client with this command on your local machine:

      • sudo apt-get install x2goclient

      After downloading the software you are ready to install it. Open the installer and select your preferred language. Now agree to the license and let the wizard guide you through the remaining steps. Normally, there shouldn’t be any reason to change the pre-filled, default values in these steps.

      X2Go works well out of the box but it is also highly customizable. If you’d like additional information, visit X2Go’s official documentation.

      Now that the desktop client is installed, you can configure its settings and connect to the X2Go server to use your remote XFCE desktop.

      Step 4 — Connecting To the Remote Desktop

      When you first open the X2Go client, the following window will appear. If it doesn’t, click Session in the top-left menu and then select New session ….

      X2Go Client Screenshot - Creating a New Session

      In the Session name field, enter something to help differentiate between servers. This can be particularly useful if you plan on connecting to multiple machines.

      Enter your server’s IP address or hostname in the Host field under Server.

      Enter the username you used for your SSH connection in the Login field.

      And, since you installed XFCE in Step Two, choose XFCE as your Session type.

      Finally, because you are connecting to the server with SSH keys, click the folder icon next to Use RSA/DSA key for ssh connection and browse to your private key. If you didn’t opt to use the more secure SSH keys, just leave this empty and the X2Go client will ask for a password each time you log in.

      The rest of the default settings will suffice for now, but as you get more familiar with the software, you can fine tune the client based on your individual preferences.

      After pressing the OK button, you can start your graphical session by clicking the white box that includes your session’s name on the top-right side of the box.

      X2Go Main Window - Session List

      If you are running OS X on your local machine, you may be prompted to install xquartz, which is required to run X11. If so, follow the instructions to install it now.

      In a few seconds, your remote desktop will be displayed and you can start interacting with it. During your first login, XFCE will ask if you want to Use default config or One empty panel. The first option will create a rectangular panel docked at the bottom of the screen, containing a few useful application shortcuts (e.g. a file manager, a terminal emulator, a browser, etc.). This option will also add a top panel to the desktop that includes utilities like an application launcher, a clock, a shutdown menu, and more.

      Unless you’re already familiar with XFCE, opting for an empty panel can be more complicated because you’ll be starting from scratch. There will be no taskbar, no clock, and no pre-configured start menu; it will be up to you to add everything to an empty panel on your own.

      Additionally, on Windows and Linux-based operating systems, there are a few useful keyboard shortcuts you can use for a better experience:

      CTRL+ALT+F will toggle full-screen mode on and off. Working in full-screen mode can feel more like a local desktop experience. Plus, other keyboard shortcuts will be grabbed by the remote OS instead of the local one.

      CTRL+ALT+M will minimize the remote view, even if you are in full-screen mode

      CTRL+ALT+T will disconnect from the session but leave the GUI running on the server. It’s just a quick way of disconnecting without logging off or closing applications on the server. The same will happen if you click the window’s close button.

      Lastly, there are two ways you can end the remote session and close all of the graphical programs running in it. You can log off remotely from XFCE’s start menu, or you can click the button marked with a circle and a small line (like a power/standby icon) in the bottom-right corner of the main portion of the X2Go screen.

      The first method is cleaner but may leave programs like session managing software running. The second method will close everything but may do so forcefully if a process can’t cleanly exit. In either case, be sure to save your work before proceeding.

      X2Go Main Window - Terminate Session Button

      And lastly, although it’s not required, let’s go into XFCE’s control panel, navigate to power settings and disable all standby features. If you don’t use the desktop for a while, XFCE will try to trigger a standby. Although the server normally won’t do anything when it receives this request, it’s better to avoid any unforeseen behaviors altogether.

      By going to the Applications menu, then Settings, you can open Power Manager.

      Opening XFCE Power Manager

      In this application, navigate to the System tab and drag the When inactive for slider all the way to the left. You should now see the text Never under this slider, which means XFCE won’t try to put the system in standby after it’s inactive for a while.

      Disabling Automatic System Suspend in XFCE Power Manager

      You have now successfully accessed and configured your remote desktop.


      In this tutorial you used X2Go to create a robust and remote GUI-environment for the Debian operating system. Here are a few additional ideas about how to use this desktop. You could centralize your development work by creating a git repository, installing an IDE/code editor like NetBeans or Eclipse, or configuring a web server for testing web applications. You could also enhance your remote desktop with a good backup scheme to make sure that your work environment and important data are safely preserved in case something ever goes wrong. With DigitalOcean, you can also snapshot your Droplets when you’re happy with a certain setup. This way, you can test risky changes and always come back to a known good state in case you break something.

      If you’d like to learn more, visit X2Go’s official documentation website.

      Source link

      How One INAP Customer Is Disrupting Desktop as Service Solutions for the SMB Market

      Remote work demands efficient and always-on desktop as a service (DaaS) solutions that allow employees to work and collaborate at any time, from anywhere, on any device.

      Because an increasing number of businesses are going completely or mostly remote and many others have a mix of full-time remote and in-office workers, providing a seamless and secure experience for employees across the board is no easy feat for IT teams.

      DaaS solutions come from a third-party provider, companies do not have control of the backend infrastructure and must rely on the provider—ideally one with a robust SLA—for reliable and scalable service. Furthermore, traditional DaaS solutions take weeks to set up, with hours of planning and configuring before the client can put it to use.

      To both meet growing demand and address the shortcomings of current remote desktop products, Denis Zhirovetskiy, president and founder of Adeptcore, a managed IT service provider (MSP) and INAP customer, created his own remote DaaS solution packaged for MSPs. In its first year, the product took off, boasting strong adoption and organic growth.

      We sat down with Zhirovetskiy to learn more about Adeptcore, the Adeptcloud service and how the partnership with INAP has helped the company grow and scale from the very beginning.

      Addressing SMB Remote Worker Needs

      Adeptcore was founded with the purpose of helping a small- or medium-sized business (SMB) use their current technology and make it better, setting themselves apart from companies that sell pre-packaged, per-user or per-device plans.

      “We heavily focus on onboarding clients. We can spend three months onboarding one client,” Zhirovetskiy said. “We invest that time because we want to know what each of our clients does for a living and how they’re generating revenue. From there, we tailor the technology to support that mission.”

      In line with this purpose, Adeptcore launched Adeptcloud in June of 2018, after a peer in the MSP community requested to use Zhirovetskiy’s proprietary DaaS solution for a client. The MSP was surprised that Adeptcore was not using industry leaders in the market for DaaS solutions and wanted to see why they created their own. Zhirovetskiy explained that his key selling point was that his solution ran on Nimble SAN with SSD cache, ensuring greater performance and reliability. Other providers typically used spinning disks.

      Zhirovetskiy realized the product would work for MSPs at large. To scale the product, he worked with Ray Orsini, owner of OITVOIP and one of the first Adeptcloud partners. This collaboration ensured that Adeptcloud worked with VoIP softphone technology. As he worked with Orsini, Zhirovetskiy discovered that he was also an INAP customer, and noted that this helped him certify that their products would work together.

      “I started talking with other managed IT providers on an internet forum, and when they saw our solution, they immediately wanted to do something similar for their clients,” he said. “That’s honestly all the marketing I’ve ever done for it.”

      From there, the product took off. During the first 12 months of business, from June 2018 to June 2019, Adeptcloud grew to have 65 partners across the U.S. and three internationally. Adeptcloud has users log on daily from Peru and New Zealand, and has clients working from India, Dubai and China.

      Why Adeptcloud Stands Out

      What exactly helped Adeptcloud take off so quickly? What sets it apart from other DaaS products?

      Saving Time

      First, Adeptcloud saves MSPs time. “We offer a ready-to-go solution in a box. All they have to do is fill out a form and within three days their customers are able to login and begin working. They don’t have to worry about it,” Zhirovetskiy said.

      The Adeptcloud solution has been shown to reduce MSP ticket volumes by as much as 40 percent once the solution is deployed and user training is complete. Zhirovetskiy notes that his team generally goes two to three months without tickets from clients after the first month of implementation.

      Ensuring Unified Threat Management

      Proactive mitigation of ever-evolving security threats is another benefit that sets Adeptcloud apart. They’ve partnered with a number of top security technology companies to develop an environment where customers can store their sensitive client data without a worry of it being lost or encrypted due to a ransomware attack.

      Zhirovetskiy also just added top-of-the-line firewalls and threat management services to his INAP solution, noting that Adeptcore will be the only provider he knows of to offer fully unified threat management functionality to clients.

      “We work with holistic, two-factor authentication security solutions and deploy those solutions for our partners. They don’t have to do any of it. They just tell us what they want and we build it out and release it to them,” Zhirovetskiy said.

      Focusing on End User and Partner Experience

      Ultimately, it is Adeptcore’s focus on the end user that makes Adeptcloud work as a successful cloud solution.

      “Most companies that get into the business offering a cloud service are focusing strictly on the tech itself,” Zhirovetskiy said. “They don’t focus on the end-user support, they don’t focus on the client experience and they don’t focus on supporting their partners. They focus on selling cloud.”

      Partners can get the support they need with Adeptcloud. “When a MSP partner calls our support desk, they talk to someone who is on the same technical level. This is huge for IT companies—they spend less time dealing with the bureaucracy created by huge organizations.”

      Scaling Adeptcloud with INAP

      Zhirovetskiy has been working with INAP since the founding of Adeptcore, when the company started with one client and one server. Adeptcore wanted a data center company located in Chicago, and chose INAP for its security and service reliability.

      “It’s hard to find a global company like INAP that feels like a local company,” he said. “I have a dedicated team and somebody to call who will take care of my needs. That’s the biggest reason I would recommend anybody work with INAP.”

      Throughout the relationship with INAP, Zhirovetskiy has worked with his account manager, Steven Anderson, and INAP engineers to scale the Adeptcloud solution. He says that he talks to Anderson on a weekly basis to discuss the future of his solution: “As our platform has evolved, we always know we have experts available to assist us with our growth.”

      Adeptcore uses INAP engineers for full-spectrum infrastructure solutions, from developing backup services using Veeam to designing Adeptcore’s networking infrastructure. The relationship continues to evolve as Adeptcore grows its cloud footprint and expands to other INAP data centers beyond Chicago.

      “INAP support has been instrumental in helping us achieve our goals. From managing downtime to planning our next big thing,” Zhirovetskiy said. “We rely on INAP to provide us infrastructure expertise, while we provide expertise to our clients on what we’re good at—delivering them their desktops every single day.”

      Explore INAP’s Data Centers.


      Laura Vietmeyer


      Source link