启动时旋转控制台 (Debian)

BMi*_*ner 11 grub debian framebuffer

我想将我的控制台(不是 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"
Run Code Online (Sandbox Code Playgroud)

......它不起作用。我也在update-grub重新启动之前运行。

我也试过这个:

GRUB_CMDLINE_LINUX="fbconsole=rotate_all:1"
Run Code Online (Sandbox Code Playgroud)

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

BMi*_*ner 11

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

GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"
Run Code Online (Sandbox Code Playgroud)

编辑efifb驱动程序仅适用于 EFI 固件,尤其是基于 Intel 的 Apple 计算机。但是,正如我发现的那样,它也适用于非 Apple PC。我在我的 Linux 系统上运行专有的 nVidia 驱动程序,并且 efifb 驱动程序运行良好。我认为它对我有用,因为我使用的是 nVidia 驱动程序,而“本机” fbdev 驱动程序与它们冲突。

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

  • 大警告:这仅适用于您的机器附带支持 EFI 的 BIOS。 (2认同)

pip*_*ipe 6

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

\n\n
\n

\xe2\x80\xa6以下选项可以传递给内核: fbcon= rotate :<n>

\n
\n\n

虽然你已经写了

\n\n
\n

fbcon=旋转全部:1

\n
\n\n

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

\n\n

GRUB_CMDLINE_LINUX="fbcon=rotate:1"

\n

  • OP链接的文档确实提到“rotate_all”是“/sys/class/graphics/fbcon”sysfs目录中的有效名称。只是内核参数不使用与 sysfs 属性相同的单词集。 (3认同)