X 在一台显示器上,一个裸露的 tty 终端在另一台显示器上?(Linux)

pep*_*per 9 linux display xorg tty

我电脑上的显卡有(至少)两个独立显示器的输出。我有一台高分辨率的显示器,我喜欢将它用于 X(任何图形)。然而,我的另一台显示器是旧的、低分辨率的平板显示器。

我想知道是否可以配置监视器,以便运行 X 的 tty 终端转到监视器 A(高分辨率监视器),而仅运行 bash shell 的 /dev/tty2 转到 B(较低分辨率监视器) .

我会为此使用 xorg 配置文件吗?我真的不确定。

任何有关这方面的信息将不胜感激。谢谢

cme*_*oli 6

运行您提到的设置时遇到的问题是键盘。键盘将由在您的主显示器(高分辨率)上运行的 x 服务器捕获。如果您想在其中输入内容,您将无法切换到另一个终端。

即使您的辅助显示器分辨率较低,您也可以在其上运行与主 x 屏幕分开的 xterm 会话。您需要将 2 个显示器设置为完全不同的屏幕(不使用 xinerama)。您将得到0.00.1显示。您的主要显示将是,0.0而您的 DISPLAY 环境变量将如下所示:

export DISPLAY=:0.0
Run Code Online (Sandbox Code Playgroud)

此配置将允许您在 2 个屏幕之间移动鼠标以选择键盘输入的传递位置。在您的.xinitrc(在您的主目录中)中,您可以执行以下操作:

#!/bin/bash
xsetroot -solid black
xsetroot -display :0.1 -solid darkblue
xterm -display :0.1 -fn 9x16 -geometry 86x36+1+1 &
startkde
Run Code Online (Sandbox Code Playgroud)

首先将主显示器的背景设置为黑色。接下来,它将您的辅助显示背景设置为深蓝色(我使用这种颜色是因为我使用辅助屏幕观看电影)。下一行在您的第二台显示器上使用预设几何图形开始一个 xterm。您将需要调整几何形状以最适合您的屏幕。您不能指定像素宽度和高度,因为 xterm 的几何尺寸以字符为单位。如果您在我的示例中选择 9x16 字体大小并且您的辅助屏幕分辨率为 800x600,您将执行以下数学运算:

font size = 9x16
screen size = 800x600
xterm width = ( 800 / 9 ) = 88.888
xterm height = ( 600 / 16 ) = 37.5
Run Code Online (Sandbox Code Playgroud)

您希望将数字向下舍入一些,尤其是宽度,因为您需要考虑滚动条。您将不会在辅助屏幕上有窗口管理器,因此不会有 xterm 窗口标题(除非您选择在第二台显示器上运行一些轻松的东西,例如twmfvwm)。基本上,您将不得不玩弄数字,直到得到您想要的结果。

.xinitrc文件中的最后一行将在主显示器上启动主窗口管理器。您可以将其更改为 gnome-session 或启动您最喜欢的 wm 的任何内容。.xinitrc如果您希望保留在登录期间选择窗口管理器的能力,您还可以修改现有的发行版。您应该有一个骨架文件/etc/X11用作基础。

更新:

现代版本的 KDE 现在将控制所有屏幕。您不再需要在第二个屏幕上维护一个单独的窗口管理器。不确定 gnome wm,因为我不使用 gnome。