命令行界面用于旋转屏幕而不会失去缩放功能

命令行界面用于旋转屏幕而不会失去缩放功能

我想做的是能够旋转屏幕而不丢失缩放比例。我可以从 gnome-settings 显示菜单中很好地完成此操作,但我尝试在脚本中执行此操作,因此我正在寻找 CLI 解决方案。

我研究了 gnome 是如何做到这一点的,我注意到 xrandr 中显示方向的条目会发生变化以反映屏幕方向。通过 cli 执行此操作,xrandr --output $DISPLAY --rotate inverted我完成了一半。缺少的部分是屏幕的缩放比例没有反映在 xrandr 中,这让我相信 gnome 有一些内部方法来设置要显示的窗口的缩放比例。

通过 xrandr 缩放屏幕xrandr --output eDP-1 --scale 0.5x0.5,并不是最理想的,因为它不仅有时会在我连接和断开显示器时导致问题,而且由于它本质上是从较低的分辨率升级而导致模糊。据我所知,使用 xrandr 旋转屏幕会将 gnome 控制中心内的缩放比例重置为 100%,然后将其更改回之前的水平(200%)即可解决问题。

所以现在我一直在尝试寻找 gnome-control-center 显示页面中 scale 选项的 cli 解决方案。它会改变什么?我尝试观察 dconfdconf watch /和 journalctl中的变化journalctl -f,但无济于事。当我通过 gnome 更改屏幕缩放比例时,dconf 中没有任何反应,但在 journalctl 中,似乎 /usr/lib/gdmx-session 和 modeset 以及一些默认值(当我更改缩放比例时似乎没有变化)被吐出来了。

Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0): EDID vendor "MEI", prod id 38562
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0):     EDID quirk: Use maximum size instead of detailed timing sizes.
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0): Using hsync ranges from config file
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0): Using vrefresh ranges from config file
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0): Printing DDC gathered Modelines:
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (II) modeset(0): Modeline "3000x2000"x0.0  416.00  3000 3008 3016 3360  2000 2008 2016 2064 +hsync +vsync (123.8 kHz eP)
Mar 02 00:40:47 aa /usr/lib/gdm-x-session[1563]: (--) modeset(0): HDMI max TMDS frequency 300000KHz

相关内容