WSL2初体验之使用 docker版 Ubuntu 18.04,VNC远程控制

2023-05-16

一、前言

以前用 Oracle VM VirtualBox,玩 CentOS 7,时不时就卡一些,而且还不流畅(我喜欢平滑顺畅完美);无意中发现了 windows WSL2发布了,感觉很溜啊!内嵌子系统,高大上啊!如果你感兴趣,接着看文章吧。借鉴了很多大佬的经验帖子。

二、基础知识准备

  • docker 镜像、容器等概念要理解,常用命令要熟悉。
  • ubuntu 与 centOS 常用命令要区分,要会用;ubuntu 18 安装软件用:apt-get
  • 要保持会折腾的心,要会静心、有耐心。

三、坑,很多很多坑,_(´ཀ`」∠)_吐了

  • 1.Docker Desktop 安装后,不要对 WIN10优化启动项,让它自启动(重复3遍~~~)。让我o(╥﹏╥)o会儿,我又重装了它。
  •  

  • 2.看看如下:Windows 终端 powerShell,炫不? 可以美化的。
  • 提前做好 "容器"的端口映射,因为要用 VNC连接;docker run -it -d --name u18-mine -h u18-mine -p 127.0.0.1:5901:5901 -v //g/u18home/soft:/u18home/soft ubuntu:18.04
  • 不然,你"容器"中的系统搞了一遍,发现端口不对,你只能去各种倒腾修改 docker配置了。o(╥﹏╥)o
  •  

  • 3.进入 docker ubuntu后,不要着急下载软件。先去 更换国内源。防止,下错软件版本。以免造成依赖死循环。

  • 4.如果你像我一样,基于下边那个镜像 pull,恭喜,各种命令都没有,ORZ~~~,连 sudo/nano/vi/vim/gcc等也没有。

  •  

  • 5.进入 ubuntu后,不要直接装 KDE桌面,没有那么容易(我还没成功);先装个xfce4,兼容性好些,VNC 也可以远程连上。

  • 6.不要轻易执行:docker rm <CONTAINER ID>,你会后悔的,刚才搞了一遍,一条命令回到解放前,ε=(´ο`*)))唉。

  • 7.想起来,再补充。

四、WSL2

适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#update-to-wsl-2

安装和设置 Windows 终端

https://docs.microsoft.com/zh-cn/windows/terminal/get-started

Windows Terminal 美化实例

https://zhuanlan.zhihu.com/p/76436374

Windows Terminal 美化主题配色

https://windowsterminalthemes.dev/

1.

2.

3.

4.

5.示例

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "colorScheme": "DimmedMonokai",
                "hidden": false,
                "useAcrylic": true,
                "acrylicOpacity": 0.75
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "colorScheme": "DimmedMonokai",
                "hidden": false,
                "useAcrylic": true,
                "acrylicOpacity": 0.75
            },
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },
   "schemes": [
        {
            "name": "BirdsOfParadise",
            "black": "#573d26",
            "red": "#be2d26",
            "green": "#6ba18a",
            "yellow": "#e99d2a",
            "blue": "#5a86ad",
            "purple": "#ac80a6",
            "cyan": "#74a6ad",
            "white": "#e0dbb7",
            "brightBlack": "#9b6c4a",
            "brightRed": "#e84627",
            "brightGreen": "#95d8ba",
            "brightYellow": "#d0d150",
            "brightBlue": "#b8d3ed",
            "brightPurple": "#d19ecb",
            "brightCyan": "#93cfd7",
            "brightWhite": "#fff9d5",
            "background": "#2a1f1d",
            "foreground": "#e0dbb7"
        },
        {
            "name": "BlulocoDark",
            "black": "#4a505d",
            "red": "#f81141",
            "green": "#23974a",
            "yellow": "#fd7e57",
            "blue": "#285bff",
            "purple": "#8c62fd",
            "cyan": "#366f9a",
            "white": "#ccd5e5",
            "brightBlack": "#61697a",
            "brightRed": "#fc4a6d",
            "brightGreen": "#37bd58",
            "brightYellow": "#f6be48",
            "brightBlue": "#199ffd",
            "brightPurple": "#fc58f6",
            "brightCyan": "#50acae",
            "brightWhite": "#ffffff",
            "background": "#1e2127",
            "foreground": "#abb2bf"
        },
        {
            "name": "DimmedMonokai",
            "black": "#3a3d43",
            "red": "#be3f48",
            "green": "#879a3b",
            "yellow": "#c5a635",
            "blue": "#4f76a1",
            "purple": "#855c8d",
            "cyan": "#578fa4",
            "white": "#b9bcba",
            "brightBlack": "#888987",
            "brightRed": "#fb001f",
            "brightGreen": "#0f722f",
            "brightYellow": "#c47033",
            "brightBlue": "#186de3",
            "brightPurple": "#fb0067",
            "brightCyan": "#2e706d",
            "brightWhite": "#fdffb9",
            "background": "#1f1f1f",
            "foreground": "#b9bcba"
        }                  
    ],

五、WSL2安装Docker

按照以下2步骤,你就不用担心拉取的镜像,创建的容器占用C盘了。

https://zhuanlan.zhihu.com/p/163763066

WSL2 Docker Distro迁移

https://blog.csdn.net/simongame/article/details/107032441

六、ubuntu18初体验

1.每次,以 root用户身份进入;更改“软件源地址”。

cp   /etc/apt/sources.list   /etc/apt/sources.list.bak

想要编辑,使用 vim,安装缺提示:E: Unable to locate package vim

https://blog.csdn.net/miss1181248983/article/details/88578287

deb http://archive.ubuntu.com/ubuntu/trusty main universe restricted multiverse这个地址添加到/etc/apt/sources.list文件中,然后 apt-get update更新完之后安装就可以了。

echo deb http://archive.ubuntu.com/ubuntu/trusty main universe restricted multiverse >> /etc/apt/sources.list

https://blog.csdn.net/u012308586/article/details/102953882

阿里源:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

#更新软件列表,换源完成。就可以安装匹配的想要的各种命令了。

apt-get update

#配置GCC

apt-get  install  build-essential

2.基于命令行更新软件包的方法

https://blog.csdn.net/davidhzq/article/details/102671746

Ubuntu主要更新升级命令介绍
        我们先来看看这几个命令的功能和区别,这几个命令看起来很相似,作用上有较大差别千万不要弄错了。

  • apt-get update
    从服务器获取全部可用的、最新的软件包列表,并缓存到本地电脑。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt-get update
    [sudo] hzq 的密码: 
    命中:1 http://mirrors.yun-idc.com/ubuntu xenial InRelease
    命中:2 http://mirrors.yun-idc.com/ubuntu xenial-updates InRelease
    命中:3 http://mirrors.yun-idc.com/ubuntu xenial-backports InRelease
    命中:4 http://mirrors.yun-idc.com/ubuntu xenial-security InRelease
    正在读取软件包列表... 完成  
    hzq@ubuntu:~$
    

     

  • apt-get upgrade
    这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。upgrade 不会删除在列表中已经没有的软件包,也不会安装有依赖需求但尚未安装的软件包。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt-get upgrade
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    正在计算更新... 完成
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
    hzq@ubuntu:~$
    

     

  • apt-get full-upgrade
    根据列表信息,对需要升级的软件包进行完整安装。也就是先删除软件,然后完整地重新安装整个软件。所以要注意,这个功能是会删除软件的,所以执行此命令之前最好备份一下。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt-get full-upgrade
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    正在计算更新... 完成
    下列软件包是自动安装的并且现在不需要了:
      linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic
      linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service
    使用'sudo apt autoremove'来卸载它(它们)。
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
    hzq@ubuntu:~$
    

     

  • apt-get dist-upgrade
    dist-upgrade 可能会为了解决软件包冲突而删除一些已安装的软件包,也可能会为了解决软件包依赖问题安装新的软件包。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt-get dist-upgrade
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树
    正在读取状态信息... 完成       
    正在计算更新... 完成
    下列软件包是自动安装的并且现在不需要了:
      linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic
      linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service
    使用'sudo apt autoremove'来卸载它(它们)。
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
    

     

  • apt list --upgradable
    根据列表对比信息,看看有哪些可更新的软件,如果没有则显示为空。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt list --upgradable
    正在列表... 完成
    hzq@ubuntu:~$
    

     

  • apt-get autoremove
    一般来说,更新完成之后会有一些不需要的旧组件需要清除。此时使用apt autoremove即可完成清理。执行效果如下。
  • 
    hzq@ubuntu:~$ sudo apt-get autoremove
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    下列软件包将被【卸载】:
      linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic
      linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 6 个软件包,有 0 个软件包未被升级。
    解压缩后将会空出 335 MB 的空间。
    您希望继续执行吗? [Y/n] y
    (正在读取数据库 ... 系统当前共安装有 251733 个文件和目录。)
    正在卸载 linux-headers-4.15.0-45-generic (4.15.0-45.48~16.04.1) ...
    正在卸载 linux-headers-4.15.0-45 (4.15.0-45.48~16.04.1) ...
    正在卸载 linux-modules-extra-4.15.0-45-generic (4.15.0-45.48~16.04.1) ...
    正在卸载 linux-image-4.15.0-45-generic (4.15.0-45.48~16.04.1) ...
    /etc/kernel/postrm.d/initramfs-tools:
    update-initramfs: Deleting /boot/initrd.img-4.15.0-45-generic
    /etc/kernel/postrm.d/zz-update-grub:
    Generating grub configuration file ...
    Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
    Found linux image: /boot/vmlinuz-4.15.0-65-generic
    Found initrd image: /boot/initrd.img-4.15.0-65-generic
    Found linux image: /boot/vmlinuz-4.15.0-64-generic
    Found initrd image: /boot/initrd.img-4.15.0-64-generic
    Found memtest86+ image: /boot/memtest86+.elf
    Found memtest86+ image: /boot/memtest86+.bin
    done
    正在卸载 linux-modules-4.15.0-45-generic (4.15.0-45.48~16.04.1) ...
    正在卸载 snapd-login-service (1.33-0ubuntu0.16.04.1) ...
    正在处理用于 dbus (1.10.6-1ubuntu3.4) 的触发器 ...
    hzq@ubuntu:~$
    

     

  • 通常情况升级更新步骤
    下面给出一般情况的操作流程,你当然可以根据上面命令的含义自己组合使用。
  • 
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt list --upgradable //如果没有了,就直接重启
    sudo apt-get dist-upgrade
    sudo reboot
    sudo apt list –upgradable //重启之后再看一眼
    

     

3.出错、异常处理

  • ubuntu错误:No usable dialog-like program is installed
  • 那么可能只是因为系统原程序没有正确安装的原因,可以运行:apt-get update && apt-get dist-upgrade
  • Ubuntu下提示E: dpkg was interrupted

    mv /usr/bin/localedef /usr/bin/localedef.old
           dpkg --configure -a

  •  

七、Xfce4 桌面安装

为什么首选它?因为,稳定、兼容性好,又能实现 VNC远程连接,KDE想用,还没成功。

https://blog.csdn.net/fxb163/article/details/84193098

https://cloud.tencent.com/developer/article/1350304

https://www.linuxidc.com/linux/2018-08/153435.htm

在安装Xfce前需要更新一下系统

sudo apt-get update

安装Xfce

sudo apt install xfce4 xfce4-goodies

安装期间好像会出现几次弹窗,让你选择,仔细阅读下英文就理解了。

安装VNC Server

sudo apt-get install vnc4server

启动VNC Server(第一次启动VNC Server时会要求设置密码)

vncserver

另外,还需要修改xstartup文件内容(否则在通过VNC远程连接时会出现灰屏现象)

vim ~/.vnc/xstartup
#!/bin/sh  
unset SESSION_MANAGER  
unset DBUS_SESSION_BUS_ADDRESS  
startxfce4 & 

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup  
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources  
xsetroot -solid grey 

Esc,输入:wq!保存退出。

关闭之前开启的VNC Server窗口

vncserver -kill :1   #注意kill之后有空格

再次启动VNC Server

八、远程连接 VNCSERVER

下载 VNC-Viewer:https://www.realvnc.com/en/connect/download/viewer/

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WSL2初体验之使用 docker版 Ubuntu 18.04,VNC远程控制 的相关文章

  • ARM的快速上下文切换(FCSE)

    一 FCSE的原理 通常情况下 xff0c 如果两个进程占用的虚拟地址空间由重叠 xff0c 系统在这两个进程之间进行切换时 xff0c 必须进行虚拟地址到物理地址的重映射 而虚拟地址到物理地址的重映射涉及到重建MMU中的页表 xff0c
  • 使用PyQt5/PySide2编写一个极简的音乐播放器

    文章目录 一 创建UI界面二 获取网络歌曲三 创建和链接信号槽 疫情肆虐 xff0c 憋在家实在无聊 xff0c 索性写点东西 xff0c 于是就有了这个极极极极极简的音乐播放器 这个极极极简的音乐播放器类似于 阅后即焚 的软件 xff0c
  • Android zxing二维码扫描 扫描框适应各种分辨率

    public synchronized Rect getFramingRect if framingRect 61 61 null if camera 61 61 null return null Point screenResolutio
  • 实战:MySQL Sending data导致查询很慢的问题详细分析

    这两天帮忙定位一个mysql查询很慢的问题 xff0c 定位过程综合各种方法 理论 工具 xff0c 很有代表性 xff0c 分享给大家作为新年礼物 xff1a xff09 问题现象 使用sphinx支持倒排索引 xff0c 但sphinx
  • TypeScript入门到入土(3)webpack打包ts代码

    上一节我们讲了ts的编译选项 xff0c 这一节我们介绍利用webpack打包我们的ts代码 前文链接 xff1a TypeScript入门到入土 xff08 2 xff09 小杨爱编程的博客 CSDN博客 ts 的安装以及ts中类型 xf
  • ROS中关于topic和service的运用场合

    本文的翻译来自 ROS answers 官方的问答区 2014 7 30 点击打开链接 topics seem like the best way for storing 34 states 34 of the robot stateful
  • 又见一帘幽梦

    又见一帘幽梦 最是魂断伤心处 xff0c 浮生若残梦 冷遇秋 xff0c 夕阳下 xff0c 碧野又清空 xff0c 泪眼朦胧 一帘幽梦红尘路 xff0c 爱深处 xff0c 情留驻 秋菊相思 xff0c 旭日重生 xff0c 无奈生死殊途
  • Openfeign ErrorDecoder caused java.io.IOException: stream is closed

    实现错误解码器 保留 feign 服务异常信息 xff0c 左侧是之前设计的 偶尔下游系统出现异常时 xff0c 拿到返回结果时 xff0c 居然会是stream is closed xff0c 就找了下原因 Don 39 t use an
  • 鞋厂园区--稳食生涯--2017~2018

    2017年初 进入广州的鞋类企业搞数字化新零售中台业务开发 这个地方 应该是我进入电商新零售业务的启蒙和提升之地 不但学习了线上线下的电商与门店业务 也学习了完整的一套新零售中台业务技术架构和整体的微服务演变进程 同时也应该算是收获最多朋友
  • 棉类工业园--奋斗的故事--2018~2020

    nbsp 2018年8月 进入深圳的工业园继续搞数字化新零售中台业务开发 18年初步规划设计 从0到1打造整个电商与新零售中台体系 1 用户中心 用户表 角色表 系统表 菜单表 用户角色表 角色菜单表 角色系统表 数据范围表 用户数据范围
  • YOLOv5改进:引入DenseNet思想打造密集连接模块,彻底提升目标检测性能

    目录 一 密集连接模块的介绍1 密集连接的概念2 密集连接与残差连接的对比3 DenseNet的结构 二 YOLOv5中引入密集连接模块的原因1 密集连接模块对于目标检测的优势2 密集连接模块对目标检测性能的影响 三 YOLOv5中密集连接
  • 不是我写的原文

    青春的尾声悄然敲响 xff0c 我站在尽头送别剩下为数不多的光阴 婚礼上同学聚会上 xff0c 越来越多的人开始为人妻为人母 xff0c 我们在经受着一场不可逆的转变 转变以前是快乐的 xff0c 转变后也会是另一种快乐 xff0c 但是转
  • 我这是一条什么路

    首先 xff0c 我从未在这里发表博客 xff0c 有些胆战 其次 xff0c 我技术不精 xff0c Java web php Android 再次 xff0c 没有共享过源码 xff0c 倒是从不少开源代码获益 最后 xff0c 这也许
  • 在珠海的一年

    时间倒退到2013年 作为应届生 xff0c 初入职场 xff0c 来到珠海 xff0c 开始了我IT生涯的第一步 以Java初级程序员的身份 xff0c 加入一家港企 xff0c 位于珠海的香洲区唐家湾镇 xff0c 还真的是一个镇啊 一
  • Hadoop的构造模块

    Hadoop集群中运行的守护进程共有5类 xff1a NameNodeDataNodeSecondary NameNodeJobTrackerTaskTracker Hadoop集群中的机器 节点 分为2类 xff1a 主节点和从节点 xf
  • 通过yum来进行mysql的安装

    1 卸载掉原有mysql rpm qa grep mysql 这个命令就会查看该操作系统上是否已经安装了mysql数据库 rpm e mysql 普通删除模式 rpm e nodeps mysql 强力删除模式 xff0c 如果使用上面命令
  • 因为咳嗽

    看了下我曾写过的博客 xff0c 居然发现年初的时候 xff0c 原来也咳嗽的撕心裂肺一次 xff0c 而这次又发作了 xff0c 我预估这是一种很严重的肺炎 xff0c 但还没去医院检测过 xff0c 心情甚是忧伤 回头望了下自己这几年写
  • 微服务横行的今天, 你的文档跟上节奏了么?

    转载自 xff1a https blog maxleap cn archives 1241 说起微服务 想必现在的技术圈内人士个个都能谈笑风云 娓娓道来 的确 技术变革日新月异 各种工具框架雨后春笋般涌现 现在我们可以轻巧便捷地根据自己的业
  • 微服务实战:从架构到发布(一)

    转载自 xff1a https blog maxleap cn archives 195 引言 xff1a 微服务 是当前软件架构领域非常热门的词汇 xff0c 能找到很多关于微服务的定义 准则 xff0c 以及如何从微服务中获益的文章 x
  • 《次时代Java编程(一):续 vertx-sync实践》

    转载自 xff1a https blog maxleap cn archives 1013 vertx sync是什么 上一篇我们已经讲了 Fiber 相关的知识 xff0c 想必大家对Java实现类似Golang的coroutine已经有

随机推荐

  • 我的2016--"狗血"

    偶然看到了CSDN的 我的2016 主题征文活动 xff0c 突然感慨一番 xff0c 今年又快结束了 xff0c 而我这一年的经历 xff0c 可以浓缩为两个字 xff1a 狗血 然而 xff0c 我能用上如此不羁的词汇 xff0c 并未
  • 华为OD机试 - 买卖股票的最佳时机(Java)

    一 题目描述 给定一个数组 prices xff0c 它的第 i 个元素 prices i 表示一支给定股票第 i 天的价格 你只能选择 某一天 买入这只股票 xff0c 并选择在 未来的某一个不同的日子 卖出该股票 设计一个算法来计算你所
  • Linux下安装、配置、启动Apache

    环境 Centos 6 5 64位操作系统 安装Apache前准备 xff1a 1 检查该环境中是否已经存在httpd服务的配置文件 xff0c 默认存储路径 xff1a etc httpd httpd conf xff08 这是cento
  • 我从来没有得到过你,却好像已经失去了你千万次。

    为什么从来没有得到的东西 xff0c 也会让人有一种失去的感觉 xff1f 如题 xff01 xff01
  • power yourself

    1 不要做繁琐的计划 2 远离魔鬼 躲避诱惑 3 保持早睡早起的习惯 4 记录自己的成长轨迹 5 选择性离开网络世界
  • 希望余生尽早开始

    我爱你在暖和的天气感冒 我爱你用一小时来点菜 我爱你皱着眉头看我 好像我是疯子一样 我爱跟你分别后 仍然萦绕不散的余香 我想在睡前和你聊天 我来这 并不是因为我寂寞 也不是因为今天是除夕 是因为发现 如果你想要与某人共度余生 那你就会希望余
  • 又一年--在深圳

    一晃再晃 xff1b 一拖再拖 xff1b 我还是独自一个人奋战 xff0c 在这座繁华都市 严重的错觉就是 xff0c 总以为自己不想加班 xff0c 却发现只有加班的日子才过的充实 xff0c 也许事不知道业余时间该干嘛 这一年 xff
  • Debian下安装配置fcitx

    本人新装Debian7 LXDE桌面 xff0c 下面介绍一下安装配置fcitx的步骤 在此之前 xff0c 需要先保证locale的中文支持 xff1a 1 locale a xff0c 得到若干语言编码组合 xff0c 其中需要有zh
  • ROS: catkin_make/catkin_make_isolated/catkin build/colcon的区别

    1 catkin make catkin make 是第一个构建catkin工作区的脚本 xff0c 因此在许多教程中使用 它有几个缺点 xff08 需要包中的非标准逻辑来声明跨包目标依赖关系 xff09 和限制 xff08 不能处理普通的
  • 关于Segmentation fault (core dumped)几个简单问题

    有的程序可以通过编译 xff0c 但在运行时会出现Segment fault 段错误 这通常都是指针错误引起的 但这不像编译错误一样会提示到文件一行 xff0c 而是没有任何信息 一种办法是用gdb的step 一步一步寻找 但要step一个
  • CUDA C 编程指南

    CUDA C Programming Guide CUDA C 编程指南 导读 田子宸 浙大水硕在读 184 人 赞同了该文章
  • 2014华为校招机试高级题——if语法中的括号判断

    http blog csdn net wy4649 article details 11725073 package com huawei job import java util ArrayList import java util Sc
  • MySQL插入数据时报错Cause: java.sql.SQLException: #HY000

    造成这个错误的原因是数据库中有字段要求不能为空 xff0c 但insert语句中没有提供该字段的数据
  • 操作系统经典书籍推荐

    推荐原则 xff1a 宁缺勿滥 xff0c 决不混进糟粕 好书不一定对所有人都合适 xff0c 但对于它的目标读者群来说 xff0c 一定是好书 选书原则 xff1a 有国外的 xff0c 不看国产的 有原版的 xff0c 不看翻译的 看大
  • 英特尔T265 通过Python API获得位置(姿态)数据

    如果你想在树莓派或者jetson nano等嵌入式设备上使用Python API获得T265的数据 xff0c 需要编译pyrealsense2 jetson nano的安装可以参考这篇文章 xff1a jetson nano 编译pyre
  • 英特尔 t265 保存地图 (Python API)

    保存地图 span class token keyword import span pyrealsense2 span class token keyword as span rs span class token keyword impo
  • 车辆控制知识总结(一):LQR算法

    目录 1 LQR简介 2 现代控制理论基础 2 1 状态空间描述 2 2 线性定常系统的状态空间描述框图 2 3 线性系统连续系统的反馈控制 2 31 全状态反馈控制器 3 LQR设计控制器的方法 3 1 什么是二次型 3 3 连续时间下的
  • VMware安装centos 8无法连接外网处理过程

    使用VMware安装centos 8之后发现火狐无法打开百度 xff0c 另外一台ubuntu的虚拟机却可以上百度 对比之后发现问题如下 unbuntu的网卡信息 xff1a centos 8的网卡信息 xff1a 这里很容易发现unbun
  • input输入框、select下拉框在安卓与ios上的兼容性问题

    一 input输入框 在平常做移动端项目时 xff0c 如果不注意的话 xff0c 在ios系统上经常会出现这种问题 xff0c 点击输入框 xff0c 输入框获取焦点 xff0c 此时 苹果手机页面会自动放大 xff0c 而安卓手机不会出
  • WSL2初体验之使用 docker版 Ubuntu 18.04,VNC远程控制

    一 前言 以前用 Oracle VM VirtualBox xff0c 玩 CentOS 7 xff0c 时不时就卡一些 xff0c 而且还不流畅 我喜欢平滑顺畅完美 xff1b 无意中发现了 windows WSL2发布了 xff0c 感