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

Server 15 ,VMware ESXi 实战指南:Ubuntu 20.04.6 版本虚拟机静态 IP 配置、分辨率固定及远程访问实践

目录

前言
一、静态 IP 配置
1.1 前提准备
1.2 编辑 netplan 配置文件
1.3 配置静态 IP 参数
1.4 应用配置并验证
1.5 关键说明
二、虚拟机分辨率
2.1 ESXi 虚拟机默认分辨率
2.2 远程桌面软件影响
2.3 缺少图形驱动与工具支持
三、分辨率的解决方案
3.1 安装 Open VM Tools 工具
3.2 设置固定分辨率
3.3 固定 GRUB 分辨率参数
3.4 防止 ToDesk 回退分辨率
四、免密操作优化
4.1 配置免密 sudo 提升效率
4.2 网络问题注意事项
4.3 远程访问方式建议
五、本文总结
六、更多操作

前言

在虚拟化环境中,Ubuntu 系统凭借其稳定性和兼容性,广泛应用于 VMware ESXi 平台的服务器与桌面场景。然而用户在实际操作中常面临双重挑战:系统方面,依赖 DHCP 分配的 IP 地址易变动,导致远程连接频繁中断;另一方面,通过 ToDesk 等工具远程访问时,虚拟机分辨率常会被重置为 638x394 等低值,且断开连接后无法自动恢复,严重影响远程开发、桌面管理及测试工作的效率。

本文以 Ubuntu 20.04.6 为例,系统梳理 静态 IP 配置 方法与分辨率异常问题的解决方案,涵盖 网络参数固定驱动工具安装分辨率锁定 及 自动化优化 等核心操作,为用户打造稳定、高效的虚拟化使用环境。

一、静态 IP 配置

Ubuntu 20 04 6 版本服务器静态IP设置以下是 Ubuntu 20.04.6 服务器静态 IP 设置的总结步骤,核心目的是通过netplan工具手动指定 IP,确保重启后 IP 固定不变:

1.1 前提准备

  1. 确认网络接口名称:执行 ip addr 命令,记录接口名(如示例中的 ens33)。
  2. 获取网关地址:执行 ip route 命令,记录默认网关(如 192.168.110.1,以实际输出为准)。

1.2 编辑 netplan 配置文件

Ubuntu 20.04 默认使用netplan管理网络,配置文件位于/etc/netplan/目录下,文件名通常为00-installer-config.yaml(或类似名称,以实际为准)。

进入配置文件目录:/etc/netplan/,通过 ls /etc/netplan/ 查看实际配置文件名(通常为 00-installer-config.yaml 或类似)。用管理员权限编辑文件

sudo nano /etc/netplan/[配置文件名]    # 替换为实际文件名,如00-installer-config.yaml

例如:

sudo nano /etc/netplan/00-installer-config.yaml

1.3 配置静态 IP 参数

将原 DHCP 配置(dhcp4: yes)修改为静态 IP 配置(严格遵循 YAML 缩进,用空格而非 Tab):

network:ethernets:ens33:  # 替换为你的网络接口名(如ens33)dhcp4: no  # 关闭DHCPaddresses: [192.168.110.127/24]  # 静态IP及子网掩码(/24对应255.255.255.0)gateway4: 192.168.110.1  # 替换为步骤1中获取的网关nameservers:addresses: [114.114.114.114, 8.8.8.8]  # DNS服务器(可填网关或公共DNS)version: 2

1.4 应用配置并验证

  1. 保存文件(nano中按 Ctrl+O 保存,Ctrl+X 退出),执行以下命令使配置生效:

    bash

    sudo netplan apply
    
  2. 验证 IP 是否生效:

    bash

    ip addr show ens33  # 替换为你的接口名,查看是否显示192.168.110.127
    
  3. 测试网络连通性:

    bash

    ping 网关IP  # 如ping 192.168.110.1
    ping baidu.com  # 测试外网访问(依赖DNS配置)
    

1.5 关键说明

  1. 配置后重启系统 / 网络服务,IP 会保持固定(192.168.110.127),不再依赖 DHCP。
  2. 若配置错误导致断网,可通过 sudo netplan --debug apply 查看错误日志,或恢复原配置文件重新修改。
  3. 网关和 DNS 需与实际网络环境一致(如路由器 IP 通常为网关),否则可能无法联网。


二、虚拟机分辨率

虚拟机分辨率问题分析

2.1 ESXi 虚拟机默认分辨率

VMware ESXi 上,虚拟机的默认分辨率依赖于 虚拟显卡驱动

  • 未安装 VMware Tools/Open VM Tools 时,Ubuntu 使用 vesa 或 fbdev 驱动,分辨率非常低,通常 640x480 或 638x394。

  • 即使在 显示设置 中手动调整,高分辨率在断开远程会话后也会回退。

2.2 远程桌面软件影响

  1. ToDesk、TeamViewer 等软件会根据客户端窗口动态调整远程分辨率。

  2. 当客户端缩放或断开连接时,虚拟机可能回退到低分辨率。

  3. 这导致 远程桌面体验不一致,尤其是需要固定 1920x1080 的场景。

2.3 缺少图形驱动与工具支持

  1. Ubuntu 默认开源驱动无法充分利用 VMware 虚拟显卡

  2. 安装 open-vm-toolsopen-vm-tools-desktop 后,系统可支持 动态分辨率高分辨率选项

  3. 如果不安装该工具,分辨率调整可能无效或断开远程后无法恢复。


三、分辨率的解决方案

虚拟机分辨率解决方案

3.1 安装 Open VM Tools 工具

更新本地软件包列表

sudo apt update

安装VMware虚拟机增强工具

sudo apt install open-vm-tools open-vm-tools-desktop -y

重启系统,使新安装的VMware Tools生效

sudo reboot
  1. open-vm-tools:提供基础虚拟机功能

  2. open-vm-tools-desktop:启用桌面环境下动态分辨率

  3. 安装完成后,Ubuntu 可识别 虚拟显卡 并支持 1920x1080

注意事项

  • 安装时需确保网络畅通,如果国内镜像源不可达,可切换至官方源。

  • 安装后必须 重启虚拟机,否则工具不会生效。

3.2 设置固定分辨率

查看显示器名称和当前分辨率:

xrandr

添加 1920x1080 分辨率(如未显示):

cvt 1920 1080
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode default "1920x1080_60.00"
xrandr --output default --mode "1920x1080_60.00"

验证分辨率生效:

xrandr
  • 应显示 current 1920 x 1080

注意事项

  • 虚拟显示器名称可能不同,通常为 defaultVirtual1

  • 若断开 ToDesk 后回退,可结合 GRUB 固定分辨率或开机脚本恢复。

3.3 固定 GRUB 分辨率参数

编辑 grub 配置文件:

sudo nano /etc/default/grub

修改或添加:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=1920x1080@60"

更新 grub 

sudo update-grub

重启 grub 

sudo reboot

注意事项

  • 如果 nano 无法复制粘贴,可使用 sudoeditvi

  • 修改后必须执行 update-grub 并重启系统。

3.4 防止 ToDesk 回退分辨率

  • ToDesk 会自动调整分辨率,可在 ToDesk 设置 中关闭 自动调整远程分辨率

  • 也可在虚拟机上创建 开机脚本 自动恢复分辨率:

#!/bin/bash
xrandr --output default --mode 1920x1080
  • 保存为 /usr/local/bin/fix-resolution.sh

  • 创建 systemd 服务自动执行:

sudo nano /etc/systemd/system/fix-resolution.service

内容:

[Unit]
Description=Fix screen resolution at boot
After=graphical.target[Service]
Type=oneshot
ExecStart=/usr/local/bin/fix-resolution.sh[Install]
WantedBy=graphical.target

启用服务:

重新加载 systemd 配置,使修改后的服务文件生效

sudo systemctl daemon-reload

设置服务开机自启

sudo systemctl enable fix-resolution.service


四、免密操作优化

Ubuntu 系统服务,使用 sudo 执行命令时系统要求输入用户密码。这是 Linux 的安全机制,默认情况下普通用户执行需要管理员权限的命令都会要求输入密码。

Linux 的 sudo 默认策略:出于安全考虑,执行特权命令必须验证身份。Ubuntu 默认会记住密码 15 分钟(可以通过 sudo -v 延长),超过时间就会再次要求输入。如果你每次执行脚本或者命令都要输入密码,是因为:脚本里每条命令都需要 sudo / 当前用户没有配置免密 sudo 。解决方法,就是对某个用户免密 sudo(最常用)

4.1 配置免密 sudo 提升效率

编辑 sudoers 文件:

sudo visudo

添加:

njust1021 ALL=(ALL) NOPASSWD:ALL
  • 允许用户执行所有 sudo 命令 不再输入密码

  • 可选:仅针对特定命令免密,例如:

njust1021 ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/reboot

4.2 网络问题注意事项

  1. 执行 apt update 时,如出现 cn.archive.ubuntu.com 连接超时,可能是 IPv6 不可达 或镜像源问题。

  2. 可切换到官方源或国内镜像,如 阿里云镜像

  3. 网络问题不会影响 Open VM Tools 安装,但可能影响系统升级。

4.3 远程访问方式建议

  1. 对高分辨率要求严格的场景,推荐使用 ESXi Web 控制台或 VMware Remote Console

  2. ToDesk 可用于临时远程操作,结合 开机脚本 可自动恢复分辨率。

  3. 对开发和测试环境,建议配置 开机自动修复脚本,保证分辨率稳定。


五、本文总结

通过本文的分步操作,用户可在 VMware ESXi 平台的 Ubuntu 20.04.6 虚拟机上同时实现两大核心目标:

  1. 通过 netplan 工具 成功配置 静态 IP,彻底解决 IP 动态变动导致的远程连接不稳定问题,确保网关、DNS 参数与实际网络环境精准匹配;
  2. 通过安装 Open VM Tools 驱动、手动添加目标分辨率、配置 GRUB 启动参数 及创建 系统服务 等方式,彻底解决远程软件导致的分辨率重置与回退问题,实现 1920x1080 等常用分辨率的持久化。

此外,文中补充的 免密 sudo 配置网络镜像源选择 及 远程访问方式建议,进一步提升了操作效率与安全性。整套方案兼顾网络稳定性与显示效果,为远程办公、服务器运维及测试场景提供了可靠的技术支撑,有效优化了 Ubuntu 虚拟机在虚拟化环境中的使用体验。


六、更多操作

请看,Server 个人专栏

Server​​https://blog.csdn.net/weixin_65793170/category_12128287.html

http://www.dtcms.com/a/523526.html

相关文章:

  • 吴恩达深度学习课程一:神经网络和深度学习 第三周:浅层神经网络(三)
  • Copilot使用体验
  • uniapp video 加载完成后全屏播放
  • 从MongoDB到国产数据库:一场2TB电子证照系统的“平滑着陆”实践
  • 电子商务网站开发与建设试卷wordpress如何删除已安装主题
  • 内蒙古城乡建设网站免费详情页模板网站
  • Android EDLA开发认证说明和开发流程
  • DevExpress WPF中文教程:Data Grid - 如何使用虚拟源?(三)
  • UniApp缓存系统详解
  • 【LLM】用 FastAPI 搭建「OpenAI 兼容」DeepSeek-OCR 服务 + 简洁WebUI
  • 企业内部SRE/DevOps向精通Linux课程培训大纲
  • 《Effective Java》第13条:谨慎的覆盖clone
  • 第一章、React + TypeScript + Webpack项目构建
  • 前端:金丝雀部署(Canary Deployment)/ A、B部署 / 灰度部署
  • Spark微博舆情分析系统 情感分析 爬虫 Hadoop和Hive 贴吧数据 双平台 讲解视频 大数据 Hadoop ✅
  • 宁波公司网站建设价格dw建设手机网站
  • 长沙做网站价格有哪些网站可以做青旅义工
  • 怎么查看网站打开速度企业网站用vps还是虚拟主机
  • Vue3 模板引用——ref
  • XGBoost完整学习指南:从数据清洗到模型调参
  • 【深度学习新浪潮】AI Agent工具流产品:从原理到落地,打造智能协作新范式
  • 页面滚动加载更多
  • 除了provide和inject,Vue3还有哪些用于组件通信的方式?
  • React 表单与事件
  • AI代码开发宝库系列:FAISS向量数据库
  • 前端埋点学习
  • Spring AI与DeepSeek实战:打造企业级知识库+系统API调用
  • 秦皇岛市建设局网站关于装配式专家做运动特卖的网站
  • j2ee 建设简单网站设计婚纱网站
  • C++类和对象(中):const 成员函数与取地址运算符重载