Linux virtual desktop windows

Содержание
  1. Виртуальные рабочие столы на Linux?
  2. Install and configure xrdp to use Remote Desktop with Ubuntu
  3. Prerequisites
  4. Install a desktop environment on your Linux VM
  5. Install and configure a remote desktop server
  6. Set a local user account password
  7. Create a Network Security Group rule for Remote Desktop traffic
  8. Connect your Linux VM with a Remote Desktop client
  9. Troubleshoot
  10. Next steps
  11. Установка и настройка xrdp для использования удаленный рабочий стол с Ubuntu Install and configure xrdp to use Remote Desktop with Ubuntu
  12. Предварительные требования Prerequisites
  13. Установка среды рабочего стола на виртуальной машине Linux Install a desktop environment on your Linux VM
  14. Установка и настройка сервера удаленных рабочих столов Install and configure a remote desktop server
  15. Настройка пароля локальной учетной записи пользователя Set a local user account password
  16. Создание правила группы безопасности сети, разрешающего трафик с удаленного рабочего стола Create a Network Security Group rule for Remote Desktop traffic
  17. Подключение к виртуальной машине Linux с помощью клиента удаленного рабочего стола Connect your Linux VM with a Remote Desktop client
  18. Диагностика Troubleshoot
  19. Дальнейшие действия Next steps

Виртуальные рабочие столы на Linux?

Появилась следующая задача:

развернуть на одном мощном серваке систему с возможностью подключений пользователей к этой системе, как к рабочему столу. Каждому пользователю должна отводиться определенная строго заданная конфигурация (например, 1 ядро, 2Гб оперативы и т.д.). Все должно быть максимально прозрачно для конечного пользователя (подключился, поработал, отключился).

Количество пользователей — неизвестно (т.е. в один момент их может быть 1, а может быть 100). Должно быть что-то вроде динамически расширяемого пула виртуальных машин, к которым подключаются пользователи.

Среда у всех одинаковая, пользователи ничего не должны хранить на конечной ВМ.

Гугление по этому вопросу показало, что для решения этой задачи у Microsoft есть Virtual Desktop Infrastructure (VDI), а у VMware — View (хорошее описание, что я хочу получить).

Решение Microsoft не подходит — сервер, ВМ и клиенты будут на Linux.

Решение VMware условно подходит, но вряд ли получится его использовать в нашем проекте ввиду проприетарности продукта.

Вопрос: есть ли какие-то средства, как можно аналогичное развернуть на Linux (RedHat)? KVM, Xen, VirtualBox и прочее, интересуют любые идеи.

  • Вопрос задан более трёх лет назад
  • 8574 просмотра

В статье из вопроса про VMware View неплохо рассказано, что и почему.

Как в сервере терминалов разграничивать ресурсы?
Как быть, если кто-то повесит терминальный сервер?

А какие нужные вам ресурсы не регулируются квотами?

А чем повесит сервер?

Я сразу скажу, что не сильно специализируюсь в администрировании таких систем, поэтому многие вещи просто не знаю.

Я понимаю, что терминальный сервер — это некий сервер, по учетной записи которого к нему могут подключаться клиенты (RDP, например). Соответственно, ресурсы сервера делятся на всех подключенных участников + работа самого сервера.
Если какой-то участник начинает грузить машины, то это отражается на всех. Даже если допустить, что на каждую терминальную сессию можно выдать определенное количество ресурсов (я не разбирался, но почти уверен, что так оно и есть), остается вопрос с запуском одноименных приложений и сервисов, с падением некоторых демонов, которые могут отразиться на других пользователях.

Виртуальная машина все-таки подразумевает под собой один конкретный инстанс, и если он упадет — то это его проблемы, других участников это не затрагивает. Перезапустил инстанс — и вперед.
Также ВМ удобно обслуживать, как кажется мне.

Вполне могу быть не прав, поэтому и обратился за советом.

Деление ресурсов сервера можно настроить. Соответственно никто не заберёт все ресурсы себе.
Одноимённые приложения можно спокойно запускать сколько влезет. А вот с сервисами не так просто. Грубо говоря каждый юзер может запустить по апачу, на разных портах и с разными конфигами, но это нужно будет настроить.

По содержимому вопроса — подходит терминалка. Но что бы окончательно советовать — надо знать и общие задачи и что будут юзеры делать, и почему они это не могут делать у себя на компе.

Ага, понятно. Спасибо за информацию.

По задачам пользователей:
по сути, на окружениях, куда должны подключаться пользователи, будет стоять несколько комплексов самописных программ (Qt), решающие определенные задачи. Это либо визуализация данных (построение из исходных данных 3D-модели и ее реалтайм рендер), либо ресурсоемкие задачи по обработке данных (т.е. инстанс вполне может обсчитывать их 2-3 дня; ну это не так часто).
Если в двух словах, то как-то так.

Install and configure xrdp to use Remote Desktop with Ubuntu

Linux virtual machines (VMs) in Azure are usually managed from the command line using a secure shell (SSH) connection. When new to Linux, or for quick troubleshooting scenarios, the use of remote desktop may be easier. This article details how to install and configure a desktop environment (xfce) and remote desktop (xrdp) for your Linux VM running Ubuntu.

The article was writen and tested using an Ubuntu 18.04 VM.

Prerequisites

This article requires an existing Ubuntu 18.04 LTS VM in Azure. If you need to create a VM, use one of the following methods:

Install a desktop environment on your Linux VM

Most Linux VMs in Azure do not have a desktop environment installed by default. Linux VMs are commonly managed using SSH connections rather than a desktop environment. There are various desktop environments in Linux that you can choose. Depending on your choice of desktop environment, it may consume one to 2 GB of disk space, and take 5 to 10 minutes to install and configure all the required packages.

Читайте также:  Touch driver для windows 10

The following example installs the lightweight xfce4 desktop environment on an Ubuntu 18.04 LTS VM. Commands for other distributions vary slightly (use yum to install on Red Hat Enterprise Linux and configure appropriate selinux rules, or use zypper to install on SUSE, for example).

First, SSH to your VM. The following example connects to the VM named myvm.westus.cloudapp.azure.com with the username of azureuser. Use your own values:

If you are using Windows and need more information on using SSH, see How to use SSH keys with Windows.

Next, install xfce using apt as follows:

Install and configure a remote desktop server

Now that you have a desktop environment installed, configure a remote desktop service to listen for incoming connections. xrdp is an open source Remote Desktop Protocol (RDP) server that is available on most Linux distributions, and works well with xfce. Install xrdp on your Ubuntu VM as follows:

Tell xrdp what desktop environment to use when you start your session. Configure xrdp to use xfce as your desktop environment as follows:

Restart the xrdp service for the changes to take effect as follows:

Set a local user account password

If you created a password for your user account when you created your VM, skip this step. If you only use SSH key authentication and do not have a local account password set, specify a password before you use xrdp to log in to your VM. xrdp cannot accept SSH keys for authentication. The following example specifies a password for the user account azureuser:

Specifying a password does not update your SSHD configuration to permit password logins if it currently does not. From a security perspective, you may wish to connect to your VM with an SSH tunnel using key-based authentication and then connect to xrdp. If so, skip the following step on creating a network security group rule to allow remote desktop traffic.

Create a Network Security Group rule for Remote Desktop traffic

To allow Remote Desktop traffic to reach your Linux VM, a network security group rule needs to be created that allows TCP on port 3389 to reach your VM. For more information about network security group rules, see What is a network security group? You can also use the Azure portal to create a network security group rule.

The following example creates a network security group rule with az vm open-port on port 3389. From the Azure CLI, not the SSH session to your VM, open the following network security group rule:

Connect your Linux VM with a Remote Desktop client

Open your local remote desktop client and connect to the IP address or DNS name of your Linux VM.

Enter the username and password for the user account on your VM as follows:

After authenticating, the xfce desktop environment will load and look similar to the following example:

If your local RDP client uses network level authentication (NLA), you may need to disable that connection setting. XRDP does not currently support NLA. You can also look at alternative RDP solutions that do support NLA, such as FreeRDP.

Troubleshoot

If you cannot connect to your Linux VM using a Remote Desktop client, use netstat on your Linux VM to verify that your VM is listening for RDP connections as follows:

The following example shows the VM listening on TCP port 3389 as expected:

If the xrdp-sesman service is not listening, on an Ubuntu VM restart the service as follows:

Review logs in /var/log on your Ubuntu VM for indications as to why the service may not be responding. You can also monitor the syslog during a remote desktop connection attempt to view any errors:

Other Linux distributions such as Red Hat Enterprise Linux and SUSE may have different ways to restart services and alternate log file locations to review.

If you do not receive any response in your remote desktop client and do not see any events in the system log, this behavior indicates that remote desktop traffic cannot reach the VM. Review your network security group rules to ensure that you have a rule to permit TCP on port 3389. For more information, see Troubleshoot application connectivity issues.

Next steps

For more information about creating and using SSH keys with Linux VMs, see Create SSH keys for Linux VMs in Azure.

For information on using SSH from Windows, see How to use SSH keys with Windows.

Установка и настройка xrdp для использования удаленный рабочий стол с Ubuntu Install and configure xrdp to use Remote Desktop with Ubuntu

Управление виртуальными машинами Linux в Azure обычно осуществляется из командной строки с помощью подключения Secure Shell (SSH). Linux virtual machines (VMs) in Azure are usually managed from the command line using a secure shell (SSH) connection. Если вы только начинаете работу с Linux или хотите быстро устранить неполадки, проще всего использовать удаленный рабочий стол. When new to Linux, or for quick troubleshooting scenarios, the use of remote desktop may be easier. В этой статье подробно описано, как установить и настроить среду рабочего стола (Xfce) и удаленный рабочий стол (xrdp) для виртуальной машины Linux под управлением Ubuntu. This article details how to install and configure a desktop environment (xfce) and remote desktop (xrdp) for your Linux VM running Ubuntu.

Читайте также:  Почему сам открывается калькулятор windows 10

Эта статья была записанныйа и протестирована с помощью виртуальной машины Ubuntu 18,04. The article was writen and tested using an Ubuntu 18.04 VM.

Предварительные требования Prerequisites

Для работы с этой статьей требуется существующая виртуальная машина Ubuntu 18.04 LTS в Azure. This article requires an existing Ubuntu 18.04 LTS VM in Azure. Если требуется создать виртуальную машину, используйте один из следующих методов: If you need to create a VM, use one of the following methods:

Установка среды рабочего стола на виртуальной машине Linux Install a desktop environment on your Linux VM

На большинстве виртуальных машин Linux в Azure по умолчанию не установлена среда рабочего стола. Most Linux VMs in Azure do not have a desktop environment installed by default. Управление виртуальными машинами Linux обычно осуществляется через SSH-подключения, а не с помощью рабочего стола. Linux VMs are commonly managed using SSH connections rather than a desktop environment. В Linux можно использовать различные среды рабочего стола. There are various desktop environments in Linux that you can choose. Выбранная среда рабочего стола может занимать 1–2 ГБ места на диске, а для установки и настройки всех необходимых пакетов может потребоваться 5–10 минут. Depending on your choice of desktop environment, it may consume one to 2 GB of disk space, and take 5 to 10 minutes to install and configure all the required packages.

С помощью приведенного ниже примера кода можно установить упрощенную среду рабочего стола xfce4 на виртуальной машине Ubuntu 18.04 LTS. The following example installs the lightweight xfce4 desktop environment on an Ubuntu 18.04 LTS VM. Команды для других дистрибутивов незначительно отличаются. Например, для установки на виртуальной машине Red Hat Enterprise Linux используйте yum и настройте соответствующие правила selinux , а для установки на виртуальной машине SUSE используйте zypper . Commands for other distributions vary slightly (use yum to install on Red Hat Enterprise Linux and configure appropriate selinux rules, or use zypper to install on SUSE, for example).

Сначала установите SSH-подключение к виртуальной машине. First, SSH to your VM. Следующий пример подключается к виртуальной машине myvm.westus.cloudapp.azure.com с использованием имени пользователя azureuser. The following example connects to the VM named myvm.westus.cloudapp.azure.com with the username of azureuser. Используйте собственные значения: Use your own values:

Если вы используете Windows и нуждаетесь в дополнительных сведениях об использовании SSH, см. статью Использование SSH с Windows в Azure. If you are using Windows and need more information on using SSH, see How to use SSH keys with Windows.

Затем установите xfce с помощью apt следующим образом: Next, install xfce using apt as follows:

Установка и настройка сервера удаленных рабочих столов Install and configure a remote desktop server

После установки среды рабочего стола настройте службу удаленного рабочего стола для прослушивания входящих подключений. Now that you have a desktop environment installed, configure a remote desktop service to listen for incoming connections. xrdp — это сервер RDP с открытым исходным кодом, доступный в большинстве дистрибутивов Linux и совместимый с xfce. xrdp is an open source Remote Desktop Protocol (RDP) server that is available on most Linux distributions, and works well with xfce. Установите xrdp на виртуальной машине Ubuntu следующим образом: Install xrdp on your Ubuntu VM as follows:

Укажите, какую среду рабочего стола должен использовать сервер xrdp при запуске сеанса. Tell xrdp what desktop environment to use when you start your session. Настройте xrdp для использования xfce в качестве среды рабочего стола с помощью следующего кода: Configure xrdp to use xfce as your desktop environment as follows:

Перезапустите службу xrdp, чтобы изменения вступили в силу: Restart the xrdp service for the changes to take effect as follows:

Настройка пароля локальной учетной записи пользователя Set a local user account password

Если вы создали пароль для учетной записи пользователя при создании виртуальной машины, пропустите этот шаг. If you created a password for your user account when you created your VM, skip this step. Если вы используете только проверку подлинности с помощью ключа SSH и пароль локальной учетной записи не задан, укажите пароль, прежде чем использовать xrdp для входа на виртуальную машину. If you only use SSH key authentication and do not have a local account password set, specify a password before you use xrdp to log in to your VM. xrdp не принимает ключи SSH для проверки подлинности. xrdp cannot accept SSH keys for authentication. В следующем примере задается пароль для учетной записи пользователя azureuser. The following example specifies a password for the user account azureuser:

После указания пароля конфигурация SSHD не обновится таким образом, чтобы разрешить вход с помощью пароля, если такая возможность в настоящее время не настроена. Specifying a password does not update your SSHD configuration to permit password logins if it currently does not. С точки зрения безопасности лучше подключиться к виртуальной машине через туннель SSH с помощью проверки подлинности на основе ключа, а затем подключиться к xrdp. From a security perspective, you may wish to connect to your VM with an SSH tunnel using key-based authentication and then connect to xrdp. В таком случае можно пропустить следующий шаг по созданию правила группы безопасности сети, разрешающего трафик с удаленного рабочего стола. If so, skip the following step on creating a network security group rule to allow remote desktop traffic.

Читайте также:  Disable windows store service

Создание правила группы безопасности сети, разрешающего трафик с удаленного рабочего стола Create a Network Security Group rule for Remote Desktop traffic

Чтобы трафик с удаленного рабочего стола мог поступать на виртуальную машину Linux, необходимо создать правило группы безопасности сети, разрешающее использовать протокол TCP на порту 3389 для доступа к виртуальной машине. To allow Remote Desktop traffic to reach your Linux VM, a network security group rule needs to be created that allows TCP on port 3389 to reach your VM. Дополнительные сведения о правилах групп безопасности сети см. в статье Безопасность сети. For more information about network security group rules, see What is a network security group? Вы также можете создать правило группы безопасности сети с помощью портала Azure. You can also use the Azure portal to create a network security group rule.

В следующем примере создается правило группы безопасности сети с именем az vm open-port на порту 3389. The following example creates a network security group rule with az vm open-port on port 3389. Из Azure CLI, а не сеанса SSH с виртуальной машиной, откройте следующее правило группы безопасности сети: From the Azure CLI, not the SSH session to your VM, open the following network security group rule:

Подключение к виртуальной машине Linux с помощью клиента удаленного рабочего стола Connect your Linux VM with a Remote Desktop client

Откройте локальный клиент удаленного рабочего стола и подключитесь с помощью IP-адреса или DNS-имени виртуальной машины Linux. Open your local remote desktop client and connect to the IP address or DNS name of your Linux VM.

Введите имя пользователя и пароль для учетной записи пользователя на виртуальной машине: Enter the username and password for the user account on your VM as follows:

После проверки подлинности загрузится среда рабочего стола xfce. Она будет выглядеть примерно так: After authenticating, the xfce desktop environment will load and look similar to the following example:

Если локальный RDP-клиент использует проверку подлинности на уровне сети (NLA), то может потребоваться отключить эту настройку подключения. If your local RDP client uses network level authentication (NLA), you may need to disable that connection setting. В настоящее время XRDP не поддерживает NLA. XRDP does not currently support NLA. Вы можете также воспользоваться альтернативными решениями для RDP, которые поддерживают NLA, такими как FreeRDP. You can also look at alternative RDP solutions that do support NLA, such as FreeRDP.

Диагностика Troubleshoot

Если не удается подключиться к виртуальной машине Linux с помощью клиента удаленного рабочего стола, используйте netstat на виртуальной машине Linux, чтобы убедиться, что она прослушивает RDP-подключения: If you cannot connect to your Linux VM using a Remote Desktop client, use netstat on your Linux VM to verify that your VM is listening for RDP connections as follows:

В следующем примере показана виртуальная машина, прослушивающая TCP-порт 3389, как и ожидалось: The following example shows the VM listening on TCP port 3389 as expected:

Если служба xrdp-sesman не выполняет прослушивание, перезапустите службу на виртуальной машине Ubuntu следующим образом: If the xrdp-sesman service is not listening, on an Ubuntu VM restart the service as follows:

Просмотрите журналы в папке /var/log на виртуальной машине Ubuntu, чтобы узнать, почему служба не отвечает. Review logs in /var/log on your Ubuntu VM for indications as to why the service may not be responding. Вы также можете проверять системный журнал на предмет ошибок во время попыток подключения к удаленному рабочему столу: You can also monitor the syslog during a remote desktop connection attempt to view any errors:

В других дистрибутивах Linux, например Red Hat Enterprise Linux и SUSE, способы перезапуска служб и расположение файла журнала могут отличаться. Other Linux distributions such as Red Hat Enterprise Linux and SUSE may have different ways to restart services and alternate log file locations to review.

Если ответ не поступает в клиент удаленного рабочего стола, а события не отображаются в системном журнале, это означает, что трафик с удаленного рабочего стола не достигает виртуальной машины. If you do not receive any response in your remote desktop client and do not see any events in the system log, this behavior indicates that remote desktop traffic cannot reach the VM. Проверьте правила групп безопасности сети и убедитесь, что в их числе есть правило, разрешающее трафик по протоколу TCP через порт 3389. Review your network security group rules to ensure that you have a rule to permit TCP on port 3389. Дополнительные сведения см. в статье Устранение проблем с подключением к приложениям на виртуальных машинах Linux в Azure. For more information, see Troubleshoot application connectivity issues.

Дальнейшие действия Next steps

Дополнительные сведения о создании и использовании ключей SSH на виртуальных машинах Linux см. в статье Создание пары из открытого и закрытого ключей SSH для виртуальных машин Linux. For more information about creating and using SSH keys with Linux VMs, see Create SSH keys for Linux VMs in Azure.

Сведения об использовании SSH в Windows см. в статье Использование SSH с Windows в Azure. For information on using SSH from Windows, see How to use SSH keys with Windows.

Оцените статью