我有一台机器正在运行RHEL6.7
,这台机器通过另一台机器连接ssh
,我正在使用X11
转发来转发图形。
问题是,当我运行该程序时,我的机器上的缩放全部混乱。有没有办法告诉服务器我的屏幕显示?
答案1
本地和远程 X11 应用程序实际上都使用同一台 X11 服务器:实际连接到您正在物理查看的显示器的服务器。
如果本地 X11 应用程序的扩展正常,但远程 X11 应用程序的扩展混乱,则必须有一些设置(可能是环境变量)影响本地应用程序的扩展,但不会复制到远程会话。
假设远程 X11 应用程序使用与本地应用程序相同的 X11 工具包库并具有良好的扩展性,您只需识别并复制远程会话上缺少的设置,这可能是解决问题的最快方法。 (但是,这可能只是一种解决方法,而不是实际的修复 - 见下文)
如果远程 X11 应用程序使用不同的工具包,您可能必须查找远程工具包库的文档,并找出该工具包需要哪些设置才能达到等效效果。
但是,您还应该使用xdpyinfo | grep -e dimensions -e resolution
并验证报告的信息是否有意义 - 不仅是像素分辨率,还包括每英寸点数和物理显示尺寸(以毫米为单位报告)。这些参数通常来自显示器的 EDID 信息,有时可能不正确,并且会导致所有 X11 缩放失效,除非在 X11 工具包级别进行解决。
如果您发现物理显示尺寸和/或 DPI 值对您的实际显示没有意义,则应修改本地 X 服务器配置,以使用正确的值覆盖错误的值。应用覆盖并重新启动 X11 服务器后,您可能必须撤消任何 X11 工具包级别的解决方法以进行不正确的缩放,因为它们不再需要,并且现在可能会导致相反意义上的错误,作为导致错误的根本原因现在将纠正缩放错误。
答案2
如果您正在使用xserver
并xrandr
安装了该软件包,则可以使用它来更改显示设置:
xrandr --size 1920x1080
这只是一个示例尺寸。您可以用任何适合您的东西来替换它。只需确保它不超出您的 GPU 和显示器支持的范围即可。