工作以来一直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 &

Win10下安装Linux子系统-Ubuntu的更多相关文章

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

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

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

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

  3. win10 下安装linux子系统

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

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

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

  5. [转]Win10下安装Linux子系统

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

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

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

  7. win10中安装Linux子系统

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

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

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

  9. win10下安装Ubuntu + 修复Ubuntu引导

    如何在已安装 Windows 10 的情况下安装 Linux(Ubuntu 15.04)双系统? - Microsoft Windows - 知乎http://www.zhihu.com/questi ...

随机推荐

  1. Codeforces Round #590

    题目链接:Round #590 题目答案:官方Editorial.My Solution A. Equalize Prices Again 签到题还WA了一发,向上取整有点问题: //my wrong ...

  2. Nginx模块开发(5)————开发简单的HTTP过滤模块

    该模块可实现如下的功能,在浏览器输入http://你的IP/lcw.text,能够读出你在根目录下创建的lcw.txt里面的内容,并在前面加上一句字符串where there is a will,th ...

  3. B - Planning 早训 贪心

    B - Planning 这个题目我知道要贪心,也知道怎么贪,但是写不出来,感觉自己好菜. 这个题目要用优先队列维护. 题目大意是飞机延误,不同的飞机每次延误一分钟,它的代价不同,然后问,怎么安排才能 ...

  4. 工具类CountDownLatch的应用---百米赛跑案例

    package com.aj.thread; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Execu ...

  5. System类&StringBuilder类

    System类 1.currentTimeMillis()方法 作用:获取当前系统时间的毫秒值[注意:从现在到1970年1月1日 00:00:00] 2.arraycopy(...)方法 作用:复制数 ...

  6. 实用,小物体检测的有监督特征级超分辨方法 | ICCV 2019

    论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带ROI池化的目标检测算法.在VOC和COCO上的小物体检测最大有5~6%mAP提升,在Tsinghua-Tencent 10 ...

  7. iOS的内存管理和引用计数规则、Block的用法以及三种形式(stack、malloc、global)

    学习内容 iOS的内存管理和引用计数规则 内存管理的思考方式 自己生成的对象自己持有 非自己生成的对象自己也能持有 自己持有的对象不需要时释放 非自己持有的对象不能释放 ARC有效时,id类型和对象类 ...

  8. JS实现手机号码中间4位变星号

    这个问题,我们可以用截取字符串解决,以下我列出2种方法,小伙伴们可以根据自己的需要选择哦: ● 1,substring()方法用于提取字符串中介于两个指定下标之间的字符. '; //该号码是乱打出来的 ...

  9. python语法学习第五天--函数(2)

    命名空间: 命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的. 命名空间提供了在项目中避免名字冲突的一种方法.各个命名空间是独立的,没有任何关系 ...

  10. extract变量覆盖

    0x01 extract变量覆盖 <?php $flag='xxx'; extract($_GET); if(isset($shiyan)) { $content=trim(file_get_c ...