我有两台计算机,都运行 Debian Bookworm 并且升级到相同的程度并安装了最新的软件。两台机器都配置为启动到文本终端,这是它们在启动 X 之前需要做的。
问题是一台计算机启动/dev/tty0
而不是,/dev/tty1
这意味着在计算机 2 上运行的 xinit 命令在计算机 1 上不起作用。
计算机 1 的内核使用以下权限启动/dev/tty0
:
crw------- 1 ben tty 4, 0 May 23 16:46 /dev/tty0
crw--w---- 1 root tty 4, 1 May 23 16:46 /dev/tty1
crw------- 1 ben tty 4, 2 May 23 16:13 /dev/tty2
计算机 2 的内核使用以下权限启动/dev/tty1
:
crw--w---- 1 root tty 4, 0 May 23 05:55 /dev/tty0
crw--w---- 1 ben tty 4, 1 May 23 16:29 /dev/tty1
crw------- 1 ben tty 4, 2 May 23 16:13 /dev/tty2
在计算机 2 上有效但在计算机 1 上无效的启动 X 的命令是:
xinit /home/ben/.xinitrc -- /usr/bin/X :0 vt1
用户 ben 在计算机 1 上没有访问权限tty1
,因此 X 失败并显示一条no permission
消息。
要在计算机 1 上启动 X,用户 ben 需要将xinit
命令更改为 use vt2
,然后导航到tty2
以运行它。
对我来说最神秘的是它/dev/tty1
在计算机 1 上不可用。
计算机 1 将终端显示为:
Ctrl+ alt+F1得到/dev/tty0
Ctrl+ alt+F2得到/dev/tty2
Ctrl+ alt+F3得到/dev/tty3
而在计算机 2 上,终端显示为:
Ctrl+ alt+F1得到/dev/tty0
Ctrl+ alt+F2得到/dev/tty1
Ctrl+ alt+F3得到/dev/tty2
为了/dev/tty1
在计算机 1 上启动,我添加了内核选项console=/dev/tty1
. 机器死机,屏幕空白,光标在左上角闪烁。它需要一个救援盘来重写grub.cfg
文件并擦除选项才能正常启动。
Systemd 在两台机器上显示相同的active and running
输出[email protected]
。
我的问题是:如何配置机器以便/dev/tty1
出现在计算机 1 上,从而让计算机 1 引导至dev/tty1
而不是引导至/dev/tty0
?
我在这里问未能在其他地方找到答案。
编辑:感谢所有受访者!
cat /proc/fb 在两台机器上的输出相同:0 nouveaudrmfb。
我想我可以在启动时编写更改 tty0 和 tty1 所有权的脚本,但这感觉像是一种解决方法。这里没有其他机器需要这个。