标签 WSL 下的文章

对于那些想从舒适的 Windows 中享受 Linux 命令行的人来说,WSL(Windows Subsystem for Linux) 是一个方便的工具。

当你 在 Windows 上使用 WSL 安装 Linux 时,会要求你创建一个用户名和密码。当你在 WSL 上启动 Linux 时,这个用户会自动登录。

现在的问题是,如果你有一段时间没有使用它,你可能会忘记 WSL 的账户密码。而如果你要使用 sudo 的命令,这将成为一个问题,因为这里你需要输入密码。

不要担心。你可以很容易地重置它。

在 Ubuntu 或任何其他 Linux 发行版上重置遗忘的 WSL 密码

要在 WSL 中重设 Linux 密码,你需要:

  • 将默认用户切换为 root
  • 重置普通用户的密码
  • 将默认用户切换回普通用户

让我向你展示详细的步骤和截图。

步骤 1:将默认用户切换为 root

记下你的普通/常规用户名将是明智之举。如你所见,我的普通帐户的用户名是 abhishek

Note down the account username

WSL 中的 root 用户是无锁的,没有设置密码。这意味着你可以切换到 root 用户,然后利用 root 的能力来重置密码。

由于你不记得帐户密码,切换到 root 用户是通过改变你的 Linux WSL 应用的配置,使其默认使用 root 用户来完成。

这是通过 Windows 命令提示符完成的,你需要知道你的 Linux 发行版需要运行哪个命令。

这个信息通常在 Windows 商店 中的发行版应用的描述中提供。这是你首次下载发行版的地方。

Know the command to run for your distribution app

从 Windows 菜单中,启动命令提示符:

Start Command Prompt

在这里,以这种方式使用你的发行版的命令。如果你使用的是 Windows 商店中的 Ubuntu 应用,那么该命令将是:

ubuntu config --default-user root

截图中,我正在使用 Windows 商店中的 Ubuntu 20.04 应用。所以,我使用了 ubuntu2004 命令。

Set root as default user in Linux app’s configuration

为了减少你的麻烦,我在这个表格中列出了一些发行版和它们各自的命令:

发行版应用Windows 命令
Ubuntuubuntu config –default-user root
Ubuntu 20.04ubuntu2004 config –default-user root
Ubuntu 18.04ubuntu1804 config –default-user root
Debiandebian config –default-user root
Kali Linuxkali config –default-user root

步骤 2:重设帐户密码

现在,如果你启动 Linux 发行程序,你应该以 root 身份登录。你可以重新设置普通用户帐户的密码。

你还记得 WSL 中的用户名吗?(LCTT 译注:请使用你的“用户名”替换下列命令中的 username)如果没有,你可以随时检查 /home 目录的内容。当你有了用户名后,使用这个命令:

passwd username

它将要求你输入一个新的密码。**当你输入时,屏幕上将不会显示任何内容。这很正常。只要输入新的密码,然后点击回车就可以了。**你必须重新输入新的密码来确认,当你输入密码时,屏幕上也不会显示任何东西。

Reset the password for the regular user

恭喜你。用户账户的密码已经被重置。但你还没有完成。默认用户仍然是 root。你应该把它改回你的普通用户帐户,否则它将一直以 root 用户的身份登录。

步骤 3:再次将普通用户设置为默认用户

你需要你在上一步中用 passwd 命令 使用的普通帐户用户名。

再次启动 Windows 命令提示符。使用你的发行版命令,方式与第 1 步中类似。然而,这一次,用普通用户代替 root

ubuntu config --default-user username

Set regular user as default user

现在,当你在 WSL 中启动你的 Linux 发行版时,你将以普通用户的身份登录。你已经重新设置了密码,可以用它来运行 sudo 命令。

如果你将来再次忘记了密码,你知道重置密码的步骤。

如果重设 WSL 密码如此简单,这难道不是一种安全风险吗?

并非如此。你需要有对计算机的物理访问权以及对 Windows 帐户的访问权。如果有人已经有这么多的访问权,他/她可以做很多事情,而不仅仅是改变 WSL 中的 Linux 密码。

你是否能够重新设置 WSL 密码?

我给了你命令并解释了步骤。我希望这对你有帮助,并能够在 WSL 中重置你的 Linux 发行版的密码。

如果你仍然遇到问题,或者你对这个话题有疑问,请随时在评论区提问。


via: https://itsfoss.com/reset-linux-password-wsl/

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

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

微软宣布对其 WSL 进行重大改进,使你能够轻松地运行 Linux 图形化应用程序。

当微软在 2016 年发布 “Windows subsystem for Linux”(也就是 WSL)的时候显然有夸大宣传的嫌疑,当时人们梦想着无需重启就可以同时运行基于 Windows 和 Linux 的应用程序,令人可惜的是,WSL 只能运行 Linux 终端程序。

去年,微软再次尝试去颠覆 Windows 的应用生态,这一次,他们替换了老旧的模拟核心,转而使用了真正的 Linux 核心,这一变化使你可以 在 Windows 中运行 Linux 应用程序

WSL 图形化应用的初步预览

从技术上讲,用户最初确实在 WSL 上获得了对 Linux 图形化应用程序的支持,但仅限于使用第三方 X 服务器时。这通常是不稳定的、缓慢、难以设置,并且使人们有隐私方面的顾虑。

结果是小部分 Linux 爱好者(碰巧运行 Windows),他们具有设置 X 服务器的能力。但是,这些爱好者对没有硬件加速支持感到失望。

所以,较为明智的方法是在 WSL 上只运行基于命令行的程序。

但是现在这个问题得到了改善。现在,微软 正式支持 了 Linux 图形化应用程序,我们很快就能够享受硬件加速了,

面向大众的 Linux 图形化应用程序:WSLg

图片来源:Microsoft Devblogs

随着微软发布新的 WSL,有了一系列巨大的改进,它们包括:

  • GPU 硬件加速
  • 开箱即用的音频和麦克风支持
  • 自动启用 X 服务器和 Pulse 音频服务

有趣的是,开发者们给这个功能起了一个有趣的外号 “WSLg”。

这些功能将使在 WSL 上运行 Linux 应用程序几乎与运行原生应用程序一样容易,同时无需占用过多性能资源。

因此,你可以尝试运行 自己喜欢的 IDE、特定于 Linux 的测试用例以及诸如 CAD 之类的各种软件。

Linux 应用的 GPU 硬件加速

图片鸣谢:Microsoft Devblogs

以前在 Windows 上运行图形化 Linux 程序的最大问题之一是它们无法使用硬件加速。当用户尝试移动窗口和执行任何需要对 GPU 性能有要求的任务时候,它常常陷入缓慢卡顿的局面。

根据微软发布的公告:

“作为此次更新的一部分,我们也启用了对 3D 图形的 GPU 加速支持,多亏了 Mesa 21.0 中完成的工作,所有的复杂 3D 渲染的应用程序都可以利用 OpenGL 在 Windows 10 上使用 GPU 为这些应用程序提供硬件加速。”

这是一个相当实用的改进,这对用户在 WSL 下运行需求强大 GPU 性能的应用程序提供了莫大帮助。

开箱即用的音频和麦克风支持!

如果想要良好的并行 Windows 和 Linux 程序,好的音频支持是必不可少的,随着新的 WSL 发布,音频得到开箱即用的支持,这都要归功于随着 X 服务器一同启动的 Pulse 音频服务。

微软解释说:

“WSL 上的 Linux 图形化应用程序还将包括开箱即用的音频和麦克风支持。这一令人兴奋的改进将使你的应用程序可以播放音频提示并调用麦克风,适合构建、测试或使用电影播放器、电信应用程序等。”

如果我们希望 Linux 变得更加普及,这是一项关键功能。这也将允许 Windows 应用的开发人员更好地将其应用移植到 Linux。

自动启动所有必需的服务器

图片鸣谢:Microsoft Devblogs

以前,你必须先手动启动 PulseAudioX 服务器,然后才能运行应用程序。现在,微软已经实现了一项服务,可以检查 Linux 应用程序是否正在运行,然后自动启动所需的服务器。

这使得用户更容易在 Windows 上运行 Linux 应用程序。

微软声称这些改动会显著提升用户体验。

“借助此功能,我们将启动一个配套的系统分发包,其中包含 Wayland、X 服务器、Pulse 音频服务以及使 Linux 图形化应用程序与 Windows 通信所需的所有功能。使用完图形化应用程序并终止 WSL 发行版后,系统分发包也会自动结束其会话。”

这些组件的结合使 Linux 图形化应用程序与常规 Windows 程序并行运行更为简单。

总结

有了这些新功能,微软似乎正在竭尽全力使 Linux 应用程序在 Windows 上运行。随着越来越多的用户在 Windows 上运行 Linux 应用程序,我们可能会看到更多的用户转向 Linux。特别是因为他们习惯的应用程序能够运行。

如果这种做法取得了成功(并且微软几年后仍未将其雪藏),它将结束 5 年来对将 Linux 应用引入 Windows 的探索。如果你想了解更多信息,可以查看 发行公告

你对在 Windows 上运行 Linux 图形化应用程序怎么看?请在下面留下你的评论。


via: https://news.itsfoss.com/linux-gui-apps-wsl/

作者:Jacob Crume 选题:lujun9972 译者:Kevin3599 校对:wxy

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

人们真正从 Stack Overflow 复制和粘贴的频率是多少?

Stack Overflow 的灵感来自于其创始人对那些把编码问题的答案放在付费墙后面的网站的失望。因此,也一直有一种调侃说程序员从 Stack Overflow 网站上复制代码。现在,Stack Overflow 花了两周时间对在他们网站上按下 Ctrl-C 的行为进行统计。其中有些结果让人意外:

每四个访问 Stack Overflow 问题的用户中,就有一个在访问该页面的五分钟内复制了一些东西。两周内,在 7 百万个帖子和评论中,总共做了 4 千万次复制。人们从答案中复制的频率是问题的 10 倍,是评论的 35 倍。人们从代码块中复制的频率是周围文本的 10 倍以上。令人惊讶的是,在没有被接受的答案的问题上复制的次数比在被接受的问题上复制的次数多。

所以,如果你曾经因为从 Stack Overflow 上复制代码而不是从头开始写代码而感到难过,请原谅你自己吧。

WSL2 已提供对 GUI 应用程序的初步支持

微软给这一功能起了一个名字叫 WSLg。这意味着我们不仅可以借助 WSL 来执行命令行程序,也能够在 Windows 10 上更好地运行跨平台的 Linux GUI 应用。对于开发者来说,这也方便了他们在 Linux 环境中对相关程序进行测试。WSL 上的 Linux GUI 应用程序,还提供了对音频 / 麦克风的开箱即用支持,以及对 GPU 加速的 3D 图形支持。

以后,不知道是 Linux 吃了 Windows,还是 Windows 吃了 Linux。

勒索软件组织向苹果勒索五千万美元

为苹果公司代工 MacBooks 等产品的广达电脑公司遭到了勒索软件 REvil 的攻击,攻击者窃取了该公司现有和未来产品的工程制造图纸,索要五千万美元赎金。广达拒绝了这一要求,REvil 组织现在将勒索目标对准了苹果公司,要求苹果在五月一日前支付五千万美元。它已公开的产品图纸是苹果刚刚宣布的新款 iMac。

你自己防得了勒索还不行,还得保证你的下游工厂也一样安全才行。

如果你像我一样,你可能会发现自己因为各种原因而运行 Windows,无论是因为工作还是游戏。当然,你可以在虚拟机或容器中运行 Fedora,但这些并不像 Windows 的 Linux 子系统(WSL)那样容易融合到普通的 Windows 体验中。通过 WSL 使用 Fedora 可以让你将这两种环境融合在一起,创造一个奇妙的开发环境。

先决条件

为了达成这一目标,你需要一些基本条件。你应该运行 Windows 10,并且已经安装了 WSL2。如果没有,请查看微软文档说明,完成后再回来这里。微软建议为了简单起见,将 WSL2 设置为发行版的默认设置。本指南假设你已经这样做了。

接下来,你将需要一些解压 xz 压缩文件的方法。你可以用另一个基于 WSL 的发行版来解压,或者使用 7zip

下载 Fedora 33 rootfs

由于 Fedora 并没有提供实际的 rootfs 存档,所以我们将借用一个用于生成 Dockerhub 容器镜像的存档。你需要从 fedora-cloud 的 GitHub 仓库下载该 tar.xz 文件 。一旦你有了这个 tar.xz 文件,解压它,但不要展开 tar 包。你会得到一个类似 fedora-33-时间标签.tar 的文件。有了这个文件,你就可以构建镜像了。

组合 WSL Fedora 的构建版本

我喜欢使用 c:\distros 目录,但你可以选择几乎任何你想要的位置。无论你选择什么目录,在你导入该构建版本之前,确保其顶层路径存在。现在打开一个 CMD 或 Powershell 提示符,因为是时候导入了:

wsl.exe --import Fedora-33 c:\distros\Fedora-33 $HOME\Downloads\fedora-33.tar

你会看到 Fedora-33 显示在 WSL 的列表当中:

PS C:\Users\jperrin> wsl.exe -l -v
  NAME                   STATE           VERSION
  Fedora-33                 Stopped         2

下面,你就可以开始在 WSL 中摆弄 Fedora 了,但我们还需要做一些事情来使它真正成为一个有用的 WSL 发行版。

wsl -d Fedora-33

这将以 root 用户的身份启动 Fedora 的 WSL 实例。下面,你将安装一些核心包并设置一个新的默认用户。你还需要配置 sudo,否则你将无法在以后需要安装其他东西时轻松提升权限。

dnf update
dnf install wget curl sudo ncurses dnf-plugins-core dnf-utils passwd findutils

wslutilites 使用 curlwget 来实现与 VS Code 的集成,所以它们很有用。由于你需要使用 COPR 仓库,你需要增加 dnf 功能。

添加你的用户

现在是时候添加你的用户,并将其设置为默认用户。

useradd -G wheel 用户名
passwd 用户名

现在,你已经创建了你的用户名,并添加了密码,确保它们可以工作。退出 WSL 实例,并再次启动它,这次指定用户名。你还要测试 sudo,并检查你的 uid。

wsl -d Fedora-33 -u 用户名
$id -u
1000
$ sudo cat /etc/shadow

假设一切正常,你现在已经准备好在 Windows 中为你的 Fedora 环境设置默认用户。要做到这一点,请退出 WSL 实例并回到 Powershell 中。这个 Powershell 单行代码可以正确配置你的用户:

Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\\*\ DistributionName | Where-Object -Property DistributionName -eq Fedora-33  | Set-ItemProperty -Name DefaultUid -Value 1000

现在你应该可以再次启动 WSL,而不需要指定就可以成为自己的用户而不是 root。

自定义!

至此,你已经有了可以在 WSL 中运行的基本 Fedora 33 环境,但它还没有 Windows 集成的部分。如果你想要这个,有一个 COPR 仓库可以启用。如果你选择添加这部分,你就可以直接在 shell 里面运行 Windows 应用,也可以轻松地将你的 Linux 环境与 VS Code 集成。需要注意的是,COPR 并没有得到 Fedora 基础架构的官方支持。使用该软件包,风险自担。

dnf copr enable trustywolf/wslu

现在你可以去配置终端、设置一个 Python 开发环境,或者其它你想使用 Fedora 33 的方式。享受吧!


via: https://fedoramagazine.org/wsl-fedora-33/

作者:Jim Perrin 选题:lujun9972 译者:wxy 校对:wxy

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

Windows 上的 Linux 正在继续发展,功能越来越强大。现在,图形化的 Linux 程序正在被整合到 WSL 中。

在微软 Build 2020 虚拟开发者大会上,微软 CEO 萨提亚·纳德拉宣布 Windows 的 Linux 子系统(WSL)2.0 即将支持 Linux GUI 和应用程序。现在这一天比以往任何时候都要近。在最近的 X.Org 开发者大会(XDC)上,微软合作伙伴开发者负责人 Steve Pronovost 透露,微软已经可以在 WSL 中运行图形化的 Linux 应用。

一直以来,虽然都可以在 WSL 上运行 GIMP 图形编辑器Evolution 电子邮件客户端LibreOffice 等 Linux 图形程序,但这并不容易。你必须安装一个第三方 X Window 显示服务器,比如 Windows 10 中的 VcXsrv Windows X Server,然后对 Windows 和 Linux 做一些调整,让它们顺利地一起工作X Window 系统几乎是所有 Linux 图形用户界面的基础。

现在,微软已经将 Wayland 显示服务器移植到 WSL 中。Wayland 是最流行的 X Window 兼容的显示服务器。在 WSL2 中,它通过远程桌面协议(RDP)连接将图形化的 Linux 应用程序连接到主 Windows 显示器上。这意味着你可以在同一个桌面屏幕上同时运行 Linux 和 Windows GUI 应用程序。

Pronovost 解释道:

WSL 本质上是在 Windows 托管的虚拟机里面运行 Linux,我们将应用程序(控制台程序,现在还有 GUI 程序)整合回你的 Windows 桌面,这样你就可以在统一的体验里面同时运行 Win32 和 Linux 应用程序。由于 Linux 是在虚拟机中运行,我们不能运行期望直接访问 GPU 的原生 GPU 驱动程序(除非我们做一些类似于离散设备分配的事情,并将其中一个宿主机 GPU 分配给虚拟机......但那样宿主机将失去对该 GPU 的访问!)。有了GPU-PV(GPU 准虚拟化),我们基本上可以在 Linux 中投射宿主机 GPU,让 Linux 和 Windows 进程共享同一个物理 GPU,而不需要固定的资源分区。

微软 WSL 项目经理 Craig Loewen 在 Twitter 上补充道,使用第三方 X 服务器和内置 Wayland 服务器的关键区别在于。“你不需要启动显示服务器,我们会为你处理。”此外,它还带有“与 Windows 的完美集成”,例如投影和 Linux 图标支持。

Loewen 还表示,你可以在其中运行 Linux Web 浏览器。“我们还没有用完整的桌面环境(DE)对它进行充分测试,因为我们想先专注于运行经常被问及的应用,主要是 IDE(集成开发环境),这样你就可以在一个完整的 Linux 环境中运行这些应用,”他说。

不过,先别太兴奋。Loewen 继续说道:“我们还没有制定测试通道的时间表,不过,这项工作通常会在接下来几个月内提供给 Insiders 试用。”

微软将 Linux 整合到 Windows 中已经有一段时间了。四年前,微软推出了 WSL,将 Linux Bash shell 带到了 Windows 10 中。通过 Bash 和 WSL,你可以运行大多数 Linux shell 工具和流行的 Linux 编程语言。

随着时间的推移,Linux 更成为 Windows 桌面上的一等公民。多个 Linux 发行版,从 Ubuntu 开始,随后是红帽 Fedora 和 SUSE Linux 企业桌面版(SLED) 都进入了 Windows 商店。随后,微软用 WSL 2 取代了将 Linux 内核调用转换为 Windows 调用的 WSL 翻译层。这一更新是在精简版 Hyper-V 管理程序上运行的微软自己的 Linux 内核附带的。

最近,从 Windows 10 Insider Preview build 20211 开始,Windows 用户可以访问 Linux 文件系统。这包括访问 Windows 本身不支持的 Linux 文件系统,例如 ext4。这也意味着,如果你用不同的磁盘双启动 Windows 和 Linux,现在可以从 Windows 访问 Linux 文件。有了这个功能,你可以通过管理权限从 Windows 文件资源管理器和 PowerShell 窗口访问 Linux 文件。

按照现在的发展速度,我对 Windows 11 可能会运行在 Linux 之上的“疯狂”预测,也许会成为现实!

世界最古老计算机之一的操作手册被发现

世界上保存最久的计算机 Zuse Z4 由德国工程师 Konrad Zuse 设计并于 1945 年制造而成。这台房间大小的电脑在各个研究机构工作了一段时间后,最终在慕尼黑的德国博物馆展出。不幸的是,机器的操作指令早就丢失了。在苏黎世联邦理工学院的时候,这台计算机被用来为一架瑞士战斗机原型 P-16 进行计算,Z4 手册因此从收藏中得以发现。

来源:cnbeta

拍一拍:不知道是不是还可以运行起来。

WSL 2 迎来重大改进:支持 GUI 应用

微软透露,这项功能的工作已经接近完成。WSL 将支持许多不同类型的应用程序,包括完全在 Linux 环境下运行的 IDE。

来源:cnbeta

拍一拍:我就说吧,Windows 要变成一个皮肤了。;D

谷歌 Flutter 开发框架现已支持开发 Windows 应用

为了给 iOS 和 Android 移动平台轻松开发应用程序,谷歌推出了名为 Flutter 的应用开发框架。几年来,Flutter SDK 已提供了对 Web、嵌入式、macOS、以及 Linux 应用创建的支持。此前谷歌还调侃过,Flutter 只剩下 Windows 这个主要平台没有提供支持了。

来源:cnbeta

拍一拍:它正在成为“一次编译,随处运行”的大规模跨平台项目的一个缩影。