黑客教你如何在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日 
本文作者:作者:赵东
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
7天前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
41 0
|
8天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
31 0
|
20天前
|
消息中间件 编译器 API
Windows窗口程序
Windows窗口程序
|
8天前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
12 0
|
21天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
22 0
|
20天前
|
编译器 C语言 C++
|
7天前
|
Java Shell Linux
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
|
7天前
|
Shell Linux 程序员
【linux进程(六)】环境变量再理解&程序地址空间初认识
【linux进程(六)】环境变量再理解&程序地址空间初认识
|
15天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF