当前位置: 首页 > news >正文

0. 云原生之基于乌班图远程开发

云原生专栏大纲

文章目录

  • 安装乌班图
  • 配置静态IP
  • 重置root密码
  • 开启root远程登录
  • 开启远程SSH访问
  • 安装docker
  • 安装docker-compose
  • 安装Edge浏览器
  • 安装搜狗输入法
  • 安装TeamViewer
  • 安装虚拟显示器
  • 安装JDK
  • 安装maven
  • 安装vscode
    • vscode插件安装
    • VSCode配置maven、git、jdk、自动报错
    • vscode快捷键

使用TeamViewer工具远程乌班图开发,优势如下

  1. 家里电脑部署好环境后,即使换公司也不用在麻烦安装开发环境
  2. 有助于个人对linux系统的掌握,开发和各中间都可在乌班图上操作

安装乌班图

  1. 准备启动盘
  2. 准备乌班图镜像
  3. 引导启动,按图形化界面操作安装
  4. 此处只重点说下分区配置:

小编两块磁盘250G和1T,分配如下

  1. 引导分区EFI或boot:建议500M
  2. 交换分区swap:建议不配置(也可内存情况分配)
  3. 根目录/:根据实际情况分配(250G)
  4. 家目录/home:建议分配大点(1T)

配置静态IP

image.png

重置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

  1. 先卸载乌班图自带的
sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
  1. 添加Docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加Docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  1. 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 配置用户组(可选)

默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:

sudo usermod -aG docker $USER
  1. 配置阿里云镜像源
sudo nano /etc/docker/daemon.json# 添加下述内容
{"registry-mirrors": ["https://<your-alibaba-id>.mirror.aliyuncs.com"]
}
  1. 验证安装
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

  1. 下载并放入指定位置
# 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
  1. 修改权限
chmod +x /usr/local/bin/docker-compose
  1. 验证
docker-compose --version

安装Edge浏览器

  1. Dev渠道:官方下载网址 Microsoft Edge Insider Channels
  2. 安装
sudo dpkg -i “xxx.deb”

安装搜狗输入法

搜狗输入法linux-安装指导

安装TeamViewer

  1. 下载:TeamViewer官网 【参考】ubuntu下安装Teamviewer及使用
  2. 安装
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
  1. 注册TeamViewer账号
  2. TeamViewer乌班图配置入口

在这里插入图片描述

  1. 安全配置

image.png

  1. 高级配置:配置密码和完全访问

image.png

  1. 配置乌班图息屏设置

image.png


安装虚拟显示器

若主机未连接显示器,且未安装虚拟显示器,远程桌面闪烁操作不了

  1. 安装虚拟显示器
sudo apt-get install  xserver-xorg-core-hwe-18.04
sudo apt-get install  xserver-xorg-video-dummy
  1. 配置分辨率
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
  1. 重启
reboot
  1. 卸载
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

  1. 配置环境变量
export PATH=/path/to/apache-maven-3.8.3/bin:$PATH
  1. 使用环境变量生效
source ~/.bashrc
  1. 验证
mvn -version

安装vscode

image.png

vscode插件安装

  1. 汉化

  1. java环境插件:Extension Pack for Java

  1. springboot环境插件:Spring Boot Extension Pack


VSCode配置maven、git、jdk、自动报错

打开设置,搜索maven,配置settings.json配置文件
image.png

{# "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 +-

自动生成返回值

  1. 在方法定义中,将光标放在方法名称后面的括号内。
  2. 按下以下快捷键组合:
    • Windows/Linux: Ctrl+Shift+P
    • macOS: Cmd+Shift+P
  3. 在出现的命令面板中,输入 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. 关键词 关键词&#xff1a; C 字符串处理 分割字符串 连接字符串 跨平台 应用场景&#xff1a; 有些重要信息需要保密&#xff0c;比如手机号、邮箱等&#xff0c;如何在不影响用户阅读的情况下…...

【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文档中特定文本内容

工作任务&#xff1a;PDF文档中有资料来源这一行&#xff0c;比如&#xff1a; 资料来源&#xff1a;moomoo tech、The Information、Bloomberg、Reuters&#xff0c;浙商证券研究所 数据来源&#xff1a;CSDN、浙商证券研究所 数据来源&#xff1a;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作为缓存存储时&#xff0c;合理配置RedisTemplate是确保数据正确存储和检索的关键。本文将通过对比分析一段初始存在问题的Redis配置代码及其修正后的版本&#xff0c;探讨如何正确处理Redis键前缀&#xff0c;以避免清理缓存时遇到的问题。…...

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

文章链接&#xff1a;15后端开发连接外部数据源&#xff0c;实现在ecology系统中查询其他异构系统数据库得示例和源码...

弹幕逆向signature、a_bogus

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未经许可禁止转载&a…...

jEasyUI 使用标记创建树形菜单

jEasyUI 使用标记创建树形菜单 jEasyUI 是一个基于 jQuery 的用户界面插件库&#xff0c;它提供了一系列的组件&#xff0c;用于快速构建网页用户界面。其中&#xff0c;树形菜单&#xff08;Tree Menu&#xff09;是 jEasyUI 提供的一个非常实用的组件&#xff0c;它可以帮助…...

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个希腊字母学习

名词解释 在数学中&#xff0c;我们把∑作为求和符号使用&#xff0c;用小写字母σ&#xff0c;表示标准差。 ∑符号表示求和&#xff0c;读音为sigma&#xff0c;英文意思为Sum&#xff0c;Summation&#xff0c;汉语意思为“和”“总和”。 例1 公式使用说明&#xff1a;…...

【C语言】assert.h——断言

文章目录 主要内容调试和发布模式使用示例用法总结与注意事项 断言是一种用于在程序执行过程中进行调试的工具&#xff0c;能够帮助开发者验证程序的某些假设是否为真。如果断言失败&#xff0c;程序会终止&#xff0c;并输出一个错误消息&#xff0c;通常包含出错的文件名和行…...

HTML静态网页成品作业(HTML+CSS)—— 零食商城网页(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…...

虚函数机制-动态绑定的应用

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

MOS开关电路应用于降低静态功耗

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

【每日刷题】Day65

【每日刷题】Day65 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. LCR 175. 计算二叉树的深度 - 力扣&#xff08;LeetCode&#xff09; 2. 序列找数_牛客题霸_牛客网…...

Oracle数据库连接并访问Microsoft SQL Server数据库

Oracle数据库连接并访问Microsoft SQL Server数据库 说明&#xff1a;  1.实际开发中&#xff0c;Oracle数据库与SQLServer数据库之间可能需要相互进行访问&#xff0c;方便业务数据抽取&#xff0c;编写视图及表等操作。  2.SQLServer访问Oracle数据库配置相对较为简单&…...

SQL 入门教程

SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是一种用于管理和操作关系数据库管理系统的编程语言。它被设计用来查询、更新、插入和删除数据库中的数据。SQL是一种标准化的语言&#xff0c;尽管在不同的数据库系统中可能存在一些差异&…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...