Материал устарел, см. новую версию статьи: Повернуть экран Remastered.
Прошло пару месяцев, и снова появилось необходимость вкорячить Linux в очередную модель ноутбука. Дано: особо китайский нетбук под торговой маркой Digma, купленный за 7 тысяч в одном и без меня известном магазине. Новым, как ни странно.
К моему удивлению UEFI на данном устройстве полноценный, 64-х битный, если кто-то уже сталкивался с подобными устройствами, понимает, почему я удивлён. Обычно их производители не предполагают запуска чего-то кроме Win8 32bit и Android, и потому ставят 32-х битный EFI, не способный запустить загрузчик 64-х битных ОС.
Само собой, моему знакомому (попавшему под действие моей красноглазой пропаганды) хотелось видеть на нём что-нибудь с KDE, а не богомерзкую Win10, и казалось бы – бери флэшку и ставь, но было бы всё так просто в этой жизни…
Короче, этот недобук считает себя планшетом. В UEFI есть настройка поворота экрана, и по умолчанию она стоит как повернуть влево. Но на ОС она не распространяется, Windows скорее всего повёрнут силами драйвера. В общем, постановка задачи — исправить ориентацию экрана в Linux настолько, насколько это вообще возможно.
Выбор ОС, установка
Выбран был тестовый Debian (bookworm), и установлен почти без приключений, не считая необходимость повернуть голову на 90 градусов. Полагаю этот гайд подойдёт для любого относительно современного дистрибутива.
Первым же делом после установки ОС идём в настройки экрана и поворачиваем его в нормальный вид, благо большинство DE имеют такую настройку. Теперь можно будет по-человечески работать с терминалом.
Поворачиваем виртуальную консоль
Идём в /etc/default/grub
и добавляем в параметры ядра fbcon=rotate:3
. Последняя цифра определяет, какой поворот экрана нам нужен, возможно вам понадобится другое значение (от 1 до 3 включительно). Теперь виртуальные консоли (а значит и лог запуска) будут повёрнуты правильно.
А что с самим GRUB? Меню загрузки повернуть скорее всего не получится, потому разумнее всего сделать так, чтобы мы его просто лишний раз не видели. Так что приводим указанный выше файл к примерно такому виду:
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE="hidden"
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet fbcon=rotate:3"
Не забываем после любых правок этого файла сделать sudo update-grub
, иначе не взлетит.
Экран входа
Рабочий стол в порядке, логи загрузки в порядке, с GRUB-ом смирились, но вот пользователя выбираем по-прежнему вертикально. Поправить это можно, просто повернув Xorg целиком.
Для начала выясним идентификатор встроенного в ноутбук монитора. Для этого выполним команду xrandr
и посмотрим, как наш монитор определился.
$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 16384 x 16384
DSI-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 256mm x 144mm
1366x768 60.00*+ 48.00
...
Видим, что наш монитор определён как DSI-1
.
Примечание: если ваш монитор идентифицируется как
XWayland
, значит вы вошли в графическом режиме Wayland. Выйдите из системы и войдите снова, выбрав графический сеанс на базе X11 (Xorg)
Запомнив это, создаём файл /etc/X11/xorg.conf.d/10-rotate.conf
с следующим содержимым:
Section "Monitor"
Identifier "DSI-1"
Option "Rotate" "left"
EndSection
Собственно left
— направление относительно текущего, в которое нужно повернуть монитор. Сохраняем, крестимся и идём в ребут. Если ваша удача больше нуля — экран входа будет повёрнут нормально.
На этом всё.
Ссылки
Этот пост — обобщение следующей информации:
Эдуард
Ответить