最近我在联想 ThinkPad X230 平板电脑上安装了 Ubuntu 16.04。它运行得很好!我只遇到了两个小问题,都与可转换屏幕。这个,让我很烦恼的,就是这个问题的主题。
当我登录 Unity 时,显示方向变为纵向视图模式。因此,我必须按下屏幕旋转按钮才能返回横向视图模式。
LightDM 中的默认视图是横向的。当我解锁 Unity 时不存在此问题,只有当我登录时才存在此问题。当我登录 Gnome 时不存在此问题。但我主要使用 Unity,所以我的问题是:如何强制 Unity 在登录后立即保持横向视图模式?
更新 1:
我发现这个问题不存在来宾会话以及新创建的用户。
看起来好像某些应用程序可以旋转显示屏。
我已经尝试过一些基于以下问题的答案的解决方案,但没有成功:
仅
xrandr -o normal
将其作为命令放置在启动应用程序中是一种丑陋的解决方法。
更新 2:
- 原标题:如何强制Unity登录后立即停留在横向视图?
答案1
最后我终于明白了问题的根源:
该平板电脑具有内置屏幕旋转按钮。我还没有设置有关此按钮的任何内容。它默认与 Unity/Gnome 配合使用。
当我按下此按钮时,屏幕顺时针旋转,当前屏幕方向存储在文件中
~/.config/monitors.xml
。除非按下此按钮,否则该文件不存在,因此在来宾会话(正如问题中提到的)该问题不存在。我不知道“特征”当我按下按钮时创建此文件。
当我退出时,“某物”编辑文件
~/.config/monitors.xml
(如果存在)并随机更改方向。也许“它”尝试将方向转回normal
,但“它”无法正常工作。这就是问题所在。
要为某个用户修复此问题,只需添加以下 Cron 作业 - crontab -e
:
@reboot sed -i 's#<rotation>.*</rotation>#<rotation>normal</rotation>#' "$HOME/.config/monitors.xml" >/dev/null 2>&1
- 替换
normal
为您所需的方向。 - 此命令将替换
<rotation>something</rotation>
文件<rotation>desired value</rotation>
中的~/.config/monitors.xml
。
不幸的是,此解决方法仅在您启动或重新启动系统时才能解决问题。当您注销并登录时,问题可能会再次出现。要解决此问题,您可以xrandr
在启动应用程序。