工作以来一直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. 单源最短路径:Dijkstra算法(堆优化)

    前言:趁着对Dijkstra还有点印象,赶快写一篇笔记. 注意:本文章面向已有Dijkstra算法基础的童鞋. 简介 单源最短路径,在我的理解里就是求从一个源点(起点)到其它点的最短路径的长度. 当然 ...

  2. rabbitmq启动时出错epmd error for host

    centos7环境下新装rabbitmq,第一次启动时发现出错:ERROR: epmd error for host "****":XXXXXXX 检查发现当前机器的名称为 1  ...

  3. 自动化运维工具Ansible之Tests测验详解

    Ansible Tests 详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用 ...

  4. 线段树 B数据结构 牛客练习赛28

    链接:https://ac.nowcoder.com/acm/contest/200/B来源:牛客网 题目描述 qn姐姐最好了~     qn姐姐给你了一个长度为n的序列还有m次操作让你玩,     ...

  5. lambda表达式入门详解

    转自 2018-03-02 Sevenvidia 码农翻身 1.什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个"值".   如果你想把"一块代码 ...

  6. python学习之 %s %d 以及%变量名的含义

    %age是对前面age变量的引用,%d是将这个变量名为age的值加到其中,但是如果变量值为字符串类型,则这里应该写成%s 也就是说当变量值为数值类型,而且必须是整型类型 应该使用%d 当变量值为字符串 ...

  7. 【Hadoop离线基础总结】zookeeper的介绍以及集群环境搭建、网络编程和RPC的简单了解

    ZooKeeper的介绍以及集群环境搭建.网络编程和RPC的简单了解 ZooKeeper介绍 概述 ZooKeeper是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统的一致性问题.例如 ...

  8. asp.net mvc entityframework sql server 迁移至 mysql方法以及遇到的问题

    背景: 我原来的项目是asp.net mvc5 + entityframework 6.4 for sql server(localdb,sql server),现在需要把数据库切换成mysql,理论 ...

  9. 设计模式之GOF23代理模式01

    代理模式 核心作用: -通过代理,控制对对象的访问 -可以详细控制机制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做 后置处理(AOP的微观实现) 应用场景 -安全代理:屏蔽 ...

  10. Azure AD(二)调用受Microsoft 标识平台保护的 ASP.NET Core Web API 下

    一,引言 上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源,以及在项目中集成Swagger,并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的?本 ...