0. 云原生之基于乌班图远程开发
云原生专栏大纲
文章目录
- 安装乌班图
- 配置静态IP
- 重置root密码
- 开启root远程登录
- 开启远程SSH访问
- 安装docker
- 安装docker-compose
- 安装Edge浏览器
- 安装搜狗输入法
- 安装TeamViewer
- 安装虚拟显示器
- 安装JDK
- 安装maven
- 安装vscode
- vscode插件安装
- VSCode配置maven、git、jdk、自动报错
- vscode快捷键
使用TeamViewer工具远程乌班图开发,优势如下
- 家里电脑部署好环境后,即使换公司也不用在麻烦安装开发环境
- 有助于个人对linux系统的掌握,开发和各中间都可在乌班图上操作
安装乌班图
- 准备启动盘
- 准备乌班图镜像
- 引导启动,按图形化界面操作安装
- 此处只重点说下分区配置:
小编两块磁盘250G和1T,分配如下
- 引导分区EFI或boot:建议500M
- 交换分区swap:建议不配置(也可内存情况分配)
- 根目录/:根据实际情况分配(250G)
- 家目录/home:建议分配大点(1T)
配置静态IP
重置root密码
sudo passwrd
开启root远程登录
vim /etc/ssh/sshd_config#PermitRootLogin prohibit-password
PermitRootLogin yes # 允许root直接登录
...
#PermitEmptyPasswords no
PermitEmptyPasswords no # 因为设置了root密码,所以需要修改为no
开启远程SSH访问
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
sudo systemctl status ssh
安装docker
- 先卸载乌班图自带的
sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
- 添加Docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 添加Docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
sudo usermod -aG docker $USER
- 配置阿里云镜像源
sudo nano /etc/docker/daemon.json# 添加下述内容
{"registry-mirrors": ["https://<your-alibaba-id>.mirror.aliyuncs.com"]
}
- 验证安装
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker# 查看镜像源
sudo docker info
sudo docker version
安装docker-compose
根据docker版本选择对应的docker-compose版本。
docker-compose官网地址:Compose file version 3 reference | Docker Docs
- 下载并放入指定位置
# github: https://github.com/docker/compose/releases/tag/v2.20.2
# 国内下载地址:https://gitee.com/smilezgy/compose/releases/tag/v2.20.2
sudo curl -SL \
https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose# 或者手动下载, 上传到服务器后执行如下指令(use)
# 在 docker-compose-linux-x86_64 文件同一目录下执行
sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
- 修改权限
chmod +x /usr/local/bin/docker-compose
- 验证
docker-compose --version
安装Edge浏览器
- Dev渠道:官方下载网址 Microsoft Edge Insider Channels
- 安装
sudo dpkg -i “xxx.deb”
安装搜狗输入法
搜狗输入法linux-安装指导
安装TeamViewer
- 下载:TeamViewer官网 【参考】ubuntu下安装Teamviewer及使用
- 安装
1)在命令行进行安装
sudo dpkg -i teamviewer_13.2.26559_amd64.deb
2)安装出错,修复依赖sudo apt-get install -f3)再次安装sudo dpkg -i teamviewer_13.2.26559_amd64.deb
- 注册TeamViewer账号
- TeamViewer乌班图配置入口
- 安全配置
- 高级配置:配置密码和完全访问
- 配置乌班图息屏设置
安装虚拟显示器
若主机未连接显示器,且未安装虚拟显示器,远程桌面闪烁操作不了
- 安装虚拟显示器
sudo apt-get install xserver-xorg-core-hwe-18.04
sudo apt-get install xserver-xorg-video-dummy
- 配置分辨率
sudo vi /usr/share/X11/xorg.conf.d/xorg.conf
Section "Monitor"Identifier "Monitor0"HorizSync 28.0-80.0VertRefresh 48.0-75.0# https://arachnoid.com/modelines/# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHzModeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection
Section "Device"Identifier "Card0"Driver "dummy"VideoRam 256000
EndSection
Section "Screen"DefaultDepth 24Identifier "Screen0"Device "Card0"Monitor "Monitor0"SubSection "Display"Depth 24Modes "1920x1080_60.00"EndSubSection
EndSection
- 重启
reboot
- 卸载
sudo apt-get –purge remove xserver-xorg-core-hwe-18.04
sudo apt-get –purge remove xserver-xorg-video-dummy
sudo rm /usr/share/X11/xorg.conf.d/xorg.conf
reboot
安装JDK
sudo apt-get install openjdk-8-jdk
# 安装后JDK位置
# /usr/lib/jvm/java-8-openjdk-amd64
安装maven
下载:https://maven.apache.org/download.cgi
- 配置环境变量
export PATH=/path/to/apache-maven-3.8.3/bin:$PATH
- 使用环境变量生效
source ~/.bashrc
- 验证
mvn -version
安装vscode
vscode插件安装
- 汉化
- java环境插件:Extension Pack for Java
- springboot环境插件:Spring Boot Extension Pack
VSCode配置maven、git、jdk、自动报错
打开设置,搜索maven,配置settings.json配置文件
{# "java.configuration.maven.userSettings": "/home/zhouwei/DevInstall/maven-3.9.7/conf/settings-alimaven.xml", -- # 配置maven全局配置"java.configuration.maven.globalSettings": "/home/zhouwei/DevInstall/maven-3.9.7/conf/settings-alimaven.xml", -- # 配置maven全局配置"maven.executable.path": "/home/zhouwei/DevInstall/maven-3.9.7/bin/mvn", -- # 配置maven"maven.excludedFolders": ["**/.*","**/node_modules","**/target","**/bin","**/archetype-resources"],"java.jdt.ls.java.home": "/usr/lib/jvm/java-17-openjdk-amd64", # 配置JDK"git.path": "/usr/bin/git", # 配置git"files.autoSave": "afterDelay" # 配置自动保存
}
vscode快捷键
参考:Visual Studio Code 快捷键大全(最全)-CSDN博客
方法跳转快捷键
Win10:ctrl + 鼠标左键
Ubuntu:同上操作
方法跳转返回原处
win10:alt + \leftarrow ← \leftarrow←
ubuntu下:ctrl + alt +-
自动生成返回值
- 在方法定义中,将光标放在方法名称后面的括号内。
- 按下以下快捷键组合:
- Windows/Linux:
Ctrl+Shift+P
- macOS:
Cmd+Shift+P
- 在出现的命令面板中,输入
Generate Return Statement
并选择该选项。
您也可以使用以下快捷键来实现相同的功能:
- Windows/Linux:
Ctrl+Shift+R
- macOS:
Cmd+Shift+R
相关文章:

0. 云原生之基于乌班图远程开发
云原生专栏大纲 文章目录 安装乌班图配置静态IP重置root密码开启root远程登录开启远程SSH访问安装docker安装docker-compose安装Edge浏览器安装搜狗输入法安装TeamViewer安装虚拟显示器安装JDK安装maven安装vscodevscode插件安装VSCode配置maven、git、jdk、自动报错vscode快捷…...
C++ 字符串处理5-手机号邮箱如何脱敏处理
1. 关键词2. strutil.h3. strutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词: C 字符串处理 分割字符串 连接字符串 跨平台 应用场景: 有些重要信息需要保密,比如手机号、邮箱等,如何在不影响用户阅读的情况下…...
【lesson8】云备份服务端完整版代码
文章目录 util.hppconfig.hpphot.hppdata.hppserver.hppserver.ccMakefilecloud.conf util.hpp #pragma once #include <iostream> #include <fstream> #include <string> #include <vector> #include <sys/stat.h> #include <unistd.h> …...

AI办公自动化:kimi批量搜索提取PDF文档中特定文本内容
工作任务:PDF文档中有资料来源这一行,比如: 资料来源:moomoo tech、The Information、Bloomberg、Reuters,浙商证券研究所 数据来源:CSDN、浙商证券研究所 数据来源:CSDN、arXiv、浙商证券研…...

基于C#开发web网页管理系统模板流程-总集篇
第一篇 基于C#开发web网页管理系统模板流程-登录界面和主界面_c#的网页编程-CSDN博客 第二篇 基于C#开发web网页管理系统模板流程-主界面管理员录入和编辑功能完善_c#网页设计-CSDN博客 第三篇 基于C#开发web网页管理系统模板流程-主界面管理员入库和出库功能完善_c#web程序设计…...

什么是DMZ?路由器上如何使用DMZ?
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 DMZ 📒🚀 DMZ的应用场景💡 路由器设置DMZ🎈 注意事项 🎈⚓️ 相关链接 ⚓️📖 介绍 📖 在网络管理中,DMZ(Demilitarized Zone,隔离区)是一个特殊的网络区域,常用于将公共访问和内部网络隔离开来。DMZ功能允许…...
【bugfix】解决Redis缓存键清理问题
前言 在Spring Boot应用中集成Redis作为缓存存储时,合理配置RedisTemplate是确保数据正确存储和检索的关键。本文将通过对比分析一段初始存在问题的Redis配置代码及其修正后的版本,探讨如何正确处理Redis键前缀,以避免清理缓存时遇到的问题。…...

泛微开发修炼之旅--15后端开发连接外部数据源,实现在ecology系统中查询其他异构系统数据库得示例和源码
文章链接:15后端开发连接外部数据源,实现在ecology系统中查询其他异构系统数据库得示例和源码...

弹幕逆向signature、a_bogus
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载&a…...
jEasyUI 使用标记创建树形菜单
jEasyUI 使用标记创建树形菜单 jEasyUI 是一个基于 jQuery 的用户界面插件库,它提供了一系列的组件,用于快速构建网页用户界面。其中,树形菜单(Tree Menu)是 jEasyUI 提供的一个非常实用的组件,它可以帮助…...
IT人的拖延——拖是因为不想离开“舒适区”?
人都是求“稳”的,在一个区域内呆了很久,也很舒适了,如果冒险离开进入未知的区域,万一结果不好怎么办?万一自己不适合怎么办?万一这个区域有着自己难以忍受的东西怎么办?这些对未知区域的恐惧感让我们在面对应该要做的事情时,不自觉地又拖延了起来。比如,我们在面临需…...

JUnit 5学习笔记
JUnit 5 学习笔记 1.JUnit5的改变2.JUnit5常用注解及测试2.1 DisplayName/Disabled/BeforeEach/AfterEach/BeforeAll/AfterAll2.2 Timeout2.3 RepeatedTest 3.断言3.1 简单断言3.2 数组断言3.3 组合断言3.4 异常断言3.5 超时断言3.6 快速失败 4.前置条件5.嵌套测试6.参数化测试…...

西格玛 ------ 第18个希腊字母学习
名词解释 在数学中,我们把∑作为求和符号使用,用小写字母σ,表示标准差。 ∑符号表示求和,读音为sigma,英文意思为Sum,Summation,汉语意思为“和”“总和”。 例1 公式使用说明:…...
【C语言】assert.h——断言
文章目录 主要内容调试和发布模式使用示例用法总结与注意事项 断言是一种用于在程序执行过程中进行调试的工具,能够帮助开发者验证程序的某些假设是否为真。如果断言失败,程序会终止,并输出一个错误消息,通常包含出错的文件名和行…...

HTML静态网页成品作业(HTML+CSS)—— 零食商城网页(1个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…...

虚函数机制-动态绑定的应用
虚函数使得程序在运行的时候根据指针指向对象的类型来确定调用哪个函数。 下图中:都为静态绑定。因为在编译器就确定了可以调用的函数 此时当基类指针指向派生类对象时,因为没有virtual关键字,所以在编译阶段就根据指针类型确定了要指向的函…...

MOS开关电路应用于降低静态功耗
本文主要讲述MOS开关电路的应用,过了好久突然想整理一下,有错误的地方请多多指出,在做电池类产品,需要控制产品的静态功耗,即使让芯片进入休眠状态,依旧功率很大,所以在电路中加一组软开关,防止…...

【每日刷题】Day65
【每日刷题】Day65 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 175. 计算二叉树的深度 - 力扣(LeetCode) 2. 序列找数_牛客题霸_牛客网…...

Oracle数据库连接并访问Microsoft SQL Server数据库
Oracle数据库连接并访问Microsoft SQL Server数据库 说明: 1.实际开发中,Oracle数据库与SQLServer数据库之间可能需要相互进行访问,方便业务数据抽取,编写视图及表等操作。 2.SQLServer访问Oracle数据库配置相对较为简单&…...
SQL 入门教程
SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库管理系统的编程语言。它被设计用来查询、更新、插入和删除数据库中的数据。SQL是一种标准化的语言,尽管在不同的数据库系统中可能存在一些差异&…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...

算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
FOPLP vs CoWoS
以下是 FOPLP(Fan-out panel-level packaging 扇出型面板级封装)与 CoWoS(Chip on Wafer on Substrate)两种先进封装技术的详细对比分析,涵盖技术原理、性能、成本、应用场景及市场趋势等维度: 一、技术原…...