前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用适用于Linux 2和Windows Terminal的Windows子系统

如何使用适用于Linux 2和Windows Terminal的Windows子系统

作者头像
gemron的空间
发布2019-11-04 12:20:48
3.7K0
发布2019-11-04 12:20:48
举报
文章被收录于专栏:gemrongemron

在本文中,您将学习如何使用Windows Subsystem for Linux 2在Windows中设置和运行本地Linux shell界面,而无需使用虚拟机。这与使用添加到$ PATH的UNIX工具子集的Git Bash或cmder等终端不同。这实际上就像在Windows上运行可以执行本机Linux应用程序的完整Linux内核。那真是太棒了,不是吗?

如果您是一位经验丰富的开发人员,您已经知道Linux是使用开源技术构建和运行基于服务器的解决方案的最佳平台。虽然可以在Windows上运行相同的,但体验并不是那么好。大多数云托管公司为客户提供Linux,以便在稳定的环境中运行其服务器解决方案。为了确保软件在服务器机器上完美运行,就像在本地开发机器上一样,您需要运行相同的平台。否则,您可能会遇到配置问题。

使用开源技术构建项目时,您可能会遇到在Linux上运行良好但在Windows上不完全支持的依赖项。因此,您将需要执行以下任务之一才能为项目做出贡献:

  • 双启动Windows和Linux(切换到Linux以贡献代码)
  • 使用Vagrant,VirtualBox,VMWare等平台运行Linux虚拟机。
  • Docker容器中运行项目应用程序

以上所有解决方案从启动开始需要几分钟才能运行完整的Linux界面。使用新的Linux子系统Linux版本2(WSL2),访问完整的Linux shell需要一秒或更短的时间。这意味着您现在可以快速地在Windows内部基于Linux的项目上工作。让我们看一下如何在本地机器中设置一个。

在Windows中安装Ubuntu

首先,您需要运行最新版本的Windows。在我的情况下,它是构建1903.一旦你确认了这一点,你将需要激活该Windows Subsystem for Linux功能。只需打开或关闭控制面板 - > 程序 - > 打开Windows功能。查找“适用于Linux的Windows子系统”并选中该复选框。给Windows一两分钟来激活该功能。完成后,单击下一步显示的重启机器按钮。

启用Windows子系统Linux功能
启用Windows子系统Linux功能

接下来,转到Windows应用商店并安装Ubuntu。第一个Ubuntu选项将安装最新版本。其他Ubuntu选项允许您安装较旧的受支持版本。

Microsoft Store Linux
Microsoft Store Linux

安装完成后,您需要从菜单中启动它。由于这是第一次,您需要等待Ubuntu映像下载并安装在您的计算机上。这是一次性步骤。下次启动时,您将立即访问Linux Shell。

图像安装完成后,系统将提示您在此shell中创建新的root用户帐户:

在命令行中安装Ubuntu
在命令行中安装Ubuntu

创建凭据后,可以随意键入任何Linux命令以确认您是否真正访问了本机Linux shell:

Ubuntu使用命令
Ubuntu使用命令

你会很高兴地注意到gitpython3sshvimnanocurlwget和许多其他流行的工具都可以开箱即用。在后面的部分中,我们将使用sudo apt-get命令安装更多框架。首先,让我们看看我们可以通过几种方式访问​​这个新的Linux shell终端界面。升级当前安装的软件包可能是个好主意:

代码语言:javascript
复制
$ sudo apt-get update && sudo ap-get upgrade

访问Linux Shell界面

有几种有趣的方式可以访问Linux shell界面。

  1. 转到Windows菜单开始 >键入“Ubuntu”。您可以将其固定为“开始”以便更快地访问
  2. 打开命令提示符或Windows PowerShell并执行命令 bash
  3. 在Windows资源管理器中,SHIFT+右键单击文件夹以打开特殊的上下文菜单。单击此处打开Linux shell
  4. 在Windows资源管理器中,导航到所需的任何文件夹,然后在地址栏中键入wsl,然后按enter。
  5. 在Visual Studio代码中,将默认终端更改为wsl
VS Code WSL终端
VS Code WSL终端

如果您遇到新方法,请告诉我。让我们在下一节中设置Node.js.

安装Node.js.

安装和配置Node.js的最佳方法是通过nvm。在Linux shell中,执行以下命令:

代码语言:javascript
复制
$ sudo apt-get install build-essential
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
$ nvm install --lts

以上命令应安装最新的Node.js LTS版本。如果遇到问题执行nvm命令,请在.bashrc文件中添加以下行:

代码语言:javascript
复制
source ~/.nvm/nvm.sh

source ~/.bashrc在尝试执行nvm命令之前,您需要重新启动Linux shell或执行命令。Node.js安装完成后,尝试全局安装npm软件包以确认它是否正常工作。

您还可以导航到Windows驱动器上的现有Node.js项目,并尝试运行它以确认它正在运行。Windows子系统Linux的一个非常酷的功能是您localhost在运行Web应用程序时仍然使用。Node.js在Windows上运行完全正常。因此,对于Linux用户来说,Windows子系统并没有那么大的好处。它真正闪耀的地方是开源的后端框架,如Django,Ruby on Rails和Lamp Stack。在Windows中设置它们有时可能是一个挑战。对于某些项目,由于某些开源库缺乏Windows支持,因此无法实现。使用WSL2,这不再是一个问题。在下一节中,我们将在Windows上安装LAMP堆栈,我发现它比WAMP堆栈更容易安装和配置。

在Windows上安装LAMP

在Linux shell中,键入以下要安装的命令Apache2MySQLPHP。这是一个相当大的下载,所以给它一点时间来完成:

代码语言:javascript
复制
$ sudo apt-get install lamp-server^

接下来,让我们开始并配置我们的MySQL数据库:

代码语言:javascript
复制
# Start the MySQL service
$ sudo service mysql start
# Define password for root@localhost
$ sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
exit

您也可以使用CTRL+ D退出MySQL shell。接下来,让我们配置并启动Apache Web服务器。使用vimnano或者你喜欢的文本编辑器,下面的两行添加到/etc/apache2/apache2.conf

代码语言:javascript
复制
Servername localhost
AcceptFilter http none

使用该命令启动Apache Web服务器sudo service apache2 start。导航以http://localhost确认Apache已成功启动:

Apache运行
Apache运行

接下来,让我们安装PhpMyAdmin

代码语言:javascript
复制
$ sudo apt-get install phpmyadmin

将以下行添加到/etc/apache2/apache2.conf

代码语言:javascript
复制
Include /etc/phpmyadmin/apache.conf

重新加载Apache Web服务器以使新配置生效:

代码语言:javascript
复制
$ sudo service apache2 reload

要确认phpmyadmin已成功配置,请导航到URL http://localhost/phpmyadmin。输入您之前设置的MySQL用户凭据。(请注意用户名是root)。您应该有类似的观点:

phpMyAdmin的
phpMyAdmin的

这就是在Windows上设置LAMP的简单方法。这应该足以证明您可以在Windows上轻松设置Linux开发环境。在下一节中,我们将简要介绍一下Microsoft正在开发的新Windows终端。

Windows终端

Windows Terminal是Microsoft的一个开源项目,旨在提供社区要求的功能,例如:

  • 丰富的文字
  • 全球化
  • 标签支持
  • 主题和造型
  • 和许多其他人......

如果不破坏与旧控制台应用程序的兼容性,则无法在现有控制台界面上实现这些功能。因此,创建了Windows Terminal项目,允许开发人员彻底更改体系结构,而不必担心向后兼容性。该项目目前仍处于开发阶段,因此预计未来会发布更多功能。我们来看看如何安装和自定义新的Windows终端。

安装和升级

在安装Windows Terminal之前,请确保在计算机上安装了最新的Windows 10版本。否则,安装将因旧版本而失败。目前有两种方法可以安装Windows终端。第一种方法是通过Microsoft Store:

Windows终端存储
Windows终端存储

第二种方法是使用Chocolatey工具,就像npmWindows应用程序一样。一旦在计算机上安装了Chocolatey,就可以通过PowerShell在您的计算机上安装Windows终端,如下所示:

代码语言:javascript
复制
choco install microsoft-windows-terminal

您应该期望类似的输出。就我而言,我正在升级:

升级Windows Terminal Choco.png
升级Windows Terminal Choco.png

安装完成后,您可以从“开始”菜单启动它。您将找到的默认终端是PowerShell。只要单击+号,就会使用默认终端创建一个新选项卡。使用下拉菜单,您可以选择其他类型的终端。

Windows终端
Windows终端

如果单击“ 设置”,将打开JSON的默认编辑器。对你而言,可能是NotePad,NotePad ++,VS Code或任何其他编辑器。我更喜欢VS Code或类似的东西,因为它在键入时自动关闭JSON标签。如果仔细观察,您会注意到以下部分:

  • Globals - 全局设置:例如默认配置文件,选项卡设置,终端大小等。
  • 绑定 - 快捷键
  • 配置文件 - 终端启动:例如PowerShell,命令提示符
  • 方案 - 配色方案

如您所见,以JSON格式理解和自定义设置非常容易。我想展示的一个简单提示是像我这样安装了旧版Windows终端的用户。你们中的一些人可能已经注意到上面的截图中缺少一些配置文件。尽管更新了应用程序,但我的个人资料设置保持不变。要快速添加缺少的设置而不手动这样做,我所要做的就是:

  1. 完全关闭Windows Terminal App
  2. 删除profile.json(位于%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
  3. 重新启动终端应用程序
更新的设置
更新的设置

此外,还添加了新的快捷键,其中包括以下内容:

代码语言:javascript
复制
{
    "command" : "closePane",
    "keys" :
    [
        "ctrl+shift+w"
    ]
},
{
    "command" : "copy",
    "keys" :
    [
        "ctrl+shift+c"
    ]
},
{
    "command" : "duplicateTab",
    "keys" :
    [
        "ctrl+shift+d"
    ]
},
{
    "command" : "paste",
    "keys" :
    [
        "ctrl+shift+v"
    ]
},

现在让我们在下一节中了解如何设置终端的样式。

设置控制台的样式

在每个配置文件下的设置中处理终端样式。您可以通过更改以下任何属性来自定义每个配置文件:

代码语言:javascript
复制
"acrylicOpacity" : 0.2,
"useAcrylic" : true
"colorScheme" : "One Half Dark",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"padding" : "0, 0, 0, 0",
"background":"#002B36",
"backgroundImage": "<insert image path here>"
"backgroundImageOpacity": 1,
"backgroundImageStretchMode": "none"

我认为上述设置非常自我解释,除了acrylic。这是一种背景效果,使终端的背景略微透明和模糊。acrylicOpacity控制透明度。要拥有完全不透明的背景,请设置useAcrylicfalse。您可以使用GIF backgroundImage。动画将自动播放。很酷,对吗?

colorScheme来自schemes部分。默认出现的是:

  • Campbell
  • One Half Dark
  • One Half Light
  • Solarized Dark
  • Solarized Light

摘要

这是对Windows新开发工具和平台的快速介绍。他们仍然是从烤箱里新鲜出炉的,所以会一些错误 - 这将在不久的将来得到整理。如果您计划从基于VM的开发切换到Windows子系统Linux 2上的开发,请告诉我。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在Windows中安装Ubuntu
  • 访问Linux Shell界面
  • 安装Node.js.
  • 在Windows上安装LAMP
  • Windows终端
    • 安装和升级
      • 设置控制台的样式
      • 摘要
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档