当前位置: 首页 > 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;尽管在不同的数据库系统中可能存在一些差异&…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...

Python[数据结构及算法 --- 栈]

一.栈的概念 在 Python 中&#xff0c;栈&#xff08;Stack&#xff09;是一种 “ 后进先出&#xff08;LIFO&#xff09;”的数据结构&#xff0c;仅允许在栈顶进行插入&#xff08;push&#xff09;和删除&#xff08;pop&#xff09;操作。 二.栈的抽象数据类型 1.抽象数…...