工作以来一直DotNet系偏C/S,
接触Web开发的时间也不长,
现在主要偏向Web全栈方向,
一直对Linux系统心生向往,
夜深了娃睡了,
打开老旧的笔记本来折腾一下。

准备工作

  • 控制面板 》 程序和功能 》 启用或关闭 Windows 功能

    勾选【适用于 Linux 的Windows 子系统】

  • 设置 》 更新和安全 》 开发者选项

    选择【开发人员模式】

做完准备工作,需要重启电脑,
不然安装完 Ubuntu 后启动时还是会提示

下载安装 Ubuntu

  • 打开 Microsoft Store 应用商店

    点【开始】输入 Microsoft Store 即可找到,打开搜索 Linux。

  • 第一个就是 Ubuntu,点【免费下载】

    下载+安装,完毕后会出现启动按钮,也可以在开始菜单找到并打开。

  • 启动 Ubuntu

    如果在准备工作后没有重启,此时会找不到子系统,还是需要重启一下的。

  • 安装中...

    正常情况的话就会是以下这样:

  • 设置用户名密码以添加用户


通过命令行,就可以便捷地完成很多工作了,
准备另外开一篇记录 bash 总结。

现在,我们还有两点需求:

  • 网络原因,跟之前介绍的 npm 一样,需要将源换为国内镜像
  • 操作习惯,安装一个图形界面,便于浏览网页查看图片等

切换源

  • 先备份下原源文件

    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak;
    # or
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak1
  • 复制

    Ubuntu 清华镜像:

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
  • 粘贴

    sudo apt edit-sources

    选择 Vim 打开文件,或者直接:

    sudo vim /etc/apt/sources.list

    然后输入:1,d清空所有行,复制上面的镜像内容,在这里点鼠标右键就粘贴上了。

    :wq

    保存并退出,编辑完成后会提示:

    Your '/etc/apt/sources.list' file changed, please run 'apt-get update'.maony@Hasee-201301:/etc/apt$

    输入:

    sudo apt update    # 替代了 sudo apt-get update

    更新结束:


安装图形界面

  • lxde

    sudo apt install lxde
    sudo apt install vnc4server

    基本每次安装东西会询问是否安装,输入Y,然后耐心等待安装完成即可。

    可以一次安装多个,上面两个主要的单独列出来了而已。

    sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

    配置 vncserver 的 xstartup 文件:

    sudo vim /home/username/.vnc/xstartup

    替换为以下内容:

    #!/bin/sh
    export XKL_XMODMAP_DISABLE=1
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    gnome-panel &
    gnome-settings-daemon &
    metacity &
    nautilus &
    gnome-terminal &
    start lxde &

    参考了很多资料都没有启动起来桌面,最终加了上面的最后一句start lxde &才可以的。

  • win10上使用 vncviewer 来连接 ubuntu

    点连接(https://bintray.com/tigervnc/stable/download_file?file_path=vncviewer64-1.9.0.exe)或另行搜索下载 vncview。

  • 使用方法

    • 在WindowsSubSystemLinux(WSL)的Ubuntu上启动 vncserver,

      vncserver  # 等同于 vncserver :0,以这个数字ID区分可以开多个桌面

    • 在Win10上,启动VNC Viewer
      输入ubuntu系统地址,如果vncserver :1,这里就是127.0.0.1:1,默认为0可以省略。

以下为没有正常显示出图形界面的情况:

正常显示的情况:


这个极简的界面显得low一些(虽然这不是重点),等改天还是再整个漂亮点的UI吧。


2019/11/14补充

  • 另外一个桌面:xfce4

    sudo apt install xubuntu-desktop xfce4

    编辑/home/username/.vnc/xstartup,将最后一行的命令替换为(注意没有空格)

    startxfce4 &

---------------------
作者:CoderMonkey
来源:CNBLOGS
原文:https://www.cnblogs.com/CoderMonkie/p/wsl-ubuntu.html
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

[转]Win10下安装Linux子系统的更多相关文章

  1. WIN10下安装Linux子系统并安装xface4界面

    WIN10下安装Linux子系统并安装xface4界面,使用win10自带的远程桌面工具登陆成功. 成功截图: 安装步骤 1.安装[适用于Linux的Windows子系统]组件 2.win10应用商店 ...

  2. win10 下安装linux子系统

    一.开发人员选项 打开控制面板->程序与功能->启用或关闭windows功能 勾选    [适用于linux的windows子系统]    选项 打开win10设置 找到更新与安全 启动开 ...

  3. Win10下安装Linux子系统-Ubuntu

    工作以来一直DotNet系偏C/S, 接触Web开发的时间也不长, 现在主要偏向Web全栈方向, 一直对Linux系统心生向往, 夜深了娃睡了, 打开老旧的笔记本来折腾一下. 准备工作 控制面板 &g ...

  4. 001 win10下安装linux子系统--Ubuntu及其图形界面

    首次启动图形界面关键步骤及相关命令: 步骤: 打开Xlunch 打开XLaunch,选择:"one large window",Display number设置成0,其它默认即可, ...

  5. 【深夜急报,Win10下的Linux子系统之Bash】

    [在Windows下进行的编程人员,你真的需要学习下Linux] 手册:<Linux 命令手册(特洛伊版2.0)> 链接: https://pan.baidu.com/s/1skrVSvV ...

  6. 如何在Windows下安装Linux子系统(Ubuntu,openSUSU,SUSU Linux Server)

    注意:只有win10才能安装,安装的linux没有图形界面. 1.首先在win10设置 --> 更新与安装 --> 针对开发人员 ,选择开发人员模式. 2.win10 Cortana -- ...

  7. win10中安装Linux子系统

    前言 Win10的Linux子系统闻名已久,今天就来操作一下 正文 限制 该功能是win10 1809 及之后才加入的功能,故请先核对版本. 开启功能 打开windows设置 设置 -> 更新和 ...

  8. win10 下安装 ubuntu 子系统的完全指北

    最近在搞 C++ 相关的东西,因为在 Linux 下开发会比较流畅舒适,而公司配的电脑都是 windows 的,之前都是在 vmware 中安装个 ubuntu 虚拟机,但这种有时候比有点卡顿.所以今 ...

  9. 为win10下的linux子系统终端添加powerline

    一切按照上一篇完成,如果成功了,你厉害了我的哥,如果不成功,win10安装powerline字体才可以,才可以,才可以 sudo apt install build-essential cmake g ...

随机推荐

  1. Web渗透三字经

    网络上曾流传一段Web渗透三字经,如下: 用搜索 找注入 没注入 就旁注 没旁注 用0day 没0day 扫目录 找后台 爆账户 传小马 放大马 拿权限 挂页面 放暗链 清数据 清日志 留后门 然后我 ...

  2. 廖雪峰Python总结3

    1.模块简介 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件中,这样每个文件包含的代码相对来说就比较少.一个.py文件就称之为一个模块(Module). 使用模块的好处: 提高了代码的可 ...

  3. DOM查找元素的方法总结

    按HTML查找:优点:范围可大可小,可设置条件:包括五种方式:1.按id查找:2.按标签名查找:var elems = parent.getElementsByTagName('');3.按name属 ...

  4. jQuery 手风琴效果

    //点击标题弹出对应的div 再次点击则隐藏 //jQuery只能获取行内的样式 没法获取头部的样式 $(".parentWrap .menuGroup span.groupTitle&qu ...

  5. I/O模型: 阻塞、非阻塞、I/O复用、同步、异步

    I/O模型不论在实际使用还是准备笔试面试中都是重要的内容,参考Unix网络编程进行总结如下.(尤其注意红色标注处) 1. 明确I/O考察的对象和流程 参考Unix网络编程,一个输入操作通常包括两个不同 ...

  6. sum(),max(),avg(),RATIO_TO_REPORT()--分组统计

    select id,area, sum(1) over() as 总记录数, sum(1) over(partition by id) as 分组记录数, sum(score) over() as 总 ...

  7. 02docker简单使用和配置(网络、存储和Hub)

    四:网络 1:命名容器 在各种docker命令中,可以通过名字中找到对应的容器.之前创建的容器都是由docker自动命名的,可以在docker  run中,通过--name参数指定容器的名字.比如: ...

  8. 云原生生态周报 Vol. 3 | Java 8 ❤️ Docker

    摘要: Docker Hub遭入侵,19万账号被泄露:Java 8 终于开始提供良好的容器支持:Snyk 年度安全报告出炉,容器安全问题形势空前严峻. 业界要闻 Docker Hub遭入侵,19万账号 ...

  9. laravel 踩坑 env,config

    正常情况: env 方法 可以获取 .env 文件的值 config 可以获取 config 文件夹下 指定配置的值 非正常情况: 当我们执行了 php artisan config:cache 之后 ...

  10. golang micro client 报错500 {"id":"go.micro.client","code":408,"detail":"call timeout: context deadline exceeded","status":"Request Timeout"}

    go micro web端连接services时,第一次访问提示500(broken pipe),排查发现客户端请求services时返回 {"id":"go.micro ...