黑客教你如何在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日 
本文作者:作者:赵东
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
10天前
|
消息中间件 编译器 API
Windows窗口程序
Windows窗口程序
|
17天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
24天前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
65 0
|
10天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
21 0
|
5天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
29 0
|
8天前
|
Linux Windows
Windows、Mac、Linux解决端口被占用的问题
Windows、Mac、Linux解决端口被占用的问题
8 1
|
15天前
|
安全 Ubuntu Linux
Linux远程访问Windows实现步骤
在Windows上启用远程桌面连接并获取IP地址后,Linux用户需安装SSH客户端( Debian系:`sudo apt-get update; sudo apt-get install openssh-client`,RPM系:`sudo yum install openssh-clients`)。然后使用命令`ssh 用户名@Windows_IP地址`连接,其中`用户名`和`Windows_IP地址`按实际情况填写。
14 4
|
18天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
18天前
|
Linux
Linux驱动运行灯 Heartbeat
Linux驱动运行灯 Heartbeat
8 0
|
19天前
|
Java Linux
Linux运行jar并选择配置文件
Linux运行jar并选择配置文件
8 1