下一页 上一页 目录

16. 更改视频模式

据我所知,有 6 种方法可以更改分辨率

1. 在编译时:更改行

        SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA
/usr/src/linux/Makefile 中。

1A. 编译后:使用 rdev -v - 这是一个糟糕的黑客技巧,但它确实存在。

2. 在启动时:在 lilo 配置文件中放入 vga=ask,lilo 会询问你想要的视频模式。一旦你知道了,放入 vga=你的偏好设置。

3. 在运行时:A. 使用 resizecons 命令。(这是一个围绕 VT_RESIZE ioctl 的非常原始的封装器。)B. 使用 SVGATextMode 命令。(这是一个围绕 VT_RESIZE ioctl 的不那么原始的封装器。)

4. 不是 “在控制台上”:在 dosemu 下,或者使用 svgalib 等,你可以更改硬件视频模式,而无需控制台驱动程序意识到这一点。有时这在设置 resizeconsSVGATextMode 时很有用:使用 dosemu 和一些 DOS 程序进入所需的视频模式,转储(例如从另一个 VT)所有视频硬件寄存器的内容,并在 resizeconsSVGATextMode 要求的初始化中使用它。在某些视频模式进入不可用状态的情况下,启动 dosemu,依靠 BIOS 设置视频模式,然后杀死 dosemu(使用 kill -9),是恢复正常的*最简单*方法。

16.1 resizecons 的使用说明

获取 svgalib 并编译程序 restoretextmode。在所有可能的视频模式下启动你的机器(在 lilo 配置文件中使用 vga=ask),并将视频硬件寄存器内容写入文件 CxR (C=列, R=行),例如,80x25, 132x44 等。将这些文件放在 /usr/lib/kbd/videomodes 中。现在 resizecons 132x44 将为你更改视频模式(并向所有需要知道此事的进程发送 SIGWINCH 信号,并在必要时加载另一个字体)。

目前,resizecons 只有在有足够的内存同时容纳新旧控制台时才会成功。


下一页 上一页 目录