升级Ubuntu 17.10.1后Octave无法生成绘图问题求助
解决Ubuntu 17.10.1升级后Octave无法弹出绘图GUI的问题
从你命令行输出的字符版阶跃响应能看出来,Octave默认切换到了纯文本绘图模式,没有调用图形界面终端——这是Ubuntu升级后常见的绘图后端兼容性问题,给你几个经过验证的解决办法:
1. 切换到Qt图形后端
Octave的Qt后端对新Ubuntu版本兼容性更好,操作步骤如下:
- 打开Octave,输入命令查看当前使用的绘图后端:
graphics_toolkit - 如果显示是
gnuplot,执行命令切换到Qt后端:graphics_toolkit('qt') - 重新运行你的阶跃响应代码
step(gs),检查是否弹出图形窗口。 - 如果生效,设置默认后端:编辑Octave配置文件
~/.octaverc,添加一行代码:
这样每次启动Octave都会自动加载Qt后端。graphics_toolkit('qt');
2. 修复Gnuplot的X11输出配置
如果你更习惯使用Gnuplot后端,可能是X11终端的配置或依赖出了问题:
- 在Octave中手动指定Gnuplot终端为X11:
setenv('GNUTERM','x11') - 若仍无效,先单独测试Gnuplot的图形输出:
打开系统终端,输入:
接着在Gnuplot命令行输入:gnuplot
如果没有弹出图形窗口,说明X11相关依赖缺失,执行以下命令安装:set terminal x11; plot sin(x)sudo apt install libx11-dev gnuplot-x11
3. 切换回Xorg显示服务器
Ubuntu 17.10默认使用Wayland显示服务器,部分X11应用会出现兼容性问题:
- 注销当前用户,在登录界面左下角点击齿轮图标,选择Ubuntu on Xorg登录。
- 重新打开Octave测试绘图功能。
4. 彻底重装Octave及依赖
系统升级可能破坏了Octave的依赖链,试试彻底重装解决:
sudo apt purge octave octave-control sudo apt autoremove sudo apt install octave octave-control
重装完成后加载control包,再次运行你的阶跃响应代码测试。
内容的提问来源于stack exchange,提问作者Gabriel Negri
相关产品推荐
相关产品推荐

