美文网首页集成运维CentOS电脑技术
在windows系统上使用linux系统的最佳姿势

在windows系统上使用linux系统的最佳姿势

作者: 智驱力AI | 来源:发表于2023-01-30 18:46 被阅读0次
    前言

    经常使用电脑的同学一定不陌生Linux操作系统,Linux作为一种开源操作系统其好处自不必说:免费、稳定、兼容性等等,对于从事IT研发工作的同学,Linux操作系统就更加的不可或缺了。
    但现实情况却是绝大部分个人PC都是Windows,部分是Mac,几乎没有Linux,尽管Linux也推出了不错的桌面发行版,比如Ubuntu(可见拥有自己的硬件产品是多么的重要...)。对于想体验Linux的同学,再买一台电脑重装成Linux操作系统似乎代价过于高昂,于是双系统与虚拟机成了唯二的选择,双系统本文不做介绍(仅来回切换系统这一点就让笔者直接放弃),本文主要介绍如何在Windows操作系统中使用Linux虚拟机。

    VMware与VirtualBox

    说到虚拟机,就不得不提VMwareVirtualBox是两种虚拟化软件。VMware是一个商业性质的虚拟化解决方案,提供了丰富的功能并且具有较高的性能,但是是收费的。VirtualBox则是一款开源的虚拟化软件,但功能相对于VMware有限。

    vmware vs virtualbox.jpg
    对于笔者来说,是否收费倒不是第一考虑因素(收费软件在国内的待遇懂的都懂~),安装配置是否方便,使用起来是否丝滑才是最重要的。遗憾的是这两个产品都过于笨重、繁琐,尽管经过多年的版本迭代已经有了很大的改善,但仍不尽如人意。苦于并没有更好的选择,笔者曾用过很长一段时间的VMware,直到WSL的问世。
    关于WSL

    问题1WSL是什么?

    • WSL:适用于LinuxWindows子系统(windows subsystem for linux),可让开发人员直接在Windows上按原样运行GNU/Linux环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。

    问题2:为什么使用WSL

    • 方便:在Windows下使用Linux,无需另外设置虚拟机或双系统,简化了操作。
    • 效率:WSLWindows内核上运行,不会像虚拟机一样影响系统性能。
    • 兼容性:WSL可以运行大多数的Linux程序,可以使用Windows平台上的文件。
    • 灵活性:可以在Windows环境中安装多个Linux发行版,可以选择合适的版本。
    • 开发环境:对于软件开发者,WSL可以提供一个统一的开发环境,方便在Windows下进行开发和测试。
    WSL的安装

    说明:本文中提到的WSL均代指WSL2,对于WSL1本文不作讨论。
    安装流程如下:

    1. 检查系统运行WSL的要求,WSL需运行在Windows 10或者Windows 11操作系统上,对于Windows 10用户需检查系统版本是否适配(Windows 11用户无视即可):
      a. 检查系统版本号,打开cmdWindows徽标键+ R,键入cmd并点击“确定”)并执行:winver,即可弹出Windows版本信息窗口。
      b. 需要版本1903或更高版本,内部版本为18362或更高版本。若不然,可以在Windows“设置”菜单中或者使用Windows更新助手进行更新。
      windows版本号.jpg
    2. 启用WSL以及虚拟机功能:
      a. 以管理员身份打开PowerShell
      b. 运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      c. 运行:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
      d. 重启计算机。
    3. 下载并安装Linux内核更新包:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
    4. WSL2设置为默认版本,打开cmd并执行:wsl --set-default-version 2
    5. 打开Microsoft Store,选择你偏好的Linux分发版(笔者使用的是Ubuntu20.04),点击“获取”然后点击“安装”即可。
      linux分发版.jpg
    6. 打开cmd并执行:wsl,即可启动Linux系统,首次启动新安装的Linux分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上,未来的所有启动时间应不到一秒。然后按照提示输入用户名、密码即可。
      首次启动wsl.jpg
    WSL常用命令

    说明:以下命令均在cmd中输入。

    1. 启动WSLwsl
    2. 关闭WSLwsl --shutdown
    3. 查看已安装的Linux分发版:wsl -l -v --all
    4. 卸载Linux分发版:
      a. 列出已安装的Linux分发版:wslconfig /l
      b. 卸载(假定要卸载的分发版为:Ubuntu-20.04):wslconfig /u Ubuntu-20.04
    WSL易用性设置(个人干货)
    设置WSL虚拟资源

    WSL启动之后会占用Windows系统部分系统资源,若占用过大则会导致Winndows系统卡顿,反之则可能导致在Linux中跑一些应用时卡顿,用户可以根据自身电脑的配置设置WSL占用系统资源的最大值来平衡这个问题。

    步骤如下:

    1. 打开用户主目录,选择Windows徽标键+ R,键入%UserProfile%并点击“确定”,即可打开用户主目录。
    2. 在用户主目录下创建文件:.wslconfig,并填入以下内容用以限制WSL占用的最大系统资源(具体值根据自身电脑配置而定):
      [wsl2]
      processors=4
      memory=4GB
      swap=4GB
      localhostForwarding=true
      
    3. 重启WSL
      a. 打开cmd
      b. 关闭WSLwsl --shutdown
      c. 启动WSLwsl
    修改WSL虚拟磁盘位置

    Linux分发版安装完成之后系统会为WSL分配一块虚拟磁盘用于存放Linux分发版的相关数据,该虚拟磁盘默认存放在C盘,随着持续使用,虚拟磁盘占用的空间可能会越来越大从而导致C盘空间不足的问题。通过以下步骤可以更改虚拟磁盘存放位置:

    1. 关闭WSLwsl --shutdown
    2. 导出分发版为tar文件到指定盘(比如D盘):
      a. 先在D盘创建文件夹,名字随意,比如:ubuntu
      b. 在cmd中执行:wsl --export Ubuntu-20.04 D:\ubuntu\ubuntu2004.tar
    3. 注销当前分发版,在cmd中执行:wsl --unregister Ubuntu-20.04
    4. 重新导入并安装分发版到D盘的ubuntu文件夹,在cmd执行:wsl --import Ubuntu-20.04 D:\ubuntu\Ubuntu-20.04 D:\ubuntu\ubuntu.tar --version 2
    5. 设置默认登陆账户,在cmd中执行:ubuntu2004 config --default-user xxx,其中xxx即为原Linux的用户名。
    6. 删除tar文件,在cmd中执行:del D:\ubuntu\ubuntu.tar

    操作完成之后就会在指定目录(比如:D:\ubuntu\Ubuntu-20.04)生成一个名为ext4.vhdx的虚拟磁盘文件:

    wsl虚拟磁盘文件.jpg
    清理虚拟磁盘空间

    WSL使用了虚拟磁盘,意味着它可能只有15GB的数据,但是虚拟磁盘却占用了100GB的空间。如果你往WSL中放了大量的数据,然后删掉,会发现WSL的磁盘占用没有降下来,这就是虚拟磁盘造成的。通过以下方法可以压缩虚拟磁盘空间,视使用情况每隔一段时间执行一次就好:

    1. 打开cmd
    2. 关闭WSLwsl --shutdown
    3. 打开diskpartdiskpart
    4. 选择虚拟磁盘,在diskpart中执行:select vdisk file="D:\ubuntu\Ubuntu-20.04\ext4.vhdx"
    5. 执行压缩,在diskpart中执行:compact vdisk
    WSL安装图形界面

    根据以上流程安装完WSL之后,对Linux系统的基本使用已经没什么问题了,稍显遗憾的是只能通过命令行来操作Linux系统,但某些时候,你可能还是要用到Linux上的图形界面程序,比如PycharmSublime Text等等。可以通过远程桌面的方式来使用图形界面。

    安装xrdp

    1. sudo apt update
    2. sudo apt upgrade
    3. sudo apt install xorg
    4. sudo apt install xfce4
    5. sudo apt install xrdp
    6. 防止与Windows默认远程端口3389冲突,此处改为3390
      a. sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini_bak
      b. sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
    7. 防止闪退:sudo echo xfce4-session > ~/.xsession
    8. 重启xrdpsudo service xrdp restart
    9. xrdp服务设置为开机自启,在~/.bashrc中添加:sudo service xrdp start

    如何使用:

    1. 选择Windows徽标键+ R,键入mstsc
    2. 输入远程桌面host以及portlocalhost:3390
      注意:对于Windows版本18945之前的用户,可能会失败,如果失败,输入127.0.0.1:3390即可。
      连接远程桌面.jpg
    3. 输入Linux用户名、密码。
      登录linux系统.jpg
      linux图形界面.jpg

    黑屏问题解决,Xfce4会自动锁屏,锁屏之后远程桌面会黑屏,解决方法如下:

    1. 关闭自动锁屏:Applications -> Settings -> Light Locking Settings -> Automatically lock the session -> Never
      取消自动锁屏.jpg
    2. 删除锁屏快捷键:Applications -> Settings -> Keyboard,删除快捷键:ctrl + alt + lctrl + alt + delete
      删除锁屏快捷键.jpg
    3. 若不幸黑屏了,重启WSL,然后重新连接远程桌面即可。
    写在最后

    WSL的安装以及基础使用教程就先介绍到这里了,每个流程步骤笔者都亲自验证过且不止一次,满满都是干货,开袋即食的那种。对于从事IT研发工作的同学一定会有些帮助的,对于圈子以外的同学...大家装完WSL平常有事没事去朋友面前装装X、吹吹牛,它不香吗!

    logo_小.png
    智驱力-科技驱动生产力

    相关文章

      网友评论

        本文标题:在windows系统上使用linux系统的最佳姿势

        本文链接:https://www.haomeiwen.com/subject/htzmhdtx.html