Как запускать графические Linux-приложения для рабочего стола из оболочки Windows 10 Bash
Оболочка Bash в Windows 10 официально не поддерживает графические приложения для Linux. Microsoft говорит, что эта функция предназначена только для разработчиков, которые хотят запускать терминальные утилиты Linux. Но базовая «подсистема Windows для Linux» является более мощной, чем позволяет Microsoft.
В Windows 10 можно запускать графические приложения Linux, но имейте в виду, что это официально не поддерживается. Не каждая часть программного обеспечения Linux работает, а графические приложения еще более сложны и менее проверены. Но со временем они должны стать более стабильными, так как Microsoft улучшает базовую подсистему Windows для Linux.
Оболочка Bash в Windows 10 поддерживает только 64-разрядные двоичные файлы, поэтому вы не можете устанавливать и запускать 32-разрядное программное обеспечение Linux.
Как это работает
Во-первых, давайте разберемся, как именно это работает, чтобы вы могли иметь некоторое представление о том, что мы делаем здесь.
Windows 10 включает базовую «подсистему Windows для Linux», которая позволяет Windows 10 запускать программное обеспечение Linux путем преобразования системных вызовов Linux в системные вызовы Windows..
Когда вы запускаете дистрибутив Linux, такой как Ubuntu, он загружает и устанавливает полный образ пространства пользователя Ubuntu на ваш компьютер. Это включает в себя те же самые двоичные файлы или приложения, которые будут работать в Ubuntu. Эта среда «Bash on Ubuntu в Windows» работает благодаря базовой подсистеме Windows для Linux.
Microsoft не хочет тратить время на работу с графическим программным обеспечением, так как эта функция предназначена для инструментов разработчика из командной строки. Но главная техническая причина того, что графические приложения не поддерживаются, заключается в том, что им необходим «X-сервер» для обеспечения этого графического интерфейса. На типичном рабочем столе Linux этот «X-сервер» автоматически появляется при загрузке компьютера и отображает весь рабочий стол и используемые вами приложения..
Но попробуйте открыть графическое приложение из Bash для Windows, и он будет жаловаться, что не может открыть дисплей.
Однако существуют приложения X-сервера, которые вы можете установить на рабочий стол Windows. Как правило, они используются для визуализации приложений Linux, работающих на других компьютерах - протокол «X11» довольно старый и был разработан с возможностью запуска по сетевому соединению.
Если вы установите приложение X-сервера на рабочий стол Windows и измените настройку в оболочке Bash, приложения отправят свой графический вывод приложению X-сервера, и они появятся на вашем рабочем столе Windows. Все должно работать нормально, при условии, что эти приложения не зависят от системных вызовов Linux, которые подсистема Windows для Linux еще не поддерживает.
Шаг первый: установить X-сервер
В Windows можно установить несколько разных X-серверов, но мы рекомендуем Xming. Загрузите его и установите на свой компьютер с Windows 10.
Процесс установки прост: вы можете просто принять настройки по умолчанию. Затем он автоматически запустится и запустится в системном трее, ожидая запуска графических программ..
Шаг второй: установить программу
Вы можете установить графические настольные программы для Linux, как и любую другую программу, используя команду apt-get в среде Bash на основе Ubuntu. Например, допустим, вы хотите установить графический редактор vim на основе GTK. Вы бы запустили следующую команду в окне Bash:
sudo apt-get установить vim-gtk
Он будет проходить процесс установки в окне командной строки, так же как и в Ubuntu..
Шаг третий: установите переменную среды отображения
Теперь вам нужно установить переменную окружения «DISPLAY» так, чтобы она указывала на X-сервер, работающий на вашем ПК с Windows 10. Если вы этого не сделаете, графические приложения просто не смогут запускаться.
Для этого выполните следующую команду в среде Bash:
экспорт DISPLAY =: 0
Этот параметр применяется только к вашей текущей сессии Bash. Если вы закроете окно, Bash забудет об этом. Вам придется запускать эту команду каждый раз, когда вы снова открываете Bash и хотите запустить графическое приложение..
Шаг четвертый: Запустите приложение
Теперь вы можете просто запустить графическое приложение, введя имя его исполняемого файла, как и любую другую команду. Например, чтобы запустить vim-gtk, вы должны запустить:
Gvim
Это так просто. Если после запуска приложения происходит сбой, системные вызовы Linux, которые ему требуются, могут не поддерживаться подсистемой Windows для Linux. С этим мало что можно сделать. Но попробуйте, и вы можете обнаружить, что нужные вам приложения работают прилично!
Вы также можете объединить третий и четвертый этапы, если хотите. Вместо того, чтобы экспортировать переменную DISPLAY один раз для всего сеанса оболочки Bash, вы просто запустите графическое приложение с помощью следующей команды:
DISPLAY =: 0 команда
Например, чтобы запустить gvim, вы должны запустить:
DISPLAY =: 0 гвим
Помните, это официально не поддерживается, поэтому вы можете столкнуться с ошибками в более сложных приложениях. Виртуальная машина - это более надежное решение для запуска многих графических настольных приложений Linux в Windows 10, но это изящное решение для некоторых простых вещей.