我刚刚在我的 gpd pocket 2 上安装了 Debian 10,它运行良好,只是我无法让屏幕在登录时持续旋转。
目前,我可以通过登录时从齿轮菜单中选择“xorg 上的 GNOME”来旋转屏幕,然后运行,xrandr --screen 0 -o right
但是这很快就会变得过时。
我尝试了几个 xorg 解决方案,但都没有成功。我根据以下脚本创建了以下脚本:https://github.com/joshskidmore/gpd-pocket-2-arch-guide#install-xorg-packages和https://unix.stackexchange.com/questions/103460/how-to-change-gnome-default-screen-rotation:
Section "Monitor"
Identifier "eDP1"
Option "Rotate" "right"
EndSection
我已经安装在以下位置:
- /etc/X11/xorg.conf(通过编辑当前的“监视”部分)
- /etc/X11/xorg.conf.d/(我必须创建这个目录,然后使用上述设置创建“30-display.conf”)
- /usr/share/X11/xorg.conf.d(刚刚添加了“30-display.conf”文件)
所有这些都会导致登录时闪烁。我看到黑色闪烁(类似于xrandr
登录后执行时的情况),然后连续两次出现一个充满静态灰色的方块,每次持续约 1 秒,然后屏幕以“正常”/横向方向加载。
即使我xrandr --screen 0 -o right
输入 ~/.profile,也会出现同样的效果。当我将其输入 ~/.bashrc 时,这确实有效,但这是在登录后,我想再次自动执行此配置。
我感觉 Debian 正在尝试实现配置,但有些东西存在冲突。我该如何进行这项工作?
编辑:一些新信息
根据确定我的屏幕管理器https://unix.stackexchange.com/a/20376/293647它是:
/usr/sbin/gdm3
阅读以下链接后,我发现了有关 GDM 的以下信息:
https://wiki.archlinux.org/index.php/GDM#Rotate_login_screen
Changes will take effect on logout. This is necessary because GDM does not respect xorg.conf.
这可能就是为什么我无法使用 xorg 完成旋转的原因。那么,下一步是什么?
编辑2:
gnome 仍然没有定向,但是来自上述链接的代码可以定向 grub!
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub # a lot of guides are missing this step
答案1
我找到了一个 hack 解决方案,但它需要全新安装 Debian。让我解释一下。
为了修复我的屏幕,我更新了我的英特尔视频驱动程序。
https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel
settings
我没有预料到的是,这个驱动程序会阻止 gnome 允许我使用-> display
->进行更改orientation
,这就是我寻找基于代码的解决方案的原因。正如我在上面的编辑中提到的,带有 Debian 10 和 GNOME 的 GPD Pocket 2 系统GDM
默认使用屏幕管理器,因此任何基于 xorg 的解决方案都会失败。
因此,解决此问题的第一步是重新安装 Debian。这对我来说是可能的,因为我刚刚开始使用 Pocket 2 进行配置,但我也认识到这不适用于所有类似情况。为此,我不会接受我的答案,我将等待更彻底的解释和解决方案以永久修复屏幕。但在此之前,也许可以考虑以下黑客程序。
1) 假设您是全新安装的,我们先修复 grub。在终端中:
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub # a lot of guides are missing this step
这将引导系统在启动时输出和 grub 控制台(例如,通过function
++alt
键2
绑定),但不会修复您的登录屏幕。这仍然是这个难题的一部分,我没有解决方案,但继续前进。
2)接下来,让我们整理一下我们的自动屏幕方向。
首先,导航settings
-> display
->orientation
并选择 的方向portrait left
和 的分辨率1200x1920
。
如果你已经读到这一步,并且可以忍受眯着眼睛看,我想你已经完成了。你的桌面环境应该使用这些设置来启动。
3)如果您想自动加载改进的方向,请按照我的做法操作。
接下来导航Tweaks
->Startup Applications
并选择终端。
最后,在你的 ~/.bashrc 文件中,输入以下代码:
res=$(xrandr | grep \* | cut -d' ' -f4)
if [ "$res" != "600x960_60.00" ]; then
xrandr --newmode "600x960_60.00" 47.25 600 640 696 792 960 963 973 996 -hsync +vsync
# the above line informed from: https://superuser.com/a/716837/1078490
# you may have to configure the line according to your cvt output
xrandr --addmode eDP-1 "600x960_60.00"
xrandr --output eDP-1 --mode "600x960_60.00"
fi
现在,当您登录时,终端将启动,然后 .bashrc 将自动处理分辨率配置。这并不理想,因为打开/关闭盖子不会遇到此脚本,因此您需要再次打开终端。但如果您在关闭盖子之前按住电源按钮约 3 秒,它将通过挂起/唤醒循环保持分辨率。