黑客教你如何在Windows上运行Linux桌面应用程序

简介:

当微软将把Ubuntu引入Windows 10的消息传出时,官方的理由是它只是针对将Bash移植到Windows之中。笔者曾经预言,Linux Bash是伟大的,我们很快就会看到“人们试图将包括桌面在内的所有Linux用户空间程序移植到Windows之上。”

在Windows Subsystem for Linux(WSL)发布的几天之后,黑客们就将Linux图形程序运行在了Windows Ubuntu之中。

黑客教你如何在Windows上运行Linux桌面应用程序

方法很简单,安装了WSL和Ubuntu之后,你要做的第一件事就是为Windows增加一个X Window服务器。笔者使用的是Xming X Server for Windows。Windows上的Ubuntu现在没有附带原生的X服务器或者Ubuntu自己的X替代品Mir。Xming是一个基于针对微软Windows 的X.org代码的Linux交叉编译服务器,它主要是为了通过SSH实现安全运行,远程Linux和Unix X Window应用程序,但是它也能够很好地作为本地X服务器工作。

接下来,需要让WSL和Ubuntu运行起来。运行起来之后,用Bash命令“apt-get update”更新Ubuntu的高级打包工具(Advanced Packaging Tool,APT)资料库。由于WSL上的Ubuntu在启动的时候自动运行,因此客户不需要在命令中增加sudo运行它了。

一旦资料库完成了更新,你就可以安装Linux GUI应用程序了。笔者和其他人一样选择了安装Firefox,当然也可以尝试任何不需要特定Linux GUI工具包,例如GTK+、Tck/Tk或Qt支持的应用程序。运行Bash命令“apt-get install firefox”安装Firefox之后,再用“DISPLAY=:0 firefox”命令运行。然后,如果一切都顺利的话,你将可以在Windows桌面上运行Linux桌面应用程序了。

当然,它可能不会运行得很好,毕竟这是在测试平台上运行一个图形程序,而这个测试平台的目标并不是运行带有图形用户界面的软件。笔者进行了尝试,但是结果却并不怎么好:Firefox经常崩溃,而且不止一人遇到这个问题,现在唯一能够运行正常的Linux桌面应用程序是Vim文本编辑器。

这些程序不会运行得那么快,即便它们能够运行的话。这是因为X服务器不会缓冲或者直接渲染图形。毕竟X11协议是一个针对图形的网络协议。它被用于Unix和Linux之上的图形已经很多年了,但是如果没有其他帮助,它对于图形并不够有效。因此,Wayland作为X Window服务器的替代品兴起了。

Canonical——在任何情况下都能帮助Mir支持显示服务器——在近期都不会帮助把图形程序移植到WSL。Canonical 的Ubuntu 产品和战略执行团队成员Dustin Kirkland对我表示这些不受支持的Linux应用程序的出现显示了“开放源代码社区的力量!” Kirkland继续表示,这也就是说,“Canonical和微软目前侧重于Windows上的Ubuntu的命令行和开发者工具。”

所以,是否将所有的Linux桌面应用程序以及最终把Linux桌面放到Windows Ubuntu中完全取决于用户自己。这一幕会出现的。我对于开放源代码黑客非常有信心。而且,有一位程序员已经想方设法用cygwin让xfce Linux桌面运行在Windows 10之上了。这样看,让更多的Linux图形程序运行在WSL上只是一个时间问题。





原文发布时间为:2016年04月16日 
本文作者:作者:赵东
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
5天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
18 1
|
6天前
|
iOS开发 MacOS Windows
|
1天前
|
存储 Linux 编译器
【Linux】详解动态库链接和加载&&对可执行程序底层的理解
【Linux】详解动态库链接和加载&&对可执行程序底层的理解
|
1天前
|
Linux C++
【Linux】详解进程程序替换
【Linux】详解进程程序替换
|
3天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0
|
4天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
11 0
|
4天前
|
存储 网络协议 算法
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
11 0
|
5天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
14 2
|
7天前
|
监控 Linux Shell
|
7天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。