У меня Ubuntu 20, я использую i3 в качестве диспетчера окон на двух мониторах.
HDMI-1
должен быть моим основным монитором слева и VGA-1-1
должен быть справа от него.
Моя первая рабочая область (моя терминальная рабочая область) должна открываться на HDMI-1
и должен выполнить выборка экрана
команда. Другой монитор должен быть на моей второй рабочей области (для Firefox).
Ставлю следующий конфиг для i3(.config/i3/config
):
установить $workspace0 "0: Терминал"
установить $workspace1 "1: Firefox"
exec --no-startup-id xrandr --output HDMI-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output VGA-1-1 --mode 1920x1080 --pos 1920x0 --повернуть нормально
рабочая область $workspace0 выход HDMI-1
рабочая область $workspace1 выход VGA-1-1
exec --no-startup-id gnome-terminal -- zsh -c "выборка экрана; zsh"
Вот моя проблема. На самом деле это работает примерно в 60% случаев, когда я перезагружаюсь.
Большую часть времени это работает хорошо.
Но иногда мой VGA-1-1
монитор просто становится полностью фиолетовым (это фон экрана входа в Ubuntu 20). Иногда у меня есть реальный фон и строка состояния, но ничего не происходит, когда я открываю что-то, что должно отображаться на этом мониторе (например, когда я открываю Firefox, который назначен $ рабочая область1
).
Мое единственное решение тогда - открыть арандр
и изменить и сохранить мои настройки. После сохранения моих настроек xrandr сбрасывается, и тогда я, наконец, могу увидеть свой VGA-1-1
со всем открытым на нем.
Я хотел бы понять, что сейчас происходит не так.Почему иногда это работает, а иногда нет? И что еще более важно: как я могу это исправить?
К вашему сведению: я использую скрипт polybar, выполненный в моей конфигурации i3. перед выполнение команды xrandr. Не знаю, может ли это быть связано, поэтому на всякий случай поместил сюда:
.config/i3/config
:
exec_always --no-startup-id $HOME/.config/polybar/dual_monitors.sh
.config/polybar/dual_monitors.sh
:
#!/usr/bin/env bash
killall -q полибар
эхо "---" | tee -a /tmp/polybar_top-primary.log /tmp/polybar_top-secondary.log /tmp/polybar_bottom-primary.log /tmp/polybar_bottom-secondary.log
polybar top-primary >> /tmp/polybar_top-primary.log 2>&1 &
polybar top-secondary >> /tmp/polybar_top-secondary.log 2>&1 &
нижний первичный полибар >> /tmp/polybar_bottom-primary.log 2>&1 &
нижний вторичный полибар >> /tmp/polybar_bottom-secondary.log 2>&1 &
echo "Бары запущены..."