- Руководство по установке Windows Server Windows Server Installation Guide
- Включение подсистемы Windows для Linux Enable the Windows Subsystem for Linux
- Скачивание дистрибутива Linux Download a Linux distribution
- Извлечение и установка дистрибутива Linux Extract and install a Linux distribution
- Как подключиться к Linux из Windows
- Удалённый доступ к Linux с помощью VNC
- Шаг 1. Установка рабочей среды XFCE
- Шаг 2. Установка TightVNC
- Шаг 3. Настройка пароля
- Шаг 4. Настройка скрипта запуска
- Шаг 5. Запуск VNC сервера
- Шаг 6. Подключение из Windows
- Шаг 8. Настройка systemd
- Использование RDP для удалённого подключения
- Подключение к Linux из Windows по SSH
- Использование Putty для подключения к Linux
- Выводы
- Linux в роли клиента для Windows Terminal Server
- Лицензирование и полная стоимость владения
Руководство по установке Windows Server Windows Server Installation Guide
Подсистема Windows для Linux доступна для установки на Windows Server 2019 (версия 1709) и более поздних версий. The Windows Subsystem for Linux is available for installation on Windows Server 2019 (version 1709) and later. В этом руководстве рассматриваются действия по включению WSL на компьютере. This guide will walk through the steps of enabling WSL on your machine.
Включение подсистемы Windows для Linux Enable the Windows Subsystem for Linux
Перед запуском дистрибутивов Linux в Windows необходимо включить дополнительный компонент «Подсистема Windows для Linux» и перезагрузить компьютер. Before you can run Linux distros on Windows, you must enable the «Windows Subsystem for Linux» optional feature and reboot.
Запустите PowerShell с правами администратора и выполните следующую команду. Open PowerShell as Administrator and run:
Скачивание дистрибутива Linux Download a Linux distribution
Выполните эти инструкции, чтобы скачать избранный дистрибутив Linux. Follow these instructions to download your favorite Linux distribution.
Извлечение и установка дистрибутива Linux Extract and install a Linux distribution
После загрузки дистрибутива Linux для извлечения его содержимого и установки вручную выполните следующие действия. Now that you’ve downloaded a Linux distribution, in order to extract its contents and manually install, follow these steps:
Извлеките содержимое пакета .appx , с помощью PowerShell: Extract the .appx package’s contents, using PowerShell:
Запустите средство запуска приложения дистрибутива в целевой папке. Run the distribution launcher application in the target folder. Средство запуска обычно называется .exe (например, ubuntu.exe ). The launcher is typically named .exe (for example, ubuntu.exe ).
Сбой установки с ошибкой 0x8007007e. При возникновении этой ошибки система не поддерживает WSL. Installation failed with error 0x8007007e: If you receive this error, then your system doesn’t support WSL. Убедитесь, что вы используете сборку Windows 16215 или более позднюю версию. Ensure that you’re running Windows build 16215 or later. Проверьте используемую сборку. Check your build. Также убедитесь, что WSL включен и ваш компьютер перезагружен после включения этой функции. Also check to confirm that WSL is enabled and your computer was restarted after the feature was enabled.
3. Добавьте путь дистрибутива в путь среды Windows (в этом примере: C:\Users\Administrator\Ubuntu ), с помощью PowerShell: 3.Add your distro path to the Windows environment PATH ( C:\Users\Administrator\Ubuntu in this example), using PowerShell:
Теперь вы можете запустить дистрибутив из любого пути, введя .exe . You can now launch your distribution from any path by typing .exe . Например: ubuntu.exe . For example: ubuntu.exe .
После установки необходимо инициализировать новый экземпляр дистрибутива, прежде чем его можно будет использовать. Now that it is installed, you must initialize your new distribution instance before using it.
Как подключиться к Linux из Windows
В мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — Linux и Windows. Поэтому очень часто возникают ситуации, когда приходится подключаться по сети из одной операционной системы к другой для выполнения разнообразных операций.
В этой статье мы рассмотрим варианты подключения к Linux из Windows. Существуют бесплатные и условно бесплатные утилиты вроде AnyDesk или TeamViewer, но установка их довольно тривиальна и не нуждается в дополнительном пояснении. Утилиты подобного рода обладают рядом ограничений при бесплатном некоммерческом использовании, либо их функциональность не удовлетворяет тем или иным потребностям пользователя. Мы рассмотрим полностью бесплатные способы как подключится к Linux из Windows.
Удалённый доступ к Linux с помощью VNC
На сегодняшний день самое популярное удаленное подключение к Linux из Windows, с использованием привычный в Windows графического интерфейса, является VNC (Virtual Network Computing) — утилита, использующая протокол RFB (Remote FrameBuffer — удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
В качестве сервера VNC в данном примере будет использоваться TightVNC, установленный в Ubuntu 20.04. Для установки сервера VNC необходимо выполнить ряд действий:
Шаг 1. Установка рабочей среды XFCE
Xfce — одна из самых легковесных рабочих сред, используемых в Linux, она будет быстро работать даже при слабом и нестабильном сетевом подключении. Установите её с помощью команд:
sudo apt update
sudo apt install xfce4 xfce4-goodies
Шаг 2. Установка TightVNC
Далее установите TightVNC:
sudo apt install tightvncserver
Шаг 3. Настройка пароля
Перед началом выполнения всех действий необходимо задать пароль пользователя VNC. Выполните команду:
Вам будет предложено создать новый пароль, а также пароль только для просмотра. Откажитесь от второй опции:
Завершите процесс vncserver:
vncserver -kill :1
Шаг 4. Настройка скрипта запуска
Отредактируйте скрипт, который выполняется после запуска VNC-сервера:
Он должен содержать такой текст:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
Сделайте файл исполняемым:
Шаг 5. Запуск VNC сервера
На этом этапе уже можно запустить VNC-сервер с помощью команды:
Шаг 6. Подключение из Windows
Для того, чтобы подключиться из Windows к вашему Linux-серверу, используйте TightVNC Viewer.
Укажите IP-адрес компьютера, к которому нужно подключиться, и номер порта в поле Remote Host. В данном примере — 192.168.56.102::5901:
После того, как будет введён пароль, вы должны увидеть рабочий стол Xfce:
Шаг 8. Настройка systemd
Для того, чтобы запуск вашего VNC-сервера добавить в автозагрузку надо использовать systemd. Создайте новый файл сервиса systemd:
sudo nano /etc/systemd/system/vncserver@.service
Его содержимое должно быть следующим:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800×600 :%i
PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Измените имя пользователя ubuntu и рабочего каталога ubuntu на нужные вам значения. Если у вас запущен VNC-сервер, остановите его:
vncserver -kill :1
Сообщите systemd о появлении нового сервиса:
sudo systemctl daemon-reload
Добавьте запуск вашего нового сервиса в список автозагрузки:
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1
Использование RDP для удалённого подключения
Помимо VNC, для управления Linux-сервером из Windows можно воспользоваться RDP (Remote Desktop Protocol). Для этого на компьютере с Ubuntu 20.04 установите утилиту xrdp:
sudo apt install xrdp
Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
sudo apt-get install xfce4
Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:
Перезапустите сервис xrdp:
sudo systemctl restart xrdp.service
Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:
Если всё сделано правильно, вы увидите рабочий стол Xfce:
Подключение к Linux из Windows по SSH
Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’
Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:
Add-WindowsCapability -Online -Name OpenSSH.Client
Для того, чтобы подключиться к устройству, на котором запущен SSH-сервер, необходимо ввести имя пользователя и IP-адрес. Команда для подключения по SSH используя PowerShell выглядит так:
Здесь ubuntu — имя пользователя на удалённом компьютере, а 192.168.56.1 — IP-адрес Linux-сервера, на котором запущен демон SSH.
При первом подключении необходимо подтвердить использование специального персонального ключа для шифрованного соединения по SSH-протоколу (введите слово Yes), затем введите пароль пользователя (в данном случае для пользователя ubuntu):
Как видите, соединение прошло успешно. Теперь можно выполнять все команды так же, как если бы вы их выполняли используя стандартный Linux SSH-клиент:
Для завершения терминальной сессии на удалённом компьютере введите команду exit. Теперь вы знаете как выполняется подключение к Linux из Windows по SSH.
Использование Putty для подключения к Linux
Пожалуй, одним из самых популярных способов подключения к Linux из Windows является кроссплатформенная утилита Putty — небольшая по размерам, но очень часто незаменима для подключения по таким протоколам как SSH, Telnet, rlogin и даже с помощью последовательных портов.
Для обычного подключения к Linux-серверу по протоколу SSH достаточно в поле Host Name (or IP—address) указать его IP-адрес и нажать кнопку Open (в данном примере Linux-сервер имеет IP-адрес: 192.168.56.102):
При первом подключении Putty предупредит, что используется специальный ключ безопасности и его нужно добавить в доверенные хосты. Нажмите кнопку Да:
Далее нужно будет ввести логин и пароль. Если всё сделано правильно, запустится удалённая сессия терминала Linux:
Мало кто знает, что Putty позволяет запустить почти любое приложение, установленное на компьютере с Linux, по сети в Windows. Для этого на компьютере с Windows нужно установить собственный X-сервер. В данном примере воспользуемся Xming.
Скачайте Xming с официального сайта. Установка довольно тривиальная, поэтому не будем на ней останавливаться. Ничего не меняйте в процессе установки. Просто нажимайте кнопку Next до тех пор, пока программа не установится и не запустится:
Когда установка Xming завершится, откройте Putty и в настройках сессии для вашего подключения в разделе SSH -> X11 включите флажок напротив опции Enable X11 forwarding, а также, в строке Отображение дисплея X впишите значение localhost:0, после чего откройте сессию подключения с помощью кнопки Open:
В открывшемся терминале Putty введите консольное название программы, обладающей графическим интерфейсом. В данном примере введено название графического редактора drawing:
(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):
Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.
Выводы
Сегодня не существует слишком уж больших проблем для подключения к Linux из Windows. Способов существует довольно много. Каждый из них обладает своими достоинствами и недостатками, например, скорость работы VNC, да и других тоже, существенно зависит от скорости сетевого соединения. Существуют также программные средства, позволяющие подключаться к Linux-серверам используя мессенджеры или браузеры.
Linux в роли клиента для Windows Terminal Server
Bот уже несколько лет я ищу наилучший способ применения Linux на рабочих местах. В качестве настольной операционной системы это весьма привлекательное решение для компаний с ограниченным бюджетом или вычислительными ресурсами. Будучи его ярым поклонником, я считаю, что сети, полностью построенные на базе Linux, работают прекрасно, но, к сожалению, многие из популярных у наших клиентов приложений не совместимы с Linux, либо их портирование затруднено. Тем не менее мне кажется, что я все-таки нашел способ использовать Linux интересным и экономным образом практически для любой задачи в корпоративной среде.
Я установил Linux в качестве легкого клиента для совместной работы с открытым программным пакетом удаленного настольного клиента rdesktop. Минимальная инсталляция Linux + X Window после загрузки подключается к Windows Terminal Server. Рабочая станция Linux в данном случае выступает в роли простого терминала, предоставляющего соединение с корпоративной сетью. Через него пользователь получает доступ к центральному серверу или нескольким серверам и может запускать все необходимые приложения.
Преимущества данной конфигурации следующие.
- Контролируемое окружение — пользователям не позволено менять настройки своей рабочей станции. Все нарушения возможны только на аппаратном уровне.
- Переустановка рабочей станции Linux практически не зависит от аппаратной части и проходит очень быстро — оборудование должно присутствовать в списке совместимостей Linux (Hardware Compatibility List), и размер образа инсталляции занимает всего 300 Мбайт.
- За клиентскую операционную систему не придется платить — Linux распространяется бесплатно.
- Одно централизованное хранилище для модернизации приложений и служб — терминальный сервер содержит все приложения и службы.
- Рабочие станции функционируют гораздо быстрее.
И самое главное — везде используется Linux. Подробности во врезке «Лицензирование и полная стоимость владения».
УСТАНОВКА LINUX
Для установки я взял Linux Red Hat 7.1 и остался очень доволен. Ниже описано, как осуществлялась конфигурация системы.
Для начала я произвел установку с корневым разделом размером в 500 Мбайт и разделом подкачки на 64 Мбайт. Размер установки можно уменьшить, например, если объем жесткого диска не превышает 540 Мбайт. Мне удалось сократить размер установки до 260 Мбайт с разделом подкачки объемом 32 Мбайт.
ОБОРУДОВАНИЕ
Оборудование можно использовать любое, если оно совместимо с Linux, но я бы предложил следующее:
- оперативная память объемом 32 Мбайт;
- видеоадаптер с памятью свыше 4Мбайт;
- жесткий диск на 500 Мбайт;
- сетевая карта на 10/100 Мбит/с.
А вот такой может быть минимальная конфигурация программного обеспечения:
- классический оконный интерфейс X Window (например, twm);
- поддержка сети;
- инструменты для разработки;
- пакет kudzu;
- пакет ssh.
Я рекомендую воспользоваться опцией выбора индивидуальных пакетов (Select Individual Packages), чтобы не устанавливать ненужные приложения — sendmail и т. д. Таким образом, мы создадим легкую клиентскую ОС с оптимальным набором утилит, хотя можно добавить и другие утилиты (например, ssh) для удаленного доступа администратора к клиентской рабочей станции. Какого-то специального списка требований не существует. Если у вас установлена сетевая поддержка и twm — этого уже должно быть достаточно для работы. Я сократил размер установочных программ так, что все они поместились на компакт-диск.
RDESKTOP
Утилита с открытыми кодами rdesktop обеспечивает взаимодействие системы UNIX/Linux с Windows Terminal Server. Она написана Мэттом Чапменом и распространяется на условиях лицензии GPL.
Для этой статьи я использовал rdesktop версии RDP 5.0. Запуск rdesktop в полноэкранном режиме производится в соответствии со следующим синтаксисом: rdesktop -f . Возможен запуск rdesktop в окне с помощью rdesktop -g 800×600 , хотя я настоятельно рекомендую выбрать rdesktop -f в случае, когда терминальный сервер — единственный рабочий стол в системе. Таким образом, пользователи даже не узнают, что они, к примеру, пользуются не Windows 2000. Для начала загрузите исходный текст программы и запустите make для компиляции исполняемого файла, либо скомпилируйте программу на другом компьютере и перенесите на рабочий компьютер в случае, если на последнем не установлены пакеты для разработки. Поместите rdesktop в переменную пути. После установки rdesktop можно попробовать запустить ее:
где — это доменное имя либо
IP-адрес компьютера с установленным Windows Terminal Server. Возможности тонкой конфигурации у rdesktop отсутствуют, она является лишь простым терминальным клиентом, работающим по протоколу удаленного рабочего стола (Remote Desktop Protocol, RDP).
AUTOLOGIN
Autologin освобождает пользователя от обязательной авторизации на рабочей станции Linux. Как правило, он уверен, что работает за обычной рабочей станцией Windows. Компьютер включается, загружается и выводит приглашение к авторизации на терминальном сервере. Autologin не позволяет вмешаться в процесс загрузки рабочей станции до того, как будет выведено приглашение терминального сервера, и делает прозрачным процесс взаимодействия с компьютером, не заставляя пользователя выполнять лишние действия.
Кроме того, благодаря Autologin администратору достаточно одного инсталляционного пакета для всех пользователей. Если с одной из станций возникает проблема, то ему не надо беспокоиться о восстановлении паролей пользователя, потому что не нужны и сами пароли. С применением Autologin любой компьютер может быть предоставлен любому сотруднику без дополнительного вмешательства администратора. После того как компьютер загружается и выводит приглашение к авторизации, у пользователя появляется вполне работоспособный рабочий стол. Подобная авторизация позволяет крупным компаниям предоставлять рабочие станции нескольким служащим, при этом не беспокоясь о профилях пользователей, загружаемых из Internet программах и т. п. Пропускаемая с помощью Autоlogin часть процесса авторизации — это авторизация непосредственно в Linux. Безопасность системы не уменьшается, поскольку сама рабочая станция задействована в процессе наименьшим образом. Зона ответственности начинается с приглашения к авторизации Windows Terminal Server.
Ниже представлен способ установки Autologin в систему. Загрузите файл ftp://ftp.linux-easy.com/pub/linux-easy/i386/autologin-1.0.0-1.i386.rpm и установите его с помощью команды rpm -i autologin-1.0.0-1.i386.rpm. Создайте пользователя, для которого вы хотите реализовать автоматический вход в систему, и назначьте ему пароль. Это может быть как реальный пользователь, так и шаблонный, например с именем username.
Ниже приведен файл README из пакета Autologin:
Имя пользователя, которое вы вводите, появится в рамке User в приглашении терминального сервера.
ДОМАШНИЙ КАТАЛОГ ПОЛЬЗОВАТЕЛЯ ПРИ AUTOLOGIN
Для запуска twm после регистрации пользователя я использую файл .xinitrc. В том же файле записан запуск rdesktop. Server — это псевдоним имени узла в /etc/hosts.
Здесь показана часть файла .twmrc пользователя, где определяется вызов меню по щелчку левой кнопкой мыши. Я убрал все опции, которые не хотел бы предоставлять пользователям, и оставил только возможность повторного соединения с сервером на случай, если пользователь отсоединяется либо истекло время ожидания авторизации. Кроме того, здесь можно предусмотреть возможность перезагрузки.
Мне удалось удачно запустить удаленный рабочий стол при разрешениях от 640×400 до 1024×768, но я добился вывода только 16-разрядной цветовой палитры. Я предложил выше использовать графические адаптеры с памятью 4 Мбайт, чтобы картинка не плавала и не мигала.
НАСТРАИВАЕМ КЛИЕНТСКИЙ КОМПЬЮТЕР
Вряд ли абсолютно все компьютеры, на которые вы будете устанавливать образ, окажутся одинаковыми по аппаратной конфигурации. Поэтому я и разработал конфигурационный сценарий, призванный помочь в настройке индивидуальной конфигурации. Сценарий размещается в домашнем каталоге пользователя root и называется configure. Сделайте его исполняемым командой chmod 755 configure, затем запустите (./configure). Сценарий написан в предположении, что вы пользуетесь дистрибутивом Red Hat Linux, но для любого другого дистрибутива его необходимо модифицировать.
При первой загрузке после произведенной установки, вы можете столкнуться с тем, что интерфейс X Window несколько раз мигнет, потом завершится сообщением наподобие ?respawning too fast, will attempt again in 5 minutes? («слишком быстрое возобновление, новая попытка будет предпринята через 5 мин»). Это значит, что в файл /etc/hosts занесена запись терминального сервера, который еще не существует, либо некорректно указан его IP-адрес.
Нажмите Ctrl-Alt-F2 для вызова консоли, пройдите авторизацию и исправьте настройки. Затем выполните команду kill -HUP (идентификатор процесса twm), и после этого появится окно авторизации терминального сервера с заполненной строкой ввода имени пользователя.
Я назвал эту установку Hessix, но возможны и любые другие благозвучные варианты. Наслаждайтесь и, пожалуйста, присылайте мне ваши отзывы по поводу удачных установок.
БУДУЩЕЕ
В будущем хотелось бы настроить легкого клиента так, чтобы он рассылал широковещательный запрос на выявление в сети терминальных серверов UNIX и Windows и при загрузке выводил список, откуда можно выбрать нужный терминальный сервер. Кроме того, полезен был бы и ISO-образ загрузочного CD с пакетом для определения имеющегося на клиентской машине оборудования, чтобы загрузка и работа могли осуществляться даже при отсутствии жесткого диска. Наконец, пригодился бы сервер Linux с пакетом WINE, действительно включающим все приложения, используемые моими клиентами, что позволило бы минимизировать необходимость установки другого программного обеспечения.
Кеннет Хесс — генеральный директор консалтинговой компании AHCC. С ним можно связаться по адресу: khess@ahcctulsa.com.
Лицензирование и полная стоимость владения
Предлагаемое решение не избавит вас от необходимости лицензировать любые продукты, например текстовый редактор, которые будут размещены на терминальном сервере. Все равно придется покупать то же самое число лицензий на используемые продукты, как если бы они устанавливались индивидуально.
Обращение к терминальным сервисам требует наличия собственной специальной лицензии на каждого пользователя вдобавок и CAL на каждого клиента сервера Microsoft. Экономия денежных средств заключается не в лицензировании (если не учитывать, что вам не понадобится приобретать операционную систему для клиентских компьютеров) — вы сможете использовать устаревшее оборудование без потери производительности.
Кроме того, службе поддержки удастся сэкономить сотни долларов и часов на поиски новых драйверов для заменяемых компонентов на клиентских машинах. До тех пор пока ваше оборудование числится в Linux Hardware Compatibility List, просто запустите kudzu, и все будет в порядке.