Как предотвратить автоматическое вращение экрана при входе в систему?

Недавно я установил Ubuntu 16.04 на планшет Lenovo ThinkPad X230. Он отлично работает! Я испытываю только две незначительные проблемы, оба связаны с конвертируемым экраном. Этот вопрос, который меня раздражает, является предметом этого вопроса.

Когда я вхожу в Unity, ориентация дисплея переходит в режим портретного просмотра. Итак, я должен нажать кнопку поворота экрана, чтобы вернуться в режим пейзажного вида.

По умолчанию в LightDM есть пейзаж. Проблема не возникает, когда я разблокирую Unity, только когда я вхожу в систему. Эта проблема не существует, когда я вхожу в Gnome. Но вначале я использую Unity, поэтому мой вопрос: Когда я вхожу в Unity, ориентация дисплея переходит в режим портретного просмотра.

Обновление 1:

Я обнаружил, что проблема не существует для гостевой сессии и для вновь созданных пользователей. Похоже, что какое-то приложение поворачивает дисплей. Я уже пробовал, без успеха, некоторые решения, основанные на ответах на эти вопросы: как мне повернуть мой дисплей, когда вы не используете X-сервер? Экран случайным образом вращается на Ubuntu 17.10. Только xrandr -o normal, помещенная как команда в Startup Applications, является своего рода уродливым обходным решением.

Обновление 2:

Я обнаружил, что проблема не существует для гостевой сессии и для вновь созданных пользователей.
1
задан 27 November 2017 в 23:24

3 ответа

Наконец мне удалось понять, в чем проблема:

На планшете есть встроенная кнопка поворота экрана. Я ничего не установил об этой кнопке. Он работает по умолчанию с Unity / Gnome. Когда я нажимаю эту кнопку, экран вращается по часовой стрелке, а текущая ориентация экрана сохраняется в файле ~/.config/monitors.xml. Этот файл не существует, если эта кнопка не нажата, поэтому в гостевой сессии (как упоминалось в вопросе) проблема не существует. У меня нет идеи, какая «функция» создает этот файл, когда я нажимаю кнопку. Когда я выхожу из системы, «что-то» редактирует файл ~/.config/monitors.xml (если он существует) и меняет ориентацию на случайном приглашении. Возможно, «он» пытается вернуть ориентацию на normal, но «он» работает неправильно. И это проблема.

Мое текущее обходное решение (во много раз быстрее и лучше, чем упомянутое в вопросе) заключается в том, чтобы добавить следующую строку в нижней части файла ~/.profile (и /etc/skel/.profile [1]): [ ! d17]

# Preven unattended screen rotation at login
[[ -e "$HOME/.config/monitors.xml" ]] && rm "$HOME/.config/monitors.xml"

Для этого выполните:

 printf '\n# Preven unattended screen rotation at login\n[[ -e "$HOME/.config/monitors.xml" ]] && rm "$HOME/.config/monitors.xml"\n' | tee -a ~/.profile
 printf '\n# Preven unattended screen rotation at login\n[[ -e "$HOME/.config/monitors.xml" ]] && rm "$HOME/.config/monitors.xml"\n' | sudo tee -a /etc/skel/.profile
0
ответ дан 22 May 2018 в 17:36

Наконец мне удалось понять, в чем проблема:

На планшете есть встроенная кнопка поворота экрана. Я ничего не установил об этой кнопке. Он работает по умолчанию с 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 На планшете есть встроенный экран вращение кнопка. Я ничего не установил об этой кнопке. Он работает по умолчанию с Unity / Gnome. Эта команда заменит <rotation>something</rotation> на <rotation>desired value</rotation> в файле ~/.config/monitors.xml.

К сожалению, это решение устранит проблему только при запуске или перезагрузке системы. Когда вы выйдете из системы и войдите в систему, проблема может появиться снова. Чтобы исправить это, вы можете добавить свою команду xrandr в приложения для запуска.

Запуск приложений

1
ответ дан 18 July 2018 в 05:23

Наконец мне удалось понять, в чем проблема:

На планшете есть встроенная кнопка поворота экрана. Я ничего не установил об этой кнопке. Он работает по умолчанию с 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 На планшете есть встроенный экран вращение кнопка. Я ничего не установил об этой кнопке. Он работает по умолчанию с Unity / Gnome. Эта команда заменит <rotation>something</rotation> на <rotation>desired value</rotation> в файле ~/.config/monitors.xml.

К сожалению, это решение устранит проблему только при запуске или перезагрузке системы. Когда вы выйдете из системы и войдите в систему, проблема может появиться снова. Чтобы исправить это, вы можете добавить свою команду xrandr в приложения для запуска.

Запуск приложений

1
ответ дан 24 July 2018 в 18:19

Другие вопросы по тегам:

Похожие вопросы: