You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Ubuntu 22.04 LTS后Emacs出现图形显示异常问题

升级至Ubuntu 22.04 LTS后Emacs出现图形显示异常问题

我完全理解你在Windows 10主机的VirtualBox虚拟机里,升级到Ubuntu 22.04 LTS后遇到的Emacs图形显示故障——黑底上只有彩色乱码,看不到正常文本,这确实挺闹心的。而且不管是从18.04 LTS经两次升级到22.04,还是直接全新安装22.04(已经设置128MB显存和3D硬件支持),这个问题都存在。之前18.04上的Emacs 25完全正常,你试过卸载重装不同版本(27、29)、不同安装方式(命令行、软件中心、Snap、普通包)都没解决,其他软件却一切正常,这种针对性的异常确实让人头疼。

针对这个问题,我给你几个实用的排查和解决方向:

  • 先确认Emacs核心功能是否正常:
    尝试用终端模式启动Emacs,执行命令:emacs -nw。如果终端里能正常显示和操作,说明只是图形渲染层面的问题,Emacs本身功能没问题。

  • 调整VirtualBox虚拟机的显示相关设置:

    • 暂时关闭虚拟机的3D硬件加速功能,重启虚拟机后再打开Emacs试试——有时候新系统的图形栈和VirtualBox的3D加速兼容性不佳;
    • 确保VirtualBox的Guest Additions已经更新到最新版本,旧版本的Guest Additions可能和Ubuntu 22.04的图形驱动不兼容,更新后能优化虚拟机的显示性能和兼容性。
  • 修改Emacs的图形渲染配置:

    • 启动Emacs时指定禁用GTK门户,试试命令:GTK_USE_PORTAL=0 emacs;
    • 如果系统里有GTK2依赖,可以强制Emacs使用GTK2渲染后端,命令:emacs -x-toolkit=gtk2;
    • 也可以在Emacs的配置文件(~/.emacs或~/.emacs.d/init.el)中添加基础的窗口配置,避免渲染异常:
      ;; 禁用启动界面,设置默认字体
      (setq inhibit-startup-screen t)
      (set-frame-font "DejaVu Sans Mono-10" nil t)
      ;; 关闭工具栏减少渲染负担
      (tool-bar-mode -1)
      
  • 检查并修复系统图形相关依赖:
    执行以下命令更新系统并安装缺失的图形依赖包,确保Emacs的图形渲染有足够的支持:

    sudo apt update && sudo apt install --reinstall libgtk-3-bin libx11-dev libxrender1
    

补充:你提到的故障窗口表现为黑底彩色乱码,这通常是图形渲染后端和虚拟机显示环境不匹配导致的,上面的方法应该能覆盖大部分可能的原因。

备注:内容来源于stack exchange,提问作者Holger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:23:17