Если при настройке мультимониторной системы в Linux вы обнаружили, что фоновое изображение дублируется на обоих экранах или растягивается с искажениями, проблема решается изменением параметров рабочего стола. В большинстве дистрибутивов по умолчанию используется единый фон для всех мониторов, но современные окружения рабочего стола (DE) поддерживают индивидуальные обои для каждого дисплея. Основная сложность заключается в ручной настройке конфигурационных файлов или использовании специализированных утилит — в зависимости от выбранного DE.

Например, в GNOME (Ubuntu, Fedora) и KDE Plasma (Kubuntu, KDE Neon) настройка выполняется через графический интерфейс, тогда как в минималистичных окружениях типа i3 или Openbox потребуется редактировать конфиги вручную. Ключевой момент — корректное определение идентификаторов мониторов (xrandr) и указание путей к изображениям с учётом их разрешения. Если после применения настроек обои отображаются некорректно, проверьте соответствие разрешений экрана и изображений, а также наличие поддержки multi-monitor wallpaper в вашем DE.

Почему Linux по умолчанию не поддерживает разные обои на двух мониторах

Архитектура большинства Linux-окружений изначально проектировалась с расчётом на однодисплейные системы. Даже в современных DE поддержка мультимониторных конфигураций реализована как дополнительная функция, а не базовая возможность. Это связано с несколькими техническими ограничениями:

  • 🖥️ Унаследованный код: Многие DE (например, XFCE или MATE) базируются на старых библиотеках, где фон рабочего стола обрабатывается как единое целое для всех экранов.
  • 📝 Конфигурационные файлы: В минималистичных WM (например, i3 или AwesomeWM) настройки обоев хранятся в текстовых файлах, где нет встроенной логики для разделения дисплеев.
  • 🔄 Менеджеры композитинга: Некоторые DE (например, GNOME с mutter) используют композиторы, которые не всегда корректно обрабатывают несколько фоновых изображений.
  • 🛠️ Отсутствие стандарта: В отличие от Windows или macOS, в Linux нет универсального API для управления обоями на нескольких мониторах — каждый DE реализует это по-своему.

В результате пользователям приходится либо полагаться на плагины (например, gnome-shell-extension-multi-monitors для GNOME), либо редактировать конфиги вручную. Исключение составляют KDE Plasma и некоторые форки GNOME (например, Pop!_OS), где поддержка мультимониторных обоев реализована "из коробки".

💡

Если ваше окружение не поддерживает разные обои, проверьте наличие обновлений для DE или установите специализированные утилиты вроде nitrogen или feh.

Подготовка: определение идентификаторов мониторов

Перед настройкой обоев необходимо узнать, как система идентифицирует ваши мониторы. Для этого используйте утилиту xrandr (для X11) или wlr-randr (для Wayland). В терминале выполните:

xrandr --query

В выводе вы увидите список подключённых дисплеев с их разрешением и текущим положением. Например:

HDMI-1 connected 1920x1080+1920+0

DP-1 connected primary 1920x1080+0+0

Здесь:

  • HDMI-1 и DP-1 — идентификаторы мониторов.
  • 1920x1080 — разрешение.
  • +1920+0 и +0+0 — смещение (позиция второго экрана относительно первого).

Запишите идентификаторы — они понадобятся для дальнейшей настройки. Если вы используете Wayland, замените xrandr на:

wlr-randr

Определите идентификаторы мониторов через xrandr или wlr-randr|Проверьте разрешение каждого экрана|Подготовьте два изображения с разрешением, соответствующим мониторам|Убедитесь, что изображения находятся в доступной директории (например, ~/Pictures/)

-->

Настройка разных обоев в GNOME (Ubuntu, Fedora, Pop!_OS)

В GNOME поддержка разных обоев реализована через расширения. Самый надёжный способ — установить Multi Monitors Add-On:

  1. Откройте GNOME Extensions в браузере.
  2. Найдите расширение Multi Monitors Add-On и установите его.
  3. Активируйте расширение в gnome-tweaks (Утилита настройки GNOME).
  4. Перейдите в Параметры → Фон, где теперь можно выбрать разные обои для каждого монитора.

Если расширение не работает:

  • 🔄 Проверьте версию GNOME: расширение может не поддерживать старые версии (ниже 40).
  • 🛠️ Установите зависимость gnome-shell-extension-manager:
sudo apt install gnome-shell-extension-manager  # Для Debian/Ubuntu

sudo dnf install gnome-extensions-app # Для Fedora

Альтернативный метод — использование gsettings для ручной настройки. Например, чтобы установить разные обои для HDMI-1 и DP-1:

gsettings set org.gnome.desktop.background picture-uri 'file:///path/to/wallpaper1.jpg'

gsettings set org.gnome.desktop.background picture-uri-dark 'file:///path/to/wallpaper1.jpg'

Для второго монитора (требует дополнительных плагинов)

dconf write /org/gnome/shell/extensions/multi-monitors/monitor-hdmi-1/picture-uri "'file:///path/to/wallpaper2.jpg'"

GNOME (Ubuntu, Fedora)|KDE Plasma (Kubuntu)|XFCE (Xubuntu)|i3/sway (Tile WM)|Другое-->

Установка разных обоев в KDE Plasma

KDE Plasma — одно из немногих окружений, где поддержка мультимониторных обоев реализована нативно. Чтобы настроить разные фоновые изображения:

  1. Щёлкните правой кнопкой по рабочему столу и выберите Настроить рабочий стол.
  2. Перейдите на вкладку Обои.
  3. В выпадающем меню Экран выберите первый монитор и установите для него обои.
  4. Повторите шаг 3 для второго монитора.

Если опция недоступна:

  • 🔄 Убедитесь, что в Системные настройки → Экран мониторы распознаны корректно.
  • 🛠️ Проверьте версию Plasma: в старых версиях (ниже 5.20) может потребоваться ручная настройка через plasma-apply-wallpaperimage:
plasma-apply-wallpaperimage --monitor 1 /path/to/wallpaper1.jpg

plasma-apply-wallpaperimage --monitor 2 /path/to/wallpaper2.jpg

Для автоматической смены обоев на каждом мониторе установите утилиту variety:

sudo apt install variety

В настройках Variety выберите Мультимониторный режим и укажите отдельные папки с обоями для каждого экрана.

Если обои сбрасываются после перезагрузки

Проблема может быть связана с кэшем KDE. Попробуйте очистить его:

rm -rf ~/.cache/plasma*

Затем перезапустите Plasma:

kquitapp5 plasmashell && kstart5 plasmashell

Ручная настройка для XFCE, i3, Openbox и других WM

В минималистичных окружениях (например, XFCE, i3, Openbox) настройка обоев выполняется через конфигурационные файлы или внешние утилиты. Самые популярные инструменты:

Утилита Поддерживаемые WM Команда установки Пример использования
feh i3, Openbox, bspwm sudo apt install feh feh --bg-fill --no-fehbg /path/to/wallpaper1.jpg --bg-fill --no-fehbg /path/to/wallpaper2.jpg
nitrogen XFCE, LXDE, i3 sudo apt install nitrogen nitrogen --set-zoom-fill --head=0 /path/to/wallpaper1.jpg --head=1 /path/to/wallpaper2.jpg
hsetroot Openbox, Fluxbox sudo apt install hsetroot hsetroot -fill /path/to/wallpaper1.jpg (только для одного экрана)
xwallpaper i3, sway sudo apt install xwallpaper xwallpaper --output HDMI-1 --zoom /path/to/wallpaper1.jpg

Для XFCE также можно использовать встроенную утилиту xfconf-query:

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s /path/to/wallpaper1.jpg

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor1/image-path -s /path/to/wallpaper2.jpg

Чтобы изменения применялись автоматически при запуске, добавьте команду в автозагрузку. Например, для i3 отредактируйте файл ~/.config/i3/config:

exec --no-startup-id feh --bg-fill --no-fehbg /path/to/wallpaper1.jpg --bg-fill --no-fehbg /path/to/wallpaper2.jpg
💡

В минималистичных WM (i3, Openbox) обои устанавливаются через внешние утилиты (feh, nitrogen). Без них функция недоступна.

Решение распространённых проблем

Если после настройки обои отображаются некорректно, проверьте следующие моменты:

⚠️ Внимание: В Wayland некоторые утилиты (например, feh) могут не работать. Используйте swaybg для sway или настройте обои через DE.
  • 🖼️ Искажение изображений: Убедитесь, что разрешение обоев совпадает с разрешением монитора. Используйте параметр --bg-scale (для feh) или --zoom (для nitrogen).
  • 🔄 Обои сбрасываются после сна: Добавьте команду для смены обоев в скрипт обработки событий acpid или systemd.
  • 🛠️ Не работают горячие клавиши: В i3 или sway привяжите команду к клавише в конфиге:
    bindsym $mod+w exec feh --bg-fill --randomize ~/Pictures/wallpapers/*
  • 🖥️ Мониторы определяются неверно: Проверьте порядок подключения кабелей или обновите драйверы (sudo apt install xserver-xorg-video-intel для Intel, nvidia-driver для NVIDIA).

Если проблема сохраняется, проверьте логи Xorg:

cat /var/log/Xorg.0.log | grep -i error

Для NVIDIA может потребоваться отключить TearFree в /etc/X11/xorg.conf:

Section "Screen"

Option "metamodes" "HDMI-1: 1920x1080 +0+0, DP-1: 1920x1080 +1920+0"

Option "TearFree" "false"

EndSection

Автоматизация смены обоев с помощью скриптов

Чтобы автоматически менять обои на каждом мониторе, создайте скрипт на bash и добавьте его в cron или автозагрузку. Пример для feh:

#!/bin/bash

WALLPAPER_DIR="/home/user/Pictures/wallpapers"

MONITOR1="HDMI-1"

MONITOR2="DP-1"

Выбор случайных обоев

WALLPAPER1=$(find "$WALLPAPER_DIR" -type f | shuf -n 1)

WALLPAPER2=$(find "$WALLPAPER_DIR" -type f | shuf -n 1)

Установка обоев

feh --bg-fill --no-fehbg "$WALLPAPER1" --bg-fill --no-fehbg "$WALLPAPER2"

Сохраните скрипт как change_wallpaper.sh, сделайте его исполняемым:

chmod +x change_wallpaper.sh

Затем добавьте в crontab для смены обоев каждый час:

crontab -e

Добавьте строку:

0 /path/to/change_wallpaper.sh

Для KDE можно использовать variety с настройкой мультимониторного режима, а в GNOME — расширение Dynamic Wallpaper.

Как проверить, поддерживает ли ваш DE разные обои

Выполните команду:

xdpyinfo | grep -i multi

Если в выводе есть строки с XINERAMA или RANDR, ваше окружение поддерживает мультимониторные настройки.

FAQ: Частые вопросы по настройке обоев на двух мониторах в Linux

Можно ли установить разные обои в Ubuntu 22.04 без расширений?

В стандартном GNOME Ubuntu 22.04 нет встроенной поддержки разных обоев. Вам потребуется установить расширение Multi Monitors Add-On или использовать gsettings с ручной настройкой через dconf.

Почему после обновления KDE Plasma обои сбросились на стандартные?

Это связано с обновлением конфигурационных файлов Plasma. Попробуйте сбросить настройки обоев через System Settings → Workspace Behavior → Desktop Effects или удалите кэш Plasma (rm -rf ~/.cache/plasma*).

Как сделать разные обои в Arch Linux с i3?

В Arch Linux установите feh или nitrogen:

sudo pacman -S feh

Затем добавьте команду в ~/.config/i3/config:

exec --no-startup-id feh --bg-fill /path/to/wallpaper1.jpg --bg-fill /path/to/wallpaper2.jpg

Поддерживает ли Wayland разные обои на двух мониторах?

Поддержка зависит от композитора. В GNOME на Wayland требуется расширение, в KDE Plasma — работает нативно, а в sway (аналог i3 для Wayland) используйте swaybg:

swaybg -i /path/to/wallpaper1.jpg -o HDMI-A-1 -m fill

swaybg -i /path/to/wallpaper2.jpg -o DP-1 -m fill

Как вернуть стандартные обои, если настройки сломались?

Для сброса настроек в GNOME выполните:

gsettings reset org.gnome.desktop.background picture-uri

gsettings reset org.gnome.desktop.background picture-uri-dark

В KDE удалите файл ~/.config/plasma-org.kde.plasma.desktop-appletsrc и перезапустите Plasma.