【Linux】Ubuntu:安装系统后配置
hostname:更改主机名
-
打开终端。
-
使用
hostnamectl
命令更改主机名。sudo hostnamectl set-hostname 新的主机名
-
你可以使用
hostnamectl
命令来验证更改是否成功:
hostnamectl
Chrome:更换默认浏览器
以下是从 Ubuntu 中移除预装的 Snap 版 Firefox 并安装 Google Chrome 的步骤:
移除 Snap 版 Firefox
-
检查当前是否安装了 Snap 版 Firefox:
snap list
-
如果列表中有
firefox
,使用以下命令卸载:sudo snap remove firefox
Snap 是一种基于容器的应用分发格式,预装的 Firefox 是 Snap 版本,可能会有性能或兼容性问题,移除后可以自由选择其他浏览器。
添加 Chrome 的 APT 源
-
下载并添加 Google 的官方密钥:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
-
添加 Chrome 的 APT 源到系统中:
echo "deb [signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
-
更新软件包索引:
sudo apt update
安装 Google Chrome
使用以下命令安装 Google Chrome:
sudo apt install google-chrome-stable
Google Chrome 使用官方的 .deb
包提供稳定版本,同时通过 APT 源进行自动更新,确保浏览器始终是最新的安全版本。
设置 Chrome 为默认浏览器
打开 Chrome 后,会提示是否设置为默认浏览器。也可以手动运行以下命令:
xdg-settings set default-web-browser google-chrome.desktop
GNOME:安装扩展
通过 GNOME 插件和扩展,可以为桌面环境增加更多功能和美化效果。以下是使用插件的简要步骤:
安装必要工具
首先,安装管理 GNOME 插件的相关工具:
sudo apt install gnome-shell-extensions chrome-gnome-shell gnome-tweaks
- gnome-shell-extensions:提供官方的 GNOME 扩展包。
- chrome-gnome-shell:允许在 Web 浏览器中安装和管理扩展。
- gnome-tweaks:用于调整 GNOME 的外观和行为。
访问扩展网站
打开 GNOME Extensions 官方网站。
首次访问时,系统会提示安装浏览器插件和 GNOME Shell Connector。按提示完成安装后,刷新页面即可。
安装扩展
在扩展网站中,选择需要的扩展进行安装。以下是一些推荐的插件:
- **Vitals:**实时显示 CPU 使用率、内存占用、网络速度、温度、风扇状态等信息。
- Espresso:屏幕常亮:通过点击图标让电脑屏幕保持常亮,适合长时间运行任务时使用。
自定义主题
-
下载 User Themes 拓展。
-
下载主题:访问 GNOME-look 下载喜欢的主题(通常为
.zip
文件)。 -
解压到主题目录:
- 用户目录:
~/.themes/
- 系统目录:
/usr/share/themes/
(需管理员权限)
如果目录不存在,可以创建它:
mkdir -p ~/.themes
- 用户目录:
-
应用主题设置:
使用 GNOME Tweaks 或运行以下命令切换主题(以
Ant
为例):gsettings set org.gnome.desktop.interface gtk-theme "Ant" gsettings set org.gnome.desktop.wm.preferences theme "Ant"
Alacritty:终端模拟器
以下是安装和配置 Alacritty 终端模拟器的完整步骤,涵盖字体设置和基本美化。
安装 Alacritty
-
更新软件包索引并安装 Alacritty:
sudo apt update sudo apt install alacritty
-
验证安装是否成功:
alacritty --version
设置 Alacritty 为默认终端
-
使用
update-alternatives
将 Alacritty 添加为候选终端:sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/alacritty 50
-
配置 Alacritty 为默认终端:
sudo update-alternatives --config x-terminal-emulator
-
测试默认终端是否正确:
x-terminal-emulator
安装和配置字体
-
下载 Ubuntu Mono Nerd Font Mono:
该字体可以通过 Nerd Fonts 项目获取。我们使用以下四种字体文件:
├── UbuntuMonoNerdFontMono-BoldItalic.ttf ├── UbuntuMonoNerdFontMono-Bold.ttf ├── UbuntuMonoNerdFontMono-Italic.ttf └── UbuntuMonoNerdFontMono-Regular.ttf
-
将字体文件复制到用户字体目录:
mkdir -p ~/.fonts cp ~/path/to/fonts/*.ttf ~/.fonts/
-
更新字体缓存:
fc-cache -fv
-
验证字体安装是否成功:
fc-list | grep "UbuntuMonoNerdFontMono"
如果看到字体名称(如 “Ubuntu Mono Nerd Font Mono Regular”),说明字体已成功安装。
配置 Alacritty
-
创建 Alacritty 配置文件:
mkdir -p ~/.config/alacritty touch ~/.config/alacritty/alacritty.toml
-
编辑配置文件:
vim ~/.config/alacritty/alacritty.toml
-
添加以下内容:
[window] # 窗口大小:164 列 x 44 行 dimensions = { columns = 164, lines = 44 } # 窗口透明度 opacity = 0.9[font] # 字体设置 normal = { family = "Ubuntu Mono Nerd Font Mono", style = "Regular" } bold = { family = "Ubuntu Mono Nerd Font Mono", style = "Bold" } italic = { family = "Ubuntu Mono Nerd Font Mono", style = "Italic" } bold_italic = { family = "Ubuntu Mono Nerd Font Mono", style = "Bold Italic" } size = 15.0
-
保存并退出。
验证配置
重新启动 Alacritty 以应用新配置:
alacritty
确认窗口大小、透明度、字体样式等设置是否正确。
社区主题支持
-
克隆社区主题仓库:
mkdir -p ~/.config/alacritty/themes git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
-
使用社区主题:
编辑配置文件添加主题导入路径,例如:
import = ["~/.config/alacritty/themes/themes/onedark.toml"]
SSH:远程连接
安装 OpenSSH 服务器
首先,确保你已经安装了 OpenSSH 服务器。如果尚未安装,可以通过以下命令进行安装:
sudo apt update
sudo apt install openssh-server
启动 SSH 服务
安装完成后,启动 SSH 服务并设置其开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
检查 SSH 服务状态
确认 SSH 服务正在运行:
sudo systemctl status ssh
你应该看到服务状态为“active (running)”。如果没有,请检查相关日志来找出问题。
配置防火墙允许远程连接
如果启用了防火墙,确保打开 22 端口(默认 SSH 端口):
sudo ufw allow 22
sudo ufw reload
测试 SSH 连接
从另一台计算机尝试连接到你的 Ubuntu 系统,使用以下命令:
ssh username@host_ip_address
XRDP:远程桌面连接
安装 XRDP
-
更新系统软件包索引:
sudo apt update
-
安装 XRDP 服务:
sudo apt install xrdp -y
-
启动并设置 XRDP 开机自启:
sudo systemctl enable --now xrdp
-
验证 XRDP 是否已启动:
sudo systemctl status xrdp
配置 XRDP 使用正确的桌面环境
-
将当前用户加入 XRDP 用户组:
sudo adduser $USER ssl-cert
-
配置 XRDP 会话使用 Xorg:
打开或创建
~/.xsession
文件:echo "gnome-session" > ~/.xsession
-
确保 XRDP 使用 Xorg 而不是 Wayland:
编辑配置文件
/etc/xrdp/xrdp.ini
:sudo vi /etc/xrdp/xrdp.ini
在
[xorg]
部分确保以下设置存在:[xorg] name=sesman-Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1
-
禁用 Wayland:
编辑
/etc/gdm3/custom.conf
:sudo vi /etc/gdm3/custom.conf
确保取消以下行的注释或添加新行:
WaylandEnable=false
-
重启 XRDP 服务:
sudo systemctl restart xrdp
配置防火墙允许远程连接
如果启用了防火墙,确保打开 3389 端口(默认 XRDP 端口):
sudo ufw allow 3389
sudo ufw reload
远程连接测试
-
使用 Windows 或其他客户端工具(如 Remote Desktop Connection):
- 输入服务器的 IP 地址。
- 使用已存在的用户凭据登录。
-
如果连接不成功:
-
确认 XRDP 服务正在运行:
sudo systemctl status xrdp
-
检查防火墙规则:
sudo ufw status
-
Docker:容器部署
-
安装 Docker:
使用官方脚本快速安装 Docker。curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh
-
(可选)验证安装:
docker --version
-
测试 Docker 是否正常运行:
sudo docker run hello-world
Miniconda:Python版本控制
-
下载并安装 Miniconda:
mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
-
删除安装脚本(保持目录清洁):
rm ~/miniconda3/miniconda.sh
-
添加 Miniconda 到环境变量:
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
-
测试 Miniconda 是否可用:
conda --version
CodeServer:云IDE
-
使用官方脚本快速安装 CodeServer:
curl -fsSL https://code-server.dev/install.sh | sh
-
启动 CodeServer:
code-server
-
默认情况下,CodeServer 运行在本地
127.0.0.1:8080
上。
配置文件位于~/.config/code-server/config.yaml
。可以根据需要查看密码、修改监听地址或端口。 -
如果需要系统服务启动 CodeServer:
sudo systemctl enable --now code-server@$USER
相关文章:
【Linux】Ubuntu:安装系统后配置
hostname:更改主机名 打开终端。 使用hostnamectl命令更改主机名。 sudo hostnamectl set-hostname 新的主机名你可以使用hostnamectl 命令来验证更改是否成功: hostnamectlChrome:更换默认浏览器 以下是从 Ubuntu 中移除预装的 Snap 版 Fi…...

springboot-查看版本和版本所需JDK
文章目录 访问spring管网查看springboot 项目查看当前版本查看版本所需JDK 访问spring管网 https://spring.io/ 查看springboot 项目 查看当前版本 点击调整到参考文档中去… 查看版本所需JDK...

fuxa搭建与使用(web组态)
1. 安装Node.js -> npm安装 参考网址:https://blog.csdn.net/WHF__/article/details/129362462 一、安装运行 C:WINDOWSsystem32>node -v v20.17.0 C:WINDOWSsystem32>npm -v 10.8.2 二、环境配置 在安装路径(D:Program_Files odejs&#x…...

中间件--MongoDB部署及初始化js脚本(docker部署,docker-entrypoint-initdb.d,数据迁移,自动化部署)
一、概述 MongoDB是一种常见的Nosql数据库(非关系型数据库),以文档(Document)的形式存储数据。是非关系型数据库中最像关系型数据库的一种。本篇主要介绍下部署和数据迁移。 在 MongoDB 官方镜像部署介绍中ÿ…...

C语言期末考试——常见考题(模拟考)
目录 一、填空题(每空2分,共 20 分) 二、选择题(每题2分,共26分) 三、编程题(第1题6分,其余题目每题10分) !!!需要答案的可以私信&…...

流量过滤与路径转发控制
1,策略路由 PBR基本概念: 策略路由,使网络设备不仅能够基于报文的目的IP地址进行数据转发,也能基于其他元素进行转发,比如源IP地址、MAC地址 可以使用ACL匹配特定的报文,针对该ACL进行PBR部署 PRB策略的…...

Ungoogled Chromium127编译指南 Windows篇 - 获取源码(七)
1. 引言 在完成所有必要工具的安装和配置后,我们进入了Ungoogled Chromium编译过程的第一个关键阶段:获取源代码。本文将详细介绍如何正确获取和准备Ungoogled Chromium的源代码,为后续的编译工作打下基础。 2. 准备工作 2.1 环境检查 在…...
k8s 之 StatefulSet
深入理解StatefulSet(一):拓扑状态 k8s有状态与无状态的区别 无状态服务:deployment Deployment被设计用来管理无状态服务的pod,每个pod完全一致.什么意思呢? 无状态服务内的多个Pod创建的顺序是没有顺序的. 无状态服务内的多…...

iPhone 17 Air基本确认,3个大动作
近段时间,果粉圈都在讨论一个尚未发布的新品:iPhone 17 Air,苹果又要来整新活了。 从供应链消息来看,iPhone 17 Air本质上是Plus的替代品,主要是在维持“大屏”这一卖点的同时,增加了“轻薄”属性ÿ…...

鸿蒙实现应用通知
目录: 1、应用通知的表现形式2、应用通知消息的实现1、发布普通文本类型通知2、发布进度类型通知3、更新通知4、移除通知 3、设置通知道通展示不同形式通知4、设置通知组5、为通知添加行为意图1、导入模块2、创建WantAgentInfo信息3、创建WantAgent对象4、构造Notif…...

ElasticSearch常见的索引_集群的备份与恢复方案
方案一:使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移,包括全量、增量备份和恢复。 方案二:通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移,或者跨集…...

vue图片之放大、缩小、1:1、刷新、左切换、全屏、右切换、左旋咋、右旋转、x轴翻转、y轴翻转
先上效果,代码在下面 <template><!-- 图片列表 --><div class"image-list"><img:src"imageSrc"v-for"(imageSrc, index) in images":key"index"click"openImage(index)"error"handleI…...

Docker多架构镜像构建踩坑记
背景 公司为了做信创项目的亮点,需要将现有的一套在X86上运行的应用系统迁移到ARM服务器上运行,整个项目通过后端Java,前端VUEJS开发通过CICD做成Docker镜像在K8S里面运行。但是当前的CICD产品不支持ARM的镜像构建,于是只能手工构…...
“pinn是无网格的”???
“pinn是无网格的”??? PINN,即物理信息神经网络(Physics-Informed Neural Networks),是一种将物理定律作为先验知识整合到神经网络训练过程中的方法。它之所以被称为“无网格”的,…...

换一个ip地址是什么意思?换一个网络ip地址会变吗
在网络的世界里,IP地址如同每台设备的“身份证”,是确保网络信息能够准确传输到指定目标的关键。然而,在某些情况下,我们可能需要更换这个“身份证”,也就是更换IP地址。那么,换一个IP地址究竟是什么意思&a…...

JavaWeb学习--cookie和session,实现登录的记住我和验证码功能
目录 (一)Cookie概述 1.什么叫Cookie 2.Cookie规范 3.Cookie的覆盖 4.cookie的最大存活时间 (Cookie的生命) (二) Cookie的API 1.创建Cookie:new 构造方法 2.保存到客户端浏…...

深度学习:基于MindSpore的极简风大模型微调
什么是PEFT?What is PEFT? PEFT(Parameter Efficient Fine-Tuning)是一系列让大规模预训练模型高效适应于新任务或新数据集的技术。 PEFT在保持大部分模型权重冻结,只修改或添加一小部份参数。这种方法极大得减少了计算量和存储开销&#x…...
【LeetCode力扣热题100】【LeetCode 1】两数之和
方法一:暴力循环 两层循环,遍历所有的组合,直到满足条件,返回结果。 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {for(int i0; i<nums.size()-1 ;i){for(int j i1; j<…...

定制链接类名,两类跳转传参,vue路由重定向,404,模式设置
router-link-exact-active 和 router -link-active两个类名都太长,可以在router路由对象中定制进行简化 // index.js// 路由的使用步骤 52 // 1.下载 v3.6.5 // 2.引入 // 3.安装注册Vue.use(Vue插件) // 4.创建路由对象 // 5.注入到new Vue中,建立关联…...

【ArcGIS微课1000例】0135:自动生成标识码(长度不变,前面自动加0)
文章目录 一、加载实验数据二、BSM计算方法一、加载实验数据 加载专栏《ArcGIS微课实验1000例(附数据)》配套数据中0135.rar中的建筑物数据,如下图所示: 打开属性表,BSM为数据库中要求的字段:以TD_T 1066-2021《不动产登记数据库标准》为例: 计算出来的BSM如下图: 二、B…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

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

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
HTML中各种标签的作用
一、HTML文件主要标签结构及说明 1. <!DOCTYPE html> 作用:声明文档类型,告知浏览器这是 HTML5 文档。 必须:是。 2. <html lang“zh”>. </html> 作用:包裹整个网页内容,lang"z…...
第22节 Node.js JXcore 打包
Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...

C# WPF 左右布局实现学习笔记(1)
开发流程视频: https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码: GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用(.NET Framework) 2.…...

代理服务器-LVS的3种模式与调度算法
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:…...