在 Ubuntu Server 13.04 中更改终端分辨率的正确方法?

Dav*_*lie 25 server command-line console 13.04 display-resolution

我在仅以命令行模式(即没有 GUI)运行的 VMware VM 中运行 Ubuntu Server 13.04。它默认为640x480屏幕分辨率,但我想将其增加到800x6001024x768

在行/etc/default/grub,我已经改变包括:

GRUB_CMDLINE_LINUX_DEFAULT=""  
GRUB_CMDLINE_LINUX="consoleblank=0"  
GRUB_GFXMODE=800x600  
Run Code Online (Sandbox Code Playgroud)

我已经尝试了许多我在网上看到的建议,上述三行的变体,并且许多只是用空白屏幕挂起重启,强制强制关闭虚拟机......此时我备份了一个 VMware 快照。

跑步sudo hwinfo --framebuffer给了我很多信息:

    Model: "Vmware virtual machine"  
    Revision: "2.0"  
    Memory Size: 64 MB  
Lines for 800x600 include:  
    Mode 0x0303: 800x600 (+800), 8 bits  
    Mode 0x0314: 800x600 (+1600), 16 bits  
    Mode 0x0324: 800x600 (+800), 8 bits  
    Mode 0x0332: 800x600 (+1600), 16 bits  
    Mode 0x0340: 800x600 (+3200), 24 bits  
Run Code Online (Sandbox Code Playgroud)

我排除了所有其他分辨率,因为我目前只对 800x600 感兴趣。显然 Ubuntu Server 13.04 使用 grub2,那么我该如何实现呢?

Dav*_*lie 21

我解决了它......我所要做的就是编辑 /etc/default/grub :

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=789"
Run Code Online (Sandbox Code Playgroud)

我跑了sudo update-grubsudo reboot它坚持在一个更大尺寸的控制台模式......正是我想要的。

  • 你从哪里得到 789 的值?我认为这可能是问题中模式的十进制表示,但是“789 == 0x315”不在您提供的列表中。 (2认同)

hma*_*yag 13

阅读如何提高控制台模式分辨率?第一个答案是您正在寻找的内容。需要调整 grub 参数。

编辑:我给你的链接中的答案似乎有遗漏。您还必须将以下行添加到 grub.conf:

GRUB_GFXPAYLOAD_LINUX=keep
Run Code Online (Sandbox Code Playgroud)

如果没有这个,系统会在启动后下降到默认的较低分辨率,最终登录屏幕的分辨率较低。

还要记住(我不记得我在哪里读到的)“vga=”参数从 grub 中被弃用,所以除非你想在 grub 的未来更新后再次遇到这个问题,否则我建议你使用这个方法。


小智 13

我遇到了同样的问题,我对您提供的解决方案进行了一些小的更改并且它起作用了,但是在控制台显示方面您必须记住一些限制:

  1. VGA 模式的分辨率最大不能超过 800x600,所以如果你想要 1024x768 的分辨率,你应该使用 XVGA 而不是简单的 VGA。
  2. 您可以应用到控制台显示的分辨率取决于您的图形卡功能,这意味着如果您的卡的最大分辨率为 800x600,您不能强制它显示 1024x768。

我最终得到了对我有用的解决方案:

GRUB_CMDLINE_LINUX_DEFAULT="splash xvga=1024x768x24" 
GRUB_GFXMODE=1024x768x24
Run Code Online (Sandbox Code Playgroud)

x24 ”是可选的,因为它不做任何改变,添加到这里你只能使用第二行,它会起作用。

祝你今天过得愉快


gun*_*ert 6

如果您没有成功(或者您认为不值得麻烦),请使用更简单的解决方案通过ssh访问您的 VM - 终端窗口中的显示大小没有限制:-)

ssh username@ip-address 将打开一个会话。

  • 好主意......除了我尝试访问控制台的唯一原因是因为我已经破坏了网络并且无法SSH...... (2认同)