更改Linux控制台的默认监视器


24

有什么方法可以指定控制台在Linux中显示在哪个监视器上?

详细信息:
我有一个带有2个视频卡的3显示器设置。当我启动计算机时,BIOS会显示在PCI图形卡(带有小型监视器)上。启动Linux时,控制台显示在同一监视器上。有没有办法让控制台输出在其他监视器上?我正在使用vesafb帧缓冲区。

我在BIOS中看不到更改默认视频卡的方法。


1
我在双显示器设置(单个视频卡)上遇到了同样的麻烦;交换输出后,我确定BIOS仅显示在要检测的第一台监视器上。如果我断开或完全切断了BIOS通常选择的电源,则我得到了正确的显示器,但是如果它已连接(甚至处于待机状态),则BIOS会将所有信息发送到该显示器。
奎克吉at德

我希望有一个内核命令标志,它将选择要连接到哪个视频卡。
蒂姆(Tim)

请指定您的Linux和窗口管理器版本。
harrymc

4
我对涉及X的答案和评论感到困惑。问题与控制台有关,控制台是内核消息所在的tty。GNOME?xrandr?窗口管理员?我勒个去?
艾伦·库里

@AlanCurry:如果帖子不够清晰,就会发生这种情况。
harrymc

Answers:


7

我认为,我们在这里寻找的选项fbcon=map:n,其中n是分配给FB设备所需的视频输出数量。

Documentation / fb / fbcon.txt对其进行了说明,并con2fbmap作为运行时更改它的实用程序进行了提及。


我还没有进行测试,但这是我能找到的最合理的答案。我给这个赏金,当我测试时会发表评论。所有其他答案似乎都在谈论X,因此显然不太可能是正确的。
Journeyman Geek

我已经没有测试硬件,有人可以确认它可以工作吗?
蒂姆(Tim)

@Tim M:我测试过。有用。
beroal

3

至于更改哪个控制台在哪个监视器上运行(帧缓冲区@ / dev / fb x),您可以下载这个八十行的小型C程序,该程序可用于指定此类内容。

wget https://raw.githubusercontent.com/kunguz/pi3b/master/con2fb.c
gcc con2fb.c -o con2fb.out

下载并编译后,最简单的用法是sudo ./con2fb.out /dev/fb[frame buffer number, starting at 0] /dev/tty[console number, starting at 1]

这会将“指定”终端“锁定”到指定的显示器(帧缓冲区),因此当您尝试并切换到已分配给显示器的终端时,它将聚焦于该终端,而不是将其切换到当前显示器上。

但是请记住,帧缓冲区!=物理监视器。您要使用单独的tty的每个监视器都必须插入单独的图形卡(因此要使用单独的帧缓冲区)。

如果您不小心,也可能使内核崩溃,所以请注意不要尝试欺骗该程序!;)


-3

我相信这将取决于您使用的窗口管理器。例如,启蒙运动 可以记住窗口的位置。

Fluxbox还支持保存窗口位置和状态。

我不认为GNOME可以开箱即用,因为他们认为应由应用程序开发人员编写可以记住其最后状态的代码。

因此,具有此功能取决于:

  1. 您正在运行的Linux版本
  2. 您正在使用的窗口管理器
  3. 如果您愿意尝试将窗口管理器切换为以下其中一种
  4. 并且取决于您最喜欢的linux是否支持这些窗口管理器。

1
OP在谈论的是虚拟控制台,而不是X窗口。如果您有图形环境,通常可以使用ctrl + alt + F1到ctrl + alt + F6来找到。(您可以使用ctrl + alt + F7返回X)。
Daniel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.