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

OpenStack-飞腾arm上vnc连接无画面~快捷键解决

这确实是一个比较“冷门”但逻辑清晰的现象。你能通过 Ctrl + Alt + F1 恢复画面,说明 OpenStack 的 VNC 通道、网络和代理服务全都是正常的。

问题的核心在于 飞腾(ARM64)架构下 Linux 内核对“虚拟显示器”的输出策略 导致的。

为什么按了 Ctrl + Alt + F1 就会好?
TTY 激活机制: 许多针对 ARM 优化的 Linux 镜像在启动时,内核会将默认输出挂载到串口(Serial Console,即 ttyAMA0)或者特定的虚拟终端上。当你第一次打开 VNC 时,显示器(图形界面)可能正处于“休眠”或“未分配”状态,屏幕上显示 "Display output is not active"。

强制重绘(Redraw): 按下 Ctrl + Alt + F1 强制 Linux 内核切换虚拟终端。这个动作会触发 QEMU 的显卡驱动重新进行一次 帧缓冲(Framebuffer)初始化。既然你之前按回车有数据波动,说明指令传进去了,只是系统没“画”出来,切换 TTY 相当于手动点亮了显示器。

显卡驱动的“懒加载”: 在飞腾环境下,某些显卡驱动(如 virtio-gpu)在没有检测到物理显示器交互时,可能不会主动向 VNC 发送首个画面帧。

如何永久解决?(不用每次都按快捷键)
既然你已经确认了手动切换能行,可以通过以下优化让它自动“点亮”:

方法 A:修改镜像启动参数(推荐)
通过 SSH 登录虚拟机,修改 /etc/default/grub:

找到 GRUB_CMDLINE_LINUX。

添加或修改:console=tty0(确保它是第一个,或者至少存在)。

关键点:确保没有 nomodeset 这种禁用模式设置的参数。

更新并重启:sudo update-grub。

方法 B:修改 Nova 显卡配置
在计算节点的 /etc/nova/nova.conf 中,尝试将显卡类型固定为 virtio(它是目前 ARM64 下兼容性最好的):

Ini, TOML

[libvirt]

设置默认显卡模型

video_model = virtio
然后对镜像执行:

Bash

openstack image set --property hw_video_model=virtio <镜像ID>
方法 C:禁用屏幕保护/黑屏
如果是因为虚拟机系统内部自动关屏导致的,进入系统后执行:

Bash

禁用控制台自动关闭显示器

setterm -blank 0 -powersave off -cursor on
总结
你搭建的 OpenStack 本身没问题,这是 ARM 架构镜像与 QEMU 虚拟显卡之间的通信默认不够“主动” 造成的。

顺便问一下: 您现在的镜像里面是带图形界面(GUI)的 Ubuntu/Kylin,还是纯命令行模式?如果是纯命令行,建议直接在镜像里把 tty0 设为默认控制台。

http://www.zskr.cn/news/138101.html

相关文章:

  • 项目开发中常用的Vivado软件调试技巧(一)
  • 基于python旅游景点推荐系统 协同过滤推荐算法 数据分析+可视化 Django框架 数据仓库 Hadoop saprk(建议收藏)✅
  • PCAN多通道同步通信的Windows平台解决方案
  • 一文说清上位机在Modbus协议中的角色与作用
  • Arduino IDE设置中文的通俗解释与步骤
  • Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(七)
  • 使用libiconv-win-build在Windows平台下编译libiconv
  • 新手必看:Multisim14.0虚拟电源设置通俗解释
  • 驱动开发中WinDbg分析DMP蓝屏文件的完整指南
  • 基于minidump的系统崩溃分析:手把手教程
  • Packet Tracer汉化完整指南:适用于初学者的配置流程
  • 数据库性能优化实战:从工程架构到SQL深度调优的全面指南
  • 分布式搜索ES面试题精讲:实战案例
  • Babel中实现ES6函数扩展的深度剖析
  • 零基础也能懂的ESP32连接阿里云MQTT讲解
  • 一文说清Vivado下载在Artix-7上的实现方法
  • 工业自动化设备PCB布线可制造性设计:DFM实践指南
  • Flutter AR 开发:打造厘米级精度的室内导航应用
  • 项目超编与人力如何优化处理
  • GlcNAc beta(1-3)GalNAc-alpha-Thr—糖肽研究与治疗的关键糖基化结构单元 CAS号: 126740-76-9
  • 小程序springboot新能源汽车4S店试驾平台_i3v8mexl
  • 小程序springboot校园学生宿舍报修管理系统_th4x9yos
  • 小程序springboot校园智能垃圾分类回收预约平台_myez9h59
  • Gemini vs GPT-4 vs Claude免费额度对比
  • 幽冥大陆(六十) SmolVLM 本地部署 轻量 AI 方案—东方仙盟筑基期
  • Kafka 消费者的负载均衡在大数据中的实现
  • ModbusRTU报文结构完整指南(主从模式)
  • 一文说清Batocera游戏整合包的ROM目录结构与规范
  • NetActuate扩建丹佛数据中心提升混合云与灾备能力
  • LC.173 | 二叉搜索树迭代器 | 树 | 中序展开/栈模拟