Как стать автором
Поиск
Написать публикацию
Обновить

Я наконец перевернул экран в TTY и отключил дублирование на другие мониторы, и при переходе в TTY из X не сбивается

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.1K

Прывiтаначкi, у меня четыре монитора — три HD через DisplayPort, и один большой 4k через HDMI, перевёрнутый. Когда из коробки мы в TTY (это такой встроенный в ядро терминал, до запуска startx, туда ещё можно перейти сжав Ctrl-Alt-F<1-8>) то по дефолту все экраны показывают кусок буфера — кусок потому что экраны горизонтальные и вертикальные, и разрешения разные. Ну ладно, и так можно жить конечно, но годами я немного мечтал о том что у меня получится сделать нормально — чтобы TTY жил лишь в одном большом вертикальном (перевёрнутом) мониторе. И так и сяк помогал мне бесплатный няшка Gemini CLI (которого иногда я читал после перезагрузки повернув голову на бок из-за некорректных настроек), на каждую мою реплику начиная ответ с того что я молодец и какой правильный вопрос задал и как в корень зрю и в отличие от него ещё не забыл что делали три шага назад. Теперь рабочее решение:

/etc/default/grub

GRUB_CMDLINE_LINUX="video=DP-1:d video=DP-2:d video=DP-3:d fbcon=rotate:1"

Названия своих дисплеев можно увидеть в /sys/class/drm/

В этой переменной у вас могли быть написаны свои опции — конкатенируйте.

Напоминаю — у меня четыре монитора, если у вас два — то тогда будет

GRUB_CMDLINE_LINUX="video=DP-1:d fbcon=rotate:1"

:d означает disable, то есть тут мы указываем мониторы которые нам не нужны в TTY.

Следующая проблема — после startx (у меня i3wm) часть мониторов была не видна (не все отчего-то), в arandr были отключены. И вот рабочее решение — как включить их для иксов:

/etc/local.d/dp-enable.start

sleep 5 # Without sleep - "files" not found
echo on > /sys/class/drm/card0-DP-1/status
echo on > /sys/class/drm/card0-DP-2/status
echo on > /sys/class/drm/card0-DP-3/status
# Because disabled in /etc/default/grub to enable 4k and rotation for my biggest display

Это у меня так хорошо получилось на Gentoo Linux, версия ядра 6.12.31

В другом дистрибутиве возможно можно использовать другой файл, который сможет от рута (то есть ~/.xinitrc не сработает). Или пермишены этих «файлов» поменять через udev — не пробовал, и это дыра в безопасности (хоть чтото у нас в безопасности).

Пишите ваши советы/наблюдения/рекомендации, чтобы мой друг Gemini был в теме.

Теги:
Хабы:
+10
Комментарии6

Публикации

Ближайшие события