启动时旋转控制台 (Debian)

启动时旋转控制台 (Debian)

我想将我的控制台(不是 X Server)旋转 90 度(顺时针)。

以下似乎对我有用:echo 1 > /sys/class/graphics/fbcon/rotate;但是,我更喜欢在 Grub 中使用内核选项,而不是在/etc/rc.local脚本中包含上述内容。

fbcon 文档概述了可以传递给内核的以下选项:fbcon=rotate:<n>。不幸的是,当我像这样修改/etc/default/grub并修改该行时:GRUB_CMDLINE_LINUX

GRUB_CMDLINE_LINUX="fbcon=rotate_all:1"

...这不起作用。我也在update-grub重启之前运行过。

我也尝试过这个:

GRUB_CMDLINE_LINUX="fbconsole=rotate_all:1"

依然没有。有什么想法吗?

答案1

想通了这一点。你可能需要添加video=efifb以确保使用帧缓冲区控制台:

GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"

编辑: 这埃菲布驱动程序仅针对 EFI 固件设计,尤其是基于 Intel 的 Apple 计算机。然而,正如我发现的,它也适用于非苹果电脑。我在 Linux 系统上运行专有的 nVidia 驱动程序,并且 efifb 驱动程序工作得很好。我认为它对我有用,因为我使用 nVidia 驱动程序,并且“本机”fbdev 驱动程序与它们冲突。

老实说,我不完全理解为什么 efifb 驱动程序可以使事情正常工作,但如果其他人这样做(或者如果您可以使用安装了 nVidia 驱动程序的另一个帧缓冲区驱动程序使事情正常工作),请在下面发表评论。谢谢!

答案2

文档与您在配置文件中编写的内容之间有一个微小但重要的区别:

...可以传递给内核的以下选项:fbcon=旋转:<n>

虽然你已经写了

FBCON=全部旋转:1

rotate_all不是有效的关键字。如果省略后缀_all,它应该可以工作:

GRUB_CMDLINE_LINUX="fbcon=rotate:1"

答案3

写下这个答案,希望对2023年的人们有所帮助。

GRUB_CMDLINE_LINUX="fbconsole=rotate:1"

是在内核命令行上运行的。

作为运行内核 6.1.6 和最新版本 grub 的 Archlinux 用户,我可以确认上述命令行还确保所有虚拟终端顺时针旋转。

根据记录,“rotate_all”是不是在内核命令行上被识别。

答案4

fbcon=rotate:1这在 2023 年对我有用。

Arch Linux,内核 6.1.26-1-MANJARO

grub-mkconfig (GRUB) 版本:2.06

  1. 编辑/etc/default/grub

  2. 添加fbcon选项:

     GRUB_CMDLINE_LINUX="fbcon=rotate:1"
    
  3. 更新GRUB

     sudo update-grub
    

相关内容