百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

WSLg功能初探:在Windows 10上运行Linux GUI应用

liuian 2025-01-26 23:21 17 浏览

在 Windows 10 最新预览版中,用户可以通过最新的 Windows Subsystem for Linux GUI(WSLg) 直接在 Windows 10 桌面运行 Linux 应用程序了。在外媒 Bleeping Computer 发布的最新 WSLg 功能上手文章中,演示了几款主流的图形化 Linux 应用程序。

在今年的 Build 2021 开发者大会上,微软正式发布了 WSLg 功能,并表示 Windows 10 Build 21364 及更高版本均会支持该功能。该功能主要利用 Wayland 服务器在 Windows 10 系统上显示 Linux GUI 应用程序。

Windows 开发者平台项目经理 Craig Loewen 解释道:“WSLg 将启动一个配套的系统发行版本,包括 Wayland, X server 和 audio server,以及让 Linux GUI 应用和 Windows 通信所需要的所有东西”。Windows 10 预装 WSLg 功能是一个令人兴奋的发展,因为它模糊了 Linux 和 Windows 10 之间的界限,粉丝们得到了两个世界的好处。

安装 WSLg

想要使用 WSLg 功能,用户首先需要升级到最新的 Windows 10 预览版。在写这篇文章的时候,最新 Build 版本号是 21390。在安装最新 Windows 10 预览版之后,你就可以安装 Windows Subsystem for Linux,并安装一个新的 Linux 发行版。

例如,要安装支持 GUI 的 Windows Subsystem for Linux(WSL) 并自动安装 Ubuntu,你可以在 Windows 10 管理员权限命令提示符下输入 wsl --install -d Ubuntu。对于已经安装 WSL 的用户来说,你需要更新WSL以增加对WSLg引擎的支持,使用wsl --update命令,然后是wsl --shutdown,如下图所示。

一旦WSL被更新,你需要使用 wsl --list -v命令确保你安装的 Linux 发行版被配置为使用 WSL 2。如果你想使用的发行版是版本1,你需要使用wsl --set-version _distro_name_ 2命令将其升级到版本2。例如,要把kali-linux升级到WSL2,我们要在命令提示符下输入wsl --set-version kali-linux 2

为了在 WSLg 中获得更好的性能,微软建议你安装以下预览版驱动程序。用于 WSL 的 AMDGPU 驱动,用于 WSL 的 Intel GPU 驱动,以及用于 WSL 的 NVIDIA GPU 驱动。一旦你的发行版被升级,你现在可以使用WSLg来运行Linux GUI应用程序。

在 Windows 10 中运行 Linux GUI 应用程序

在过去十年中,随着Linux作为桌面操作变得越来越流行,越来越多的软件开发商开始推出适用于 Linux 的版本。例如,适用于 Linux 的 Edge、Chrome、VLC 等等。接下来,外媒演示了目前只能通过 WSLg 功能才可以运行的 Linux GUI 应用。

● Nautilus

Nautilus 是 GNOME 桌面环境的官方文件管理器。虽然你可能会发现在 Windows 10 中使用文件管理器更容易,但 Nautilus 说明了各种类型的应用程序如何在 WSLg 下工作。

你可以用以下命令安装和运行 Nautilus:

sudo apt install Nautilus

nautilus

● Stacer

Stacer 是一个开源的系统优化器和 Linux 的应用程序监视器/任务管理器。

你可以用以下命令安装和运行 Stacer

sudo apt install stacer

stacer

● Timeshift

Timeshift是一个Linux的备份软件,可以用来创建文件系统的快照。

你可以用以下命令安装和运行 Timeshift:

sudo apt install timeshift

sudo timeshift-gtk

● Hedgewars

虽然 Hedgewars 不是一个 Linux 专用的游戏,但我想把它包括进来,以表明即使是游戏也可以在 WSLg 下运行。虽然 WSLg 很可能不是为游戏而设计的,但你可以用它来玩游戏的事实表明了这个新功能的全部深度。

你可以用以下命令安装和运行Hedgewars。

sudo apt install hedgewars

hedgewars

相关推荐

C/C++恶意代码盘点(一):进程遍历丨木马病毒丨密码记录

恶意代码的分类包括计算机病毒、蠕虫、木马、后门、Rootkit、流氓软件、间谍软件、广告软件、僵尸(bot)、Exploit等等,有些技术经常用到,有的也是必然用到。恶意代码常见功能技术如下:进程遍...

跨越十年的C++演进:C++11新特性全解析

原作者:Linux教程,原文「链接」:https://mp.weixin.qq.com/s/oFbiFlqiwgVcJIMMvTelEA很多刚刚进入C++领域的朋友,最初是从C语言转过来的。因...

如何在C#中调用C++方法(c#调用c++的类)

主要方式C#主要通过两种方式提供对非托管代码的调用,第一种是使用平台调用(PlatformInvoke,P/Invoke),第二种是使用不安全代码(unsafe),日常开发中我们使用最多的就是第一种...

C语言字符数组和字符串(c语言字符数组和字符串数组)

用来存放字符的数组称为字符数组,例如:charc[10];字符数组也可以是二维或多维数组。例如:charc[5][10];字符数组也允许在定义时进行初始化,例如:charc[10]={'c',...

C语言指针,如何操作字符串?linux C第45讲

1指针操作字符串在学习数组的时候,我们了解了字符串的定义,我们可以定义一个字符数组,用来存放一个字符串,例如:chararray[]={"abcde"};charbuf[]=...

信奥赛C++常用的算法总结(信息学奥赛c语言和c++有什么区别)

1、桶排序核心:①创建盛下所有数的数组②将每个数作为编号放入桶里优点:稳定、简单、容易考缺点:空间复杂度较大,时间复杂度较大。#include<bits/stdc++.h>usingn...

Arduino 使用 C 字符串(arduino 字符串 数组)

问题您想了解如何使用原始字符字符串:创建字符串、查找其长度以及比较、复制或附加字符串。核心C语言不支持Arduino样式的String功能,因此您想了解针对基本字符数组编写的其他平台的代码...

C++20 四大特性之一:Module 特性详解

C++20最大的特性是什么?最大的特性是迄今为止没有哪一款编译器完全实现了所有特性。文章来源:网易云信有人认为C++20是C++11以来最大的一次改动,甚至比C++11还要大。本文仅介绍...

C/C++的const常量总结(c++语言const)

“所谓常量,就是在代码运行过程中值恒定不变的标识符,该标识符的值可以是一个常数,也可以是字符串。”在C/C++中,通常使用define宏定义或者const来定义常量,比如:#definePI3....

学习分享 | 通过C++python的对比,帮你快速入门python

一、前言对于只接触过静态语言,而从未使用过动态语言的人来说,第一次看到python的语法可能会大为惊叹。不用申明变量类型?不用等老半天编译完成就能直接运行?不用小心的维护指针?还不用写CMakelis...

字符串常量,C语言字符串常量详解

字符常量是由一对单撇号括起来的单个字符,如'a'、'D'、'?'、'#39;。在C语言中,除了字符常量外还有字符串常量,顾名思义就是多个“...

C/C++中的内存四区(c++的内存区域分为)

1代码区存放CPU执行的机器指令。通常代码区是可共享的(即另外的执行程序可以调用它),使其可共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。代码区通常是只读的,使其只读的原因是防...

通过pybind11来实现python调用C++接口(一)

有小伙伴很好奇,怎么样实现python调用C++接口?哈哈,手把手教程来了。第一步:我们需要安装pybind11这个纯头文件的库,目前该库支持c++11及以上版本,在你的环境中通过命令行输入:apt-...

深入了解C++如何注释以及在哪儿注释-开课吧广场

注释虽然写起来很痛苦,但对保证代码可读性至关重要,同时这也是每一个C++开发工程师所需要做好的事情。那么C++开发过程中该如何注释?应该在哪写注释呢?关于注释风格,很多C++的Coders更喜欢行注释...

C++核心知识点速查手册(实用重点版)

一、基础必备核心1.指针与引用(遥控器原理)指针:存储地址的变量(像电视遥控器)inttv=100;//电视机int*remote=&tv;//遥控器指向电视*...