Использование разных обоев на нескольких мониторах (Gnome 2 + Compiz)

42

Это кажется простым вопросом, но я не смог найти удовлетворительного ответа с помощью Google или Ask Ubuntu.

Итак, у меня есть установка с тремя мониторами. По сути, я просто хочу иметь различный фон для каждого из трех мониторов . Сейчас я не говорю о различных виртуальных рабочих столах (или рабочих пространствах) здесь. Большинство решений, которые я гуглил, были о разных фонах в разных рабочих пространствах . У меня только одно рабочее пространство, но три монитора, вот так:

введите описание изображения здесь

Монитор 1 (сверху) - это мой большой телевизор, который прикреплен к стене над моими двумя обычными мониторами.

Я использую Gnome 2 с Compiz (он же gnome-session-fallback, он же Gnome Classic (с эффектами) в раскрывающемся списке менеджера входа в систему) в Ubuntu 13.04.

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

  1. ccsm(compiz-config-settings-manager), то есть настройка фона через диспетчер окон (Compiz). Точнее, я использовал плагин обоев Compiz.
  2. gnome-control-centerнастройка фона с помощью настроек системы Gnome. Точнее, я использовал фоновую панель в Системных настройках Gnome.
  3. XDG_CURRENT_DESKTOP=Unity gnome-control-centerто есть установление фона с помощью настроек системы Gnome, но имитация поведения Unity. Точнее, я использовал панель « Внешний вид» в настройках системы Gnome.

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

Обходной путь я пошел с до сих пор использовать Gimp , чтобы создать один «большой» фон , который охватывает все виртуальное решение всех трех мониторов одновременно. По сути, я создаю одно большое фоновое изображение размером 3840x2160, в которое я вставляю три фона в нужных местах. Затем я установил этот большой фон в качестве единственного фона для трех мониторов, используя возможности (1) или (3) выше, и использовал параметр span, чтобы охватить этот большой фон для всех трех мониторов. Это дает три разных фона на трех мониторах, при условии, что три меньших фона были правильно размещены на большом фоновом изображении (Примечание: возможность (2) не предлагает опцию пролета ).

Тем не менее, это кажется ужасным взломом для достижения такой простой вещи, как установка различного фона для каждого из моих мониторов. У этого также есть несколько недостатков:

  • Когда я хочу изменить расположение мониторов (большой телевизор сверху можно двигать влево или вправо, и мне нравится настраивать положения монитора соответствующим образом, используя xrandrсоответствующий графический интерфейс, например панель « Дисплеи» в Настройки системы Gnome, чтобы сделать движение мыши интуитивно понятным), очевидно, что верхний фон не скользит вместе с монитором, на котором он должен отображаться, что означает, что я вижу только часть верхнего фона.
  • Большой фон имеет несколько серых областей (мертвое пространство) в верхних углах, которые бесполезно загружаются во время входа в систему Compiz или Gnome при загрузке большого фона.
  • Хуже всего то, что когда я хочу изменить один из трех фонов, мне приходится редактировать весь большой фон. Это слишком много работы, учитывая, что я просто хочу изменить один фон (да, я знаю о слоях Gimp, но все же) - это должно быть возможно с помощью нескольких щелчков мыши и без тяжелой программы для работы с изображениями.

Первый пункт означает, что этот обходной путь не является надежным. Второе означает, что это не эффективно. И третье означает, что это боль в заднице :)

Итак, мой вопрос заключается в следующем:

Есть ли какой-нибудь способ - с помощью Gnome 2 или Compiz - просто сказать системе, что я хочу различный фон для каждого монитора ? Это было бы логичным подходом для меня, поскольку оно фактически сообщало бы системе, каково мое намерение. Это также было бы более эффективным.

Действительно, такое чувство, что это не может быть таким необычным сценарием. Я думаю, что многие люди имеют несколько мониторов; и, по крайней мере, некоторые из них должны иметь разные фоны на этих мониторах. Так может ли быть правдой, что не существует простого решения, и от пользователей ожидают придумать ужасные хаки, такие как создание собственных пользовательских фонов с тяжелыми программами, чтобы заставить это работать?

Malte Skoruppa
источник
Это достаточно хорошо? Если не в личку мне.
Rinzwind
Значения обоев и фона меняются от вопроса к вопросу. Я оставляю более подходящие, которые являются гномом и compiz. Если я поменяю гнома на кде, то ответы полностью изменятся.
Брайам
1
Брайам, это не имеет большого смысла для меня. Если на вопрос "Как мне установить фоновый рисунок рабочего стола / обои?" не заслуживает тегов "фон" или "обои", тогда какой вопрос? Кроме того, теги, по-видимому, подходят для подобных вопросов, таких как askubuntu.com/questions/26529/… или askubuntu.com/questions/365913/… . Но тогда вы, кажется, тратите много своего свободного времени на аскубунту, так что, если это делает вас счастливыми ... это нормально;)
Malte Skoruppa
Забавно, что поведение по умолчанию XFCE - это то, что нужно OP, и я в обратном случае: я хотел бы получить с XFCE то, что OP получает с gnome. По крайней мере, в большинстве случаев существует простой обходной путь: вручную установить фон на всех мониторах, чтобы они ссылались на одно и то же изображение.
Стефан Гуричон

Ответы:

56

Вы можете использовать nitrogen

Чтобы установить его, выполните в терминале следующую команду:

sudo apt-get install nitrogen

Поскольку при установке nitrogenне установлен файл рабочего стола по умолчанию, вам нужно запустить следующую команду из терминала, чтобы запустить его:

nitrogen

Как это использовать?

В разделе « Настройки» добавьте папку своих обоев, затем в нижней части выберите [...] Экран 1, 2 и т. Д., Чтобы установить разные обои для каждого монитора:

азот

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

В GNOME / Unity установите GNOME Tweak Tool :

sudo apt-get install gnome-tweak-tool

Затем откройте GNOME Tweak Tool и в разделе « Рабочий стол » установите « Значки на рабочем столе» (ранее файловый менеджер обрабатывал рабочий стол ) в положение « ВЫКЛ» .

И, наконец, чтобы обои восстанавливались при каждом входе в систему, добавьте следующую команду:

nitrogen --restore

в ваши приложения запуска .

Источник: UBUNTU MULTI-MONITOR TWEAKS (ПОЛНЫЕ ФИКСЫ ЭКРАНА, ОБОИ ПРОКЛАДКИ ПО МОНИТОРАМ, БОЛЬШЕ)

Раду Рэдяну
источник
Я протестировал этот метод с 2 мониторами в Ubuntu 13.10 с использованием Unity, и он прекрасно работает!
Раду Рэдяну
Ребята, две вещи: во-первых, я заметил, что заданные в азоте фоны не восстанавливаются автоматически при входе в систему. Для этого нам нужно запустить nitrogen --restore. Таким образом, чтобы сделать изменения постоянными, мы должны создать исполняемый скрипт, который запускает эту команду при входе в систему, используя автозапуск. Пожалуйста, обновите ваши ответы с инструкциями о том, как это сделать.
Malte Skoruppa
1
Также см. Wiki.archlinux.org/index.php/nitrogen .
Malte Skoruppa
1
@MalteSkoruppa Вам не нужно создавать исполняемый скрипт, который запускается nitrogen --restoreпри входе в систему. Просто откройте Startup Applications и добавьте эту команду ( nitrogen --restore). Для имени и комментария напишите все, что вы хотите.
Раду Радеану
10
Следует отметить, что этот параметр теперь известен как «Значки на рабочем столе» вместо «У файлового менеджера обрабатывать рабочий стол»
anon58192932
7

С webupd8.org кажется, что есть 2 варианта. (копия с сайта плюс некоторые дополнительные вещи, добавленные мной):

Настройки внешнего вида Ubuntu по умолчанию не позволяют распределить по одному большому фону обоев на обоих мониторах или использовать разные фоновые рисунки для каждого монитора, но есть два приложения, которые можно использовать для этого.

  1. Первый - это SyncWall. Установите его в Ubuntu, используя следующие команды:

    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install syncwall
    

    введите описание изображения здесь

    Вот как выглядят мои рабочие столы после использования SyncWall:

    введите описание изображения здесь

    Текущие Особенности

    • Планирование: вы можете изменить обои при запуске, через интервал или в фиксированное время
    • Возможность использовать / определять системные горячие клавиши для смены обоев вручную.
    • Базовая поддержка нескольких мониторов для обмена обоями на разных экранах
    • Возможность добавить некоторые специальные эффекты (тиснение, край, размытие, ...) на отображаемые обои.
    • Возможность оценивать изображения для их более частого отображения (если выбран случайный порядок)
    • Несколько методов изменения размера и заливки фона
    • Сетевая синхронизация смены обоев путем определения сервера и клиентов. Параметры отображения являются общими для всей сети (одинаковый тип изменения размера на всех рабочих столах)
    • Поддерживаемые файлы: SyncWall использует плагины Qt для загрузки изображения, поэтому по умолчанию он может читать основные форматы как BMP, PNG, JPG. При необходимости вы можете добавить больше форматов, используя подключаемые модули для библиотек FreeImage или Devil.
    • Для платформы Linux поддерживаются общие диспетчеры окон (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Другим таким инструментом является азот Установить азот , который, помимо возможности устанавливать одинаковые обои для разных экранов, также может использоваться для установки разных обоев для каждого монитора.

    Азот доступен в официальных репозиториях Ubuntu, поэтому для его установки найдите его в Ubuntu Software Center или используйте следующую команду:

     sudo apt-get install nitrogen
    

    У азота нет файла рабочего стола, поэтому запустите его из командной строки:

    nitrogen
    

    введите описание изображения здесь

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

    В GNOME / Unity установите GNOME Tweak Tool:

     sudo apt-get install gnome-tweak-tool
    

    Затем откройте GNOME Tweak Tool и в разделе «Рабочий стол» установите «Отключить управление файловым менеджером на рабочем столе».

    И, наконец, чтобы обои восстанавливались при каждом входе в систему, добавьте «азот --restore» в свои автозагрузки.

    Вот как выглядит мой рабочий стол с разными обоями для каждого монитора:

    введите описание изображения здесь

    Особенности :

    • Поддержка Multihead и Xinerama.
    • Режим Recall для восстановления обоев с помощью скрипта запуска.
    • Использует стандарт freedesktop.org для миниатюр.
    • Можно установить фон GNOME.
    • Командная строка устанавливает режимы для использования скрипта.
    • Inotify мониторинг просмотренных каталогов.
    • Ленивая загрузка миниатюр - экономит память (новое в 1.3).
    • «Автоматический» режим установки - определяет лучший режим для установки изображения в зависимости от его размера. (новое в 1.4).
    • Предварительный просмотр изображений в виде мозаичного значка (новое в версии 1.5).

    Установить через центр программного обеспечения


Азот, кажется, лучший вариант. Syncwall, похоже, использует описанный вами хак (большое изображение, разделенное на несколько мониторов.

Rinzwind
источник
2
У вас действительно есть несколько мониторов? Это выглядит как. Рабочие места ...
Сет
Я только что установил syncwall; у него нет никакой возможности установить разные обои для каждого монитора ...
Раду Рэдяну
Раствор азота, также описанный Раду, прекрасно работает! Вы оба заслуживаете награды :) Чтобы решить, какой ответ лучше, я пытаюсь оценить удобство использования решения Syncwall. Однако я не смог заставить его работать. В Предпочтения -> Параметры отображения я вижу опцию «Расширить изображение, затем обрезать (один файл на монитор)», однако я не могу понять, как на самом деле добавить несколько файлов. Даже если этот параметр установлен, Syncwall использует только один файл. Он ведет себя так же, как и в случае «Расширить изображение, затем обрезать (один файл для всех мониторов)». Не могли бы вы рассказать, как добавить несколько файлов в Syncwall?
Malte Skoruppa
1
@Rinzwind Одна вещь, которую я не понимаю: если Syncwall, кажется, использует хак, описанный в вопросе , то для чего нужно добавить его в качестве ответа? Вопрос понятен: разные обои на нескольких мониторах. И еще одна вещь: если бы вы тестировали азот на двух мониторах, вы бы не сказали, что последнее изображение - фотошоп; Попробуйте сами, сделайте экран печати на рабочем столе, когда вы используете два монитора, и вы поймете, что я имею в виду.
Раду Рэдяну
Похоже, что Syncwall работает, но не для того, чтобы копировать компоновку экрана из исходного вопроса ... он не позволяет мне складывать экраны поверх другого, а только влево и вправо: /
bksunday
6

плагин XFCE Desktop Manager (входит в пакет xubuntu-desktop) позволяет редактировать каждый дисплей отдельно, сохраняя при этом папки на рабочих столах.

Скриншот моих 2 рабочих столов с открытым менеджером: http://i.stack.imgur.com/Bzg7G.jpg

в желтом поле написано «Переместите этот диалог на экран, для которого вы хотите изменить настройки».

Извините, я не могу больше помочь с инструкцией о том, как установить его, и как называется сам плагин (я пытался найти его, но вместо этого решил переустановить весь пакет) - но, надеюсь, это приведет вы или кто-то на правильном пути, и этот ответ может быть улучшен путем редактирования.

Улад Касач
источник
2

Я был рад видеть, что на самом деле был ответ Гнома / Единства.

Тем не менее, я все еще чувствую, что переход на KDE может предложить более последовательный опыт.

Встроенный менеджер настроек KDE не только позволяет использовать несколько обоев на нескольких мониторах, но и позволяет устанавливать их по-разному для каждого виртуального рабочего стола и активности. (Активность похожа на виртуальные рабочие столы, которые содержат виртуальные рабочие столы и могут быть настроены на разные параметры, такие как экранная заставка после 5 минут неподвижности в одном действии, но без тайм-аута при переключении на другое, например, для презентаций или фильмов.)

Более того, он без проблем обрабатывает сложение и вычитание мониторов (через подключение и отключение HDMI) !!

virtualxtc
источник
0
sudo apt-get install feh

feh --bg-center <path_to_big_image> --no-xinerama

Не нужно прятать свои значки с рабочего стола

Mosssi
источник
1
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы расширить его конкретными сведениями о том, что делает эта команда. Простая команда или последовательность команд редко считаются ответом. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фёрстер