标签 WSL 下的文章

Windows Insiders 预览版 20211 开始,WSL 2 将提供一个新功能:wsl --mount。这个新的参数允许在 WSL 2 中连接和挂载一个物理磁盘,这样你就可以访问 Windows 不支持的文件系统(比如 ext4)。

因此,如果你使用不同的磁盘对 Windows 和 Linux 进行双启动,你现在可以从 Windows 访问你的 Linux 文件了。

开始使用

要挂载磁盘,请打开具有管理员权限的 PowerShell 窗口并运行。

wsl --mount <DiskPath>

要在 Windows 中列出可用的磁盘,请运行。

wmic diskdrive list brief

要从 WSL 2 上卸载和分离磁盘,请运行以下命令

wsl --unmount <Diskpath>

磁盘路径可在 DeviceID 栏中找到。通常是以 \\.\\.\PHYSICALDRIVE* 的格式。下面是一个将指定硬盘的特定分区挂载到 WSL 中并浏览其文件的例子:

使用文件资源管理器访问这些文件

一旦挂载,也可以通过 Windows 资源管理器访问这些磁盘,通过导航到 \wsl$,然后到挂载文件夹。

局限性

默认情况下,wsl --mount 会尝试将磁盘挂载为 ext4。要指定一个文件系统,或者更高级的方案,请查看在 WSL 2 中挂载磁盘

另外请注意,这个功能有一个限制,那就是只有物理磁盘可以连接到 WSL 2。目前,还不能附加单个分区。更多关于限制的细节请看这里

反馈

如果你遇到任何问题或反馈,请在 GitHub 上提交议题。

AppGet 作者:WSL 是一个神奇之举

Keivan Beigi 认为,WSL 是微软的一个神奇之举。我认为这是微软的一项神奇举措。虽然其最初的发行版本非常糟糕,但是之后的每个发行版本都在变得越来越好。但 WSL 并不会让很多人从 Linux 切换到 Windows,不过它有可能减少从 Windows 迁移到 Mac 或 Linux 的开发人员的数量。

来源:开源中国

拍一拍:确实,这一招堪称神来之笔。其带来的影响非常深远。

开发者开源了一款工具,可将 Ubuntu 转变为滚动更新版本

Ubuntu 开发者 Martin Wimpress 开源了一个可以将 Ubuntu 转换为滚动版本的工具 Rolling Rhino,可以通过选择并跟踪一系列更改/程序包,将 Ubuntu 每日构建镜像转换为滚动发行版 devel。

来源:开源中国

拍一拍:就喜欢滚着滚着就挂了的感觉。

新 H.266 VCC 编解码器效率比上一代提升 50%

今天压缩的视频数据占到了全球流量的八成,H.266 VCC 的前两代编解码器分别为 H.264/Advanced Video Coding (AVC) 和 H.265/HEVC。传输 90 分钟的 UHD 视频 H.265/HEVC 编码需要传输 10GB 数据,而 H.266/VVC 编码只需要 5GB。H.264 到 H.266 都需要支付专利使用费的,Google 等公司主导推出了免专利的 AV1 编解码器,但 AV1 目前还缺乏硬件支持。

来源:solidot

拍一拍:技术的进步真快,可惜专利费会阻碍它的普及。

研究显示许多家用路由器未打补丁容易受漏洞影响

许多流行的家用路由器设备受到数百个已知漏洞的影响,超过三分之一的设备在去年没有收到更新。涉及 7 个品牌的 127 个家用路由器,它们来自于华硕、Netgear、D-Link、Linksys、TP-Link 等。报告比较了每个路由器的最新固件版本与已知的安全漏洞,发现没有一个是完美无缺的。

来源:cnBeta.COM

拍一拍:似乎我家的路由器也好久没更新了?这种不显眼的安全缺陷可能带来的隐私泄露是大多数人所注意不到的。

微软最近的 “Build 2020” 开发者大会公布了一些有趣的公告。我不确定这该令人兴奋还是该令人怀疑 —— 但是微软,你现在比以往任何时候都受到我们的关注。

同时,在所有的这些公告中,能够在 WSL(Windows Subsystem for Linux)上运行 GUI 应用程序的功能备受关注。

更不要忘了 Xamrin.Forms 更名为 MAUI 的尴尬结局,它与 Nitrux Linux 的 Uri Herrera 的现有开源项目(Maui Project)名字冲突。

以防你不清楚,WSL 是一种环境,可让你在 Windows 10 中获得 Linux 控制台的体验。它也是在 Windows 中运行 Linux 命令的最佳方法之一。

正如 Liam Dawe 认为的那样,通过博客文章(DirectX ❤ Linux)发布的公告可能是只是个公关诱饵。但是,仍然值得一提。

WSL 上对 Linux GUI 应用程序的支持

最近,Microsoft 在在线开发者大会上宣布了 WSL(即 WSL 2)的一系列新功能。

Windows 包管理器Windows 终端 1.0,以及其他一些功能的引入是其亮点。

但是, WSL 2 对 GPU 硬件加速的支持非常重要。

那么,是否意味着你可以使用 WSL 在 Windows 上运行 Linux 应用程序呢?看起来像是。

微软计划通过使用全新的 Linux 内核驱动程序 dxgkrnl 来实现它。为了给你一个技术性的简报, 我在这里引用他们的公告中的描述:

dxgkrnl 是一个全新的 Linux 内核驱动程序,它将 /dev/dxg 设备提供给用户模式的 Linux。 /dev/dxg 提供了一组 IOCTL,它们与 Winodws 上的原生 WDDM D3DKMT 内核服务层非常相似。Linux 内核中的 dxgkrnl 通过 VM 总线连接到 Windows 主机上,并使用此 VM 总线连接与物理 GPU 进行通讯。

我不是这方面的专家,但这意味着 WSL 上的 Linux 应用程序将与原生的 Windows 应用程序一样可以访问 GPU。

针对 GUI 应用程序的支持将在今年秋季的晚些时候提供(而不是 2020 年 5 月的更新) —— 所以我们要看看什么时候提供。

微软专门针对的是那些希望在 Windows 上轻松使用 Linux IDE 的开发人员。谷歌也在瞄准同样的用户群,将 GUI Linux 应用程序引入到 Chromebook

那么,对于那些坚持使用 Windows 的用户来说,这是个好消息。但是,这是真的吗?

微软爱上了 Linux —— 真的吗?

他们在 Windows 上整合 Linux 环境来拥抱 Linux 及其优势的努力,绝对是一件好事。

但是,它真的能给桌面 Linux 用户带来什么好处呢?到目前为止,我还没有看到任何实际的好处。

在这里,你可以有不同的看法。但是,我认为 WSL 的开发对于 Linux 桌面用户来说没有真正的价值。至少,到目前为止没有。

有趣的是,Linux Unplugged podcast 上有人强调了微软的举动,认为这与他们的 EEE( 拥抱、延伸和扑灭 Embrace, extend, and extinguish )的思路是一致的。

可能吧,谁知道呢?当然,他们为实现这一目标而付出的努力值得赞赏 —— 同时又令人感到兴奋和神秘。

这是否意味着 Windows 用户将不必再转到 Linux?

微软之所以在其平台上集成 Linux,是因为他们知道 Liunx 的能力,也知道开发人员(或用户)喜欢使用它的原因。

但是,随着 WSL 2 的更新,如果这种情况持续下去,我倾向于同意 Abhishek 的看法:

最终,桌面 Linux 将被限制在 Windows 下,成为桌面应用程序……

好吧,当然,原生的体验暂时还是比较好的。而且,很难看到现有的 Linux 桌面用户会使用 Windows 来将其替代。但是,这仍然值得担心。

你如何看待这一切?我不认为 WSL 对于被迫使用 Windows 的用户有什么好处 —— 但是,从长远来看,你认为微软在 WSL 方面的进展本质上是敌意还是对 Linux 有帮助?

在评论中让我知道你的想法!


via: https://itsfoss.com/run-linux-apps-windows-wsl/

作者:Ankush Das 选题:lujun9972 译者:lnrCoder 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

继微软发布了 WSL 2 (Windows Subsystem for Linux 2)之后,前两天正式提供了 WSL2 更新,处于 Insider Fast 通道中的用户可以通过安装 Windows build 18917 更新来体验最新版本的 WSL2。

在这篇文章中,我们将介绍如何入门、新的 wsl.exe 命令以及一些重要提示。有关 WSL 2 的完整文档可在微软的文档页面上找到。

安装 WSL 2

要安装并开始使用 WSL 2,请完成以下步骤:

  • 启用“ 虚拟机平台 Virtual Machine Platform ”可选组件
  • 使用命令行设置要由 WSL 2 支持的发行版
  • 验证你的发行版使用的 WSL 版本

请注意,你需要运行 Windows 10 build 18917 或更高版本才能使用 WSL 2,并且你需要安装 WSL(可以在此处找到相关说明)。

启用“虚拟机平台”可选组件

以管理员身份打开 PowerShell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

启用这些更改后,你需要重新启动计算机。

使用命令行设置要由 WSL 2 支持的发行版

在 PowerShell 中运行:

wsl --set-version <Distro> 2

并确保将 <Distro> 替换为发行版的实际名称。 (你可以使用以下命令找到它们:wsl -l)。 你也可以通过运行与上面相同的命令随时更改回 WSL 1,但将“2”替换为“1”。

此外,如果你想使 WSL 2 成为默认架构,可以使用以下命令执行此操作:

wsl --set-default-version 2

这将使你安装的任何新发行版初始化为 WSL 2 发行版。

完成验证发行版使用的 WSL 版本

要验证每个发行版使用的 WSL 版本,请使用以下命令:

wsl --list --verbose
或
wsl -l -v

你在上面选择的发行版现在应该在“version”列下显示“2”。 现在完成了,你随时可以开始使用你的 WSL 2 发行版了!

WSL 2 的体验变化

首次开始使用 WSL 时,你会注意到一些用户体验变化。以下是此预览中两个最重要的变化。

将 Linux 文件放在 Linux 根文件系统中

确保将 Linux 应用程序中经常访问的文件放在 Linux 根文件系统中,以享受文件性能优势。过去微软一直强调在使用 WSL 1 时将文件放入 C 盘,但 WSL 2 中的情况并非如此。要享受 WSL 2 中更快的文件系统访问权限,这些文件必须放在 Linux 根文件系统里面。而且现在 Windows 应用程序可以访问 Linux 根文件系统(如文件资源管理器!尝试在 Linux 发行版的主目录中运行:explorer.exe . 看看会发生什么),这将使这种转换变得更加容易。

在初始构建中使用动态 IP 地址访问 Linux 网络应用程序

WSL 2 做了架构的巨大变更,使用了虚拟化技术,并仍在努力改进网络支持。由于 WSL 2 现在运行在虚拟机中,因此你从 Windows 访问 Linux 网络应用程序需要使用该 VM 的 IP 地址,反之亦然,你需要 Windows 主机的 IP 地址才能从 Linux 中访问 Windows 网络应用程序。 WSL 2 的目标是尽可能使用 localhost 访问网络应用程序!可以在文档中找到有关如何执行此操作的完整详细信息和步骤。

要了解有关用户体验更改的更多信息,请参阅文档:WSL 1 和 WSL 2 之间的用户体验变化

新的 WSL 命令

WSL 添加了一些新命令选项来帮助控制和查看 WSL 版本和发行版。

除了上面提到的 --set-version--set-default-version 之外,还有:

  • wsl --shutdown

立即终止所有正在运行的发行版和 WSL 2 轻量级实用程序虚拟机。

一般来说,支持 WSL 2 发行版的虚拟机是由 WSL 来管理的,因此会在需要时将其打开并在不需要时将其关闭。但也可能存在你希望手动关闭它的情况,此命令允许你通过终止所有发行版并关闭 WSL 2 虚拟机来执行此操作。

  • wsl --list --quiet

仅列出发行版名称。此命令对于脚本编写很有用,因为它只会输出你已安装的发行版的名称,而不显示其他信息,如默认发行版、版本等。

  • wsl --list --verbose

显示有关所有发行版的详细信息。此命令列出每个发行版的名称,发行版所处的状态以及正在运行的版本。默认发行版标以星号。

反馈意见

如果你遇到任何问题, 请在 Github 上提交问题: https://github.com/microsoft/wsl/issues ,如果你对 WSL 有一般性问题,你可以在这个推特列表上找到该团队所有成员的 Twitter。

想要使用 Linux 命令,但又不想离开 Windows ?以下是在 Windows 中运行 Linux bash 命令的几种方法。

如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本。

你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 Windows 计算机。你的作业需要运行 Linux 命令,你或许想知道如何在 Windows 上运行 Bash 命令和脚本。

你可以在双启动模式下同时安装 Windows 和 Linux。此方法能让你在启动计算机时选择 Linux 或 Windows。但是,为了运行 Linux 命令而使用单独分区的麻烦可能不适合所有人。

你也可以使用在线 Linux 终端,但你的作业无法保存。

好消息是,有几种方法可以在 Windows 中运行 Linux 命令,就像其他常规应用一样。不是很酷吗?

在 Windows 中使用 Linux 命令

作为一个热心的 Linux 用户和推广者,我希望看到越来越多的人使用“真正的” Linux,但我知道有时候,这不是优先考虑的问题。如果你只是想练习 Linux 来通过考试,可以使用这些方法之一在 Windows 上运行 Bash 命令。

1、在 Windows 10 上使用 Linux Bash Shell

你是否知道可以在 Windows 10 中运行 Linux 发行版? Windows 的 Linux 子系统 (WSL) 能让你在 Windows 中运行 Linux。即将推出的 WSL 版本将在 Windows 内部使用真正 Linux 内核。

此 WSL 也称为 Bash on Windows,它作为一个常规的 Windows 应用运行,并提供了一个命令行模式的 Linux 发行版。不要害怕命令行模式,因为你的目的是运行 Linux 命令。这就是你所需要的。

Ubuntu Linux inside Windows

你可以在 Windows 应用商店中找到一些流行的 Linux 发行版,如 Ubuntu、Kali Linux、openSUSE 等。你只需像任何其他 Windows 应用一样下载和安装它。安装后,你可以运行所需的所有 Linux 命令。

Linux distributions in Windows 10 Store

请参考教程:在 Windows 上安装 Linux bash shell

2、使用 Git Bash 在 Windows 上运行 Bash 命令

你可能知道 Git 是什么。它是由 Linux 创建者 Linus Torvalds 开发的版本控制系统。

Git for Windows 是一组工具,能让你在命令行和图形界面中使用 Git。Git for Windows 中包含的工具之一是 Git Bash。

Git Bash 为 Git 命令行提供了仿真层。除了 Git 命令,Git Bash 还支持许多 Bash 程序,如 sshscpcatfind 等。

Git Bash

换句话说,你可以使用 Git Bash 运行许多常见的 Linux/Bash 命令。

你可以从其网站免费下载和安装 Git for Windows 工具来在 Windows 中安装 Git Bash。

3、使用 Cygwin 在 Windows 中使用 Linux 命令

如果要在 Windows 中运行 Linux 命令,那么 Cygwin 是一个推荐的工具。Cygwin 创建于 1995 年,旨在提供一个原生运行于 Windows 中的 POSIX 兼容环境。Cygwin 是由 Red Hat 员工和许多其他志愿者维护的自由开源软件。

二十年来,Windows 用户使用 Cygwin 来运行和练习 Linux/Bash 命令。十多年前,我甚至用 Cygwin 来学习 Linux 命令。

Cygwin

你可以从下面的官方网站下载 Cygwin。我还建议你参考这个 Cygwin 备忘录来开始使用。

4、在虚拟机中使用 Linux

另一种方法是使用虚拟化软件并在其中安装 Linux。这样,你可以在 Windows 中安装 Linux 发行版(带有图形界面)并像常规 Windows 应用一样运行它。

这种方法要求你的系统有大的内存,至少 4GB ,但如果你有超过 8GB 的内存那么更好。这里的好处是你可以真实地使用桌面 Linux。如果你喜欢这个界面,那么你可能会在以后决定切换到 Linux

Ubuntu Running in Virtual Machine Inside Windows

有两种流行的工具可在 Windows 上创建虚拟机,它们是 Oracle VirtualBox 和 VMware Workstation Player。你可以使用两者中的任何一个。就个人而言,我更喜欢 VirtualBox。

你可以按照本教程学习如何在 VirtualBox 中安装 Linux

总结

运行 Linux 命令的最佳方法是使用 Linux。当选择不安装 Linux 时,这些工具能让你在 Windows 上运行 Linux 命令。都试试看,看哪种适合你。


via: https://itsfoss.com/run-linux-commands-in-windows/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在本 WSL 教程中了解如何执行像挂载 USB 驱动器和操作文件等任务。

 title=

之前的教程中,我们学习了如何在 Windows 10 上设置 WSL。你可以在 Windows 10 中使用 WSL 执行许多 Linux 命令。无论是基于 Linux 的系统还是 macOS,它们的许多系统管理任务都是在终端内部完成的。然而,Windows 10 缺乏这样的功能。你想运行一个 cron 任务么?不行。你想 SSH 进入你的服务器,然后 rsync 文件么?没门。如何用强大的命令行工具管理本地文件,而不是使用缓慢和不可靠的 GUI 工具呢?

在本教程中,你将看到如何使用 WSL 执行除了管理之外的任务 —— 例如挂载 USB 驱动器和操作文件。你需要运行一个完全更新的 Windows 10 并选择一个 Linux 发行版。我在上一篇文章中介绍了这些步骤,所以如果你跟上进度,那就从那里开始。让我们开始吧。

保持你的 Linux 系统更新

事实上,当你通过 WSL 运行 Ubuntu 或 openSUSE 时,其底层并没有运行 Linux 内核。然而,你必须保持你的发行版完整更新,以保护你的系统免受任何新的已知漏洞的影响。由于在 Windows 应用商店中只有两个免费的社区发行版,所以教程将只覆盖以下两个:openSUSE 和 Ubuntu。

更新你的 Ubuntu 系统:

# sudo apt-get update
# sudo apt-get dist-upgrade

运行 openSUSE 的更新:

# zypper up

您还可以使用 dup 命令将 openSUSE 升级到最新版本。但在运行系统升级之前,请使用上一个命令运行更新。

# zypper dup

注意: openSUSE 默认为 root 用户。如果你想执行任何非管理员任务,请切换到非特权用户。您可以这篇文章中了解如何在 openSUSE上 创建用户。

管理本地文件

如果你想使用优秀的 Linux 命令行工具来管理本地文件,你可以使用 WSL 轻松完成此操作。不幸的是,WSL 还不支持像 lsblkmount 这样的东西来挂载本地驱动器。但是,你可以 cd 到 C 盘并管理文件:

/mnt/c/Users/swapnil/Music

我现在在 C 盘的 Music 目录下。

要安装其他驱动器、分区和外部 USB 驱动器,你需要创建一个挂载点,然后挂载该驱动器。

打开文件资源管理器并检查该驱动器的挂载点。假设它在 Windows 中被挂载为 S:\。

在 Ubuntu/openSUSE 终端中,为驱动器创建一个挂载点。

sudo mkdir /mnt/s

现在挂载驱动器:

mount -f drvfs S: /mnt/s

挂载完毕后,你现在可以从发行版访问该驱动器。请记住,使用 WSL 方式运行的发行版将会看到 Windows 能看到的内容。因此,你无法挂载在 Windows 上无法原生挂载的 ext4 驱动器。

现在你可以在这里使用所有这些神奇的 Linux 命令。想要将文件从一个文件夹复制或移动到另一个文件夹?只需运行 cpmv 命令。

cp /source-folder/source-file.txt /destination-folder/
cp /music/classical/Beethoven/symphony-2.mp3 /plex-media/music/classical/

如果你想移动文件夹或大文件,我会推荐 rsync 而不是 cp 命令:

rsync -avzP /music/classical/Beethoven/symphonies/ /plex-media/music/classical/

耶!

想要在 Windows 驱动器中创建新目录,只需使用 mkdir 命令。

想要在某个时间设置一个 cron 作业来自动执行任务吗?继续使用 crontab -e 创建一个 cron 作业。十分简单。

你还可以在 Linux 中挂载网络/远程文件夹,以便你可以使用更好的工具管理它们。我的所有驱动器都插在树莓派或者服务器上,因此我只需 ssh 进入该机器并管理硬盘。在本地计算机和远程系统之间传输文件可以再次使用 rsync 命令完成。

WSL 现在已经不再是测试版了,它将继续获得更多新功能。我很兴奋的两个特性是 lsblk 命令和 dd 命令,它们允许我在 Windows 中本机管理我的驱动器并创建可引导的 Linux 驱动器。如果你是 Linux 命令行的新手,前一篇教程将帮助你开始使用一些最基本的命令。


via: https://www.linux.com/blog/learn/2018/2/how-use-wsl-linux-pro

作者:SWAPNIL BHARTIYA 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出