工作以来一直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. Python学习笔记(三)字符串类型及其操作(2)

    1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...

  2. Leetcode690.Employee Importance员工的重要性

    给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度为15, 10, 5.那么员工1的数据结构是[1 ...

  3. Leetcode674.Longest Continuous Increasing Subsequence最长连续递增序列

    给定一个未经排序的整数数组,找到最长且连续的的递增序列. 示例 1: 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3. 尽管 [1,3,5,7] 也 ...

  4. 51nod1196 字符串的数量

    用N个不同的字符(编号1 - N),组成一个字符串,有如下要求:(1) 对于编号为i的字符,如果2 * i > n,则该字符可以作为结尾字符.如果不作为结尾字符而是中间的字符,则该字符后面可以接 ...

  5. QT中,控件显示不下,用...表示

    void CommonHelper::setQLabelText(QLabel *label, const QString &text) { QFontMetrics cs(label-> ...

  6. Mac下搭建python开发环境

    目录 1. 安装brew 2. 安装 mysql 3. 安装 pycharm 4. 安装python3.6 5. 安装virtualenvwrapper 6. 虚拟环境下安装mysqlclient 1 ...

  7. php的一些误解

    1.php函数和方法是不用的:类的方法可以设定访问权限,需要通过对象或者类来调用:函数是公共的,都可以使用.

  8. Notepad++中Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

    使用Notepad++编辑python代码运行遇到了这个问题: IndentationError: unindent does not match any outer indentation leve ...

  9. 【JZOJ4824】【NOIP2016提高A组集训第1场10.29】配对游戏

    题目描述 流行的跳棋游戏是在一个有m*n个方格的长方形棋盘上玩的.棋盘起初全部被动物或障碍物占满了.在一个方格中,'X'表示一个障碍物,一个'0'-'9'的个位数字表示一个不同种类的动物,相同的个位数 ...

  10. TIJ——Chapter Ten:Inner Classes

    先提纲挈领地来个总结: 内部类(Inner Class)有四种: member inner class,即成员内部类.可以访问外部类所有方法与成员变量.生成成员内部类对象的方法:OuterClass. ...