Verwenden verschiedener Hintergrundbilder auf mehreren Monitoren (Gnome 2 + Compiz)

42

Dies scheint eine einfache Frage zu sein, doch mit Google oder Ask Ubuntu konnte ich keine zufriedenstellende Antwort finden.

Also habe ich ein Triple-Monitor-Setup. Grundsätzlich möchte ich einfach, dass jeder der drei Monitore einen anderen Hintergrund hat . Jetzt spreche ich hier nicht über verschiedene virtuelle Desktops (aka Workspaces). Die meisten Lösungen, die ich gegoogelt habe, betrafen unterschiedliche Hintergründe in unterschiedlichen Arbeitsbereichen . Ich habe nur einen Arbeitsbereich, aber drei Monitore, wie folgt:

Bildbeschreibung hier eingeben

Monitor 1 (oben) ist mein großer Fernseher, der über meinen beiden normalen Monitoren an der Wand befestigt ist.

Ich verwende Gnome 2 mit Compiz (aka Gnome-Session-Fallback aka Gnome Classic (mit Effekten) in der Login-Manager-Dropdown-Liste) auf Ubuntu 13.04.

Ich habe die folgenden Methoden ausprobiert, um für jeden Monitor einen anderen Hintergrund festzulegen:

  1. ccsm(compiz-config-settings-manager), dh Hintergrund über den Fenstermanager (Compiz) einstellen. Genauer gesagt habe ich das Wallpaper- Plugin von Compiz verwendet.
  2. gnome-control-centerDas heißt, Sie legen einen Hintergrund über die Gnome-Systemeinstellungen fest. Genauer gesagt habe ich das Hintergrundbedienfeld in den Gnome-Systemeinstellungen verwendet.
  3. XDG_CURRENT_DESKTOP=Unity gnome-control-centerDas heißt, Sie können einen Hintergrund über die Gnome-Systemeinstellungen festlegen, aber das Verhalten von Unity imitieren. Genauer gesagt habe ich das Aussehen- Bedienfeld in den Gnome-Systemeinstellungen verwendet.

Mit keiner dieser Methoden kann ich jedoch für jeden Monitor einen anderen Hintergrund auswählen. In jedem Fall kann ich nur einen einzigen Hintergrund (oder möglicherweise mehrere , die dann periodisch getaktet werden können, oder für verschiedene Arbeitsbereiche verwendet wird ) für alle drei Monitoren. Dann habe ich normalerweise Optionen wie Mitte , Kachel , Zuschneiden oder Skalieren , die steuern, wie dieser einzelne Hintergrund auf den drei Monitoren dargestellt wird.

Die Abhilfe ich mit so weit gegangen ist Gimp zu verwenden , um einen „großen“ Hintergrund zu erstellen , die die gesamte virtuelle Auflösung aller drei Monitore zusammen umfasst. Grundsätzlich erstelle ich ein großes Hintergrundbild der Größe 3840x2160, in das ich drei Hintergründe an den richtigen Stellen einfüge. Dann habe ich diesen großen Hintergrund als einzigen Hintergrund für die drei Monitore mit Möglichkeit (1) oder (3), und verwenden Sie die Spanne Option für alle drei Monitore mit diesem großen Hintergrund zu überspannen. Dies führt zu drei verschiedenen Hintergründen auf die drei Monitore, vorausgesetzt , dass die drei kleineren Hintergründe wurden korrekt auf dem großen Hintergrundbild platziert (Anmerkung: Möglichkeit (2) keine bieten Spanne Option).

Dies scheint jedoch ein schrecklicher Trick zu sein, um eine so einfache Sache wie das Einstellen eines anderen Hintergrunds für jeden meiner Monitore zu erreichen. Es hat auch mehrere Nachteile:

  • Wenn ich die Anordnung der Monitore ändern möchte (der große Fernseher oben kann nach links oder rechts verschoben werden, und ich möchte die Monitorpositionen entsprechend anpassen, indem ich die xrandrzugehörige Benutzeroberfläche (z. B. das Bedienfeld " Anzeigen" im Menü) verwende) In den Gnome-Systemeinstellungen (um die Mausbewegung intuitiv zu halten) gleitet der obere Hintergrund eindeutig nicht mit dem Monitor, auf dem er angezeigt werden soll. Das heißt, ich sehe nur einen Teil des oberen Hintergrunds.
  • Der große Hintergrund hat einige graue Bereiche (Totraum) in den oberen Ecken, die beim Anmelden von Compiz oder Gnome unbrauchbar geladen werden, wenn der große Hintergrund geladen wird.
  • Am schlimmsten ist, wenn ich einen der drei Hintergründe ändern möchte, muss ich den ganzen großen Hintergrund gimp-editieren. Das ist zu viel Arbeit, wenn man bedenkt, dass ich nur einen Hintergrund ändern möchte (ja, ich weiß über Gimp-Ebenen Bescheid, aber immer noch) - dies sollte mit ein paar Klicks und ohne ein schweres Bildbearbeitungsprogramm möglich sein.

Der erste Punkt bedeutet, dass diese Problemumgehung nicht robust ist. Das zweite bedeutet, dass es nicht effizient ist. Und das dritte bedeutet, es ist ein Schmerz im Hintern :)

Meine Frage lautet also:

Gibt es eine Möglichkeit - entweder mit Gnome 2 oder Compiz - dem System einfach mitzuteilen, dass ich für jeden Monitor einen anderen Hintergrund haben möchte ? Dies wäre die logische Herangehensweise an mich, da dies dem System tatsächlich mitteilen würde, was meine Absicht ist. Es wäre auch effizienter.

Es fühlt sich wirklich so an, als könne dies kein so ungewöhnliches Szenario sein. Ich würde denken, dass viele Leute mehrere Monitore haben; und zumindest einige von ihnen müssen es vorziehen, unterschiedliche Hintergründe auf diesen Monitoren zu haben. Kann es also wahr sein, dass es keine einfache Lösung gibt und von den Benutzern schreckliche Hacks erwartet werden, wie das Erstellen eigener Hintergründe mit schwergewichtigen Programmen, um dies zum Laufen zu bringen?

Malte Skoruppa
quelle
Ist das gut genug Wenn nicht PM ich.
Rinzwind
Hintergrund und Hintergrundbedeutung ändern sich von Frage zu Frage. Ich lasse die relevanteren, die Gnome und Compiz sind. Wenn ich gnome auf kde ändere, ändert sich die Art der Antworten total.
Braiam
1
Braiam, das ergibt für mich keinen Sinn. Wenn die Frage "Wie stelle ich einen Desktop-Hintergrund / Hintergrundbild ein?" verdient nicht die Tags "Hintergrund" oder "Tapete", welche Frage tut das dann? Auch für ähnliche Fragen wie askubuntu.com/questions/26529/… oder askubuntu.com/questions/365913/… schienen die Tags in Ordnung zu sein . Aber dann verbringst du scheinbar einen großen Teil deiner Freizeit mit Askubuntu. Wenn es dich glücklich macht, ist es in Ordnung.
Malte Skoruppa
Lustig, wie XFCE Standardverhalten tatsächlich ist, was das OP benötigt, und ich bin im umgekehrten Fall: Ich möchte mit XFCE bekommen, was das OP mit gnome bekommt. Zumindest gibt es in den meisten Fällen eine einfache Lösung: Stellen Sie den Hintergrund auf allen Monitoren manuell so ein, dass er sich auf dasselbe Bild bezieht.
Stéphane Gourichon

Antworten:

56

Sie können verwenden nitrogen

Führen Sie zur Installation den folgenden Befehl im Terminal aus:

sudo apt-get install nitrogen

Da nitrogenbei der Installation standardmäßig keine Desktop-Datei vorhanden ist, müssen Sie den folgenden Befehl vom Terminal aus ausführen, um sie zu starten:

nitrogen

Wie benutzt man es?

Fügen Sie in den Einstellungen Ihren Hintergrundordner hinzu und wählen Sie dann unten [...] Bildschirm 1, 2 usw. aus, um für jeden Monitor einen anderen Hintergrund festzulegen:

Stickstoff-

Um für jeden Monitor ein anderes Hintergrundbild festlegen zu können, müssen Sie den Dateimanager für die Bearbeitung des Desktops deaktivieren. Das heißt, Sie haben keine Ordner mehr auf dem Desktop.

Installieren Sie in GNOME / Unity das GNOME Tweak Tool :

sudo apt-get install gnome-tweak-tool

Dann öffnen GNOME Tweak Tool und auf dem Desktop - Abschnitt, Set Icons auf dem Desktop (früher Datei - Manager Griff auf dem Desktop haben zu) OFF .

Fügen Sie den folgenden Befehl hinzu, um die Hintergrundbilder bei jeder Anmeldung wiederherzustellen:

nitrogen --restore

zu Ihren Startup-Anwendungen .

Quelle: UBUNTU MULTI-MONITOR-TWEAKS (FULL-SCREEN-FLASH-FIXES, SPAN-WALLPAPER-ÜBERWACHUNG, MEHR)

Radu Rădeanu
quelle
Ich habe diese Methode mit 2 Monitoren in Ubuntu 13.10 mit Unity getestet und es funktioniert großartig!
Radu Rădeanu
Jungs, zwei Dinge: Erstens habe ich festgestellt, dass in Stickstoff eingestellte Hintergründe nicht automatisch wiederhergestellt werden, wenn Sie sich anmelden. Um dies zu erreichen, müssen wir ausführen nitrogen --restore. Um die Änderungen dauerhaft zu machen, müssen wir ein ausführbares Skript erstellen, das diesen Befehl bei der Anmeldung mit Autostart ausführt. Bitte aktualisieren Sie Ihre Antworten mit Anweisungen dazu.
Malte Skoruppa
1
Siehe auch wiki.archlinux.org/index.php/nitrogen .
Malte Skoruppa
1
@MalteSkoruppa Sie müssen kein ausführbares Skript erstellen, das nitrogen --restorebei der Anmeldung ausgeführt wird. Öffnen Sie einfach Startup Applications und fügen Sie diesen Befehl hinzu ( nitrogen --restore). Für Name und Kommentar schreiben Sie, was Sie wollen.
Radu Rădeanu
10
Es sollte beachtet werden, dass diese Option jetzt als "Symbole auf dem Desktop" anstatt als "Dateimanager für den Desktop" bezeichnet wird
anon58192932
7

Von webupd8.org scheint es , gibt es 2 Möglichkeiten. (Kopie von der Website plus einige von mir hinzugefügte Extras):

Mit den Standardeinstellungen für das Erscheinungsbild von Ubuntu können Sie nicht ein einzelnes großes Hintergrundbild über beide Monitore hinweg oder ein anderes Hintergrundbild für jeden Monitor verwenden. Sie können jedoch zwei Anwendungen verwenden, um dies zu tun.

  1. Der erste ist SyncWall. Installiere es in Ubuntu mit den folgenden Befehlen:

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

    Bildbeschreibung hier eingeben

    So sehen meine Desktops nach der Verwendung von SyncWall aus:

    Bildbeschreibung hier eingeben

    Aktuelle Funktionen

    • Zeitplanung: Sie können das Hintergrundbild beim Start, nach Intervallen oder zu einer festgelegten Zeit ändern
    • Möglichkeit, System-Hotkeys zu verwenden / zu definieren, um das Hintergrundbild manuell zu ändern.
    • Grundlegende Unterstützung für mehrere Monitore, um das Hintergrundbild auf mehreren Bildschirmen anzuzeigen
    • Möglichkeit, dem angezeigten Hintergrund einige Spezialeffekte (Prägung, Kante, Unschärfe, ...) hinzuzufügen.
    • Möglichkeit, Bilder zu bewerten, um sie häufiger anzuzeigen (wenn zufällige Reihenfolge ausgewählt ist)
    • Mehrere Größenänderungsmethoden und Hintergrundfüllung
    • Netzwerksynchronisation des Hintergrundbildwechsels durch Definieren eines Servers und von Clients. Anzeigeparameter werden im gesamten Netzwerk gemeinsam genutzt (gleicher Größenänderungstyp auf allen Desktops)
    • Unterstützte Dateien: SyncWall verwendet Qt-Plugins, um Bilder zu laden. Standardmäßig kann es die Basisformate BMP, PNG und JPG lesen. Sie können bei Bedarf weitere Formate hinzufügen, indem Sie Bridge-Plugins für die FreeImage- oder Devil-Bibliotheken verwenden.
    • Für die Linux-Plattform werden die gängigen Windows-Manager unterstützt (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Ein weiteres solches Tool ist Stickstoff Installieren Sie Stickstoff , mit dem nicht nur dasselbe Hintergrundbild für alle Displays festgelegt werden kann, sondern auch für jeden Monitor ein anderes Hintergrundbild festgelegt werden kann.

    Stickstoff ist in den offiziellen Ubuntu-Repositories verfügbar. Um ihn zu installieren, suchen Sie ihn im Ubuntu Software Center oder verwenden Sie den folgenden Befehl:

     sudo apt-get install nitrogen
    

    Nitrogen hat keine Desktop-Datei. Führen Sie sie daher über die Befehlszeile aus:

    nitrogen
    

    Bildbeschreibung hier eingeben

    Um für jeden Monitor ein anderes Hintergrundbild festlegen zu können, müssen Sie den Dateimanager für die Bearbeitung des Desktops deaktivieren. Das heißt, Sie haben keine Ordner mehr auf dem Desktop.

    Installieren Sie in GNOME / Unity das GNOME Tweak Tool:

     sudo apt-get install gnome-tweak-tool
    

    Öffnen Sie dann GNOME Tweak Tool und setzen Sie im Abschnitt "Desktop" die Option "Dateimanager den Desktop verwalten lassen" auf AUS.

    Wenn Sie die Hintergrundbilder bei jedem Anmelden wiederherstellen möchten, fügen Sie "nitrogen --restore" zu Ihren Startanwendungen hinzu.

    So sieht mein Desktop mit verschiedenen Hintergrundbildern für jeden Monitor aus:

    Bildbeschreibung hier eingeben

    Eigenschaften :

    • Multihead- und Xinerama-Unterstützung.
    • Recall-Modus zum Wiederherstellen von Hintergrundbildern über ein Startskript.
    • Verwendet den freedesktop.org-Standard für Thumbnails.
    • Kann den GNOME-Hintergrund einstellen.
    • Befehlszeilenmodi für die Verwendung von Skripten.
    • Deaktivieren Sie die Überwachung der durchsuchten Verzeichnisse.
    • Verspätetes Laden von Thumbnails - spart Speicherplatz (neu in 1.3).
    • Einstellmodus "Automatisch" - Bestimmt den besten Modus, um ein Bild basierend auf seiner Größe einzustellen. (neu in 1.4).
    • Zeigen Sie Vorschaubilder in einem gekachelten Symbollayout an (neu in 1.5).

    Installation über das Software Center


Stickstoff scheint die beste Option zu sein. Syncwall scheint den von Ihnen beschriebenen Hack zu verwenden (großes Bild, das auf mehrere Monitore aufgeteilt wird).

Rinzwind
quelle
2
Haben Sie dort wirklich mehrere Monitore? Es sieht aus wie. Arbeitsbereiche ...
Seth
Ich habe gerade installiert syncwall; Es gibt keine Möglichkeit, für jeden Monitor ein anderes Hintergrundbild
festzulegen
Die ebenfalls von Radu beschriebene Stickstofflösung funktioniert hervorragend! Ihr würdet beide das Kopfgeld verdienen :) Um zu entscheiden, welche Antwort besser ist, versuche ich, die Benutzerfreundlichkeit der Syncwall-Lösung zu bewerten. Ich konnte es jedoch nicht zum Laufen bringen. Unter Voreinstellungen -> Anzeigeparameter wird die Option "Bild erweitern und dann zuschneiden (eine Datei pro Monitor)" angezeigt. Ich kann jedoch nicht herausfinden, wie mehrere Dateien tatsächlich hinzugefügt werden. Auch wenn diese Option aktiviert ist, verwendet Syncwall nur eine Datei. Es verhält sich wie bei "Bild verlängern und dann zuschneiden (eine Datei für alle Monitore)". Könnten Sie näher erläutern, wie Sie mehrere Dateien in Syncwall hinzufügen können?
Malte Skoruppa
1
@Rinzwind Eine Sache verstehe ich nicht: Wenn Syncwall den in der Frage beschriebenen Hack zu verwenden scheint, warum sollte ich ihn als Antwort hinzufügen? Die Frage ist klar: Verschiedene Hintergrundbilder auf mehreren Monitoren. Und noch etwas: Wenn Sie Stickstoff auf zwei Monitoren testen würden, würden Sie nicht sagen, dass das letzte Bild mit Photoshop erstellt wurde. Probieren Sie es aus, erstellen Sie einen Desktop-Druckbildschirm, wenn Sie zwei Monitore verwenden, und Sie werden verstehen, was ich meine.
Radu Rădeanu
Syncwall scheint zu funktionieren, aber das Bildschirmlayout aus der ursprünglichen Frage nicht zu replizieren. Es lässt mich keine Bildschirme auf einen anderen stapeln, sondern nur links und rechts: /
bksunday
6

Mit dem XFCE Desktop Manager-Plug-In (im Lieferumfang von xubuntu-desktop enthalten) können Sie jede Anzeige einzeln bearbeiten und dabei die Ordner auf Ihren Desktops beibehalten.

Ein Screenshot meiner 2 Desktops mit geöffnetem Manager: http://i.stack.imgur.com/Bzg7G.jpg

Im gelben Feld heißt es "Verschieben Sie diesen Dialog in die Anzeige, für die Sie die Einstellungen bearbeiten möchten."

Es tut mir leid, ich kann nicht mehr helfen, Anweisungen zur Installation zu geben, noch wie das eigentliche Plug-In heißt Sie oder jemand auf dem richtigen Weg, und diese Antwort kann durch Änderungen verbessert werden.

Ulad Kasach
quelle
2

Ich war froh zu sehen, dass es tatsächlich eine Gnome / Unity Antwort gab.

Trotzdem bin ich der Meinung, dass der Wechsel zu KDE eine konsistentere Erfahrung sein könnte.

Der native Einstellungsmanager von KDE ermöglicht nicht nur mehrere Hintergrundbilder auf mehreren Monitoren, sondern ermöglicht auch, diese für jeden virtuellen Desktop UND jede Aktivität unterschiedlich einzustellen. (Aktivitäten ähneln virtuellen Desktops, die virtuelle Desktops enthalten und für die andere Einstellungen konfiguriert werden können, z. B. ein Bildschirmschoner nach 5 Minuten Pause in einer Aktivität, aber keine Zeitüberschreitung, wenn auf eine andere umgeschaltet wird, z. B. für Präsentationen oder Filme.)

Darüber hinaus wird das Hinzufügen und Entfernen von Monitoren im laufenden Betrieb (über das Ein- und Ausstecken von HDMI) problemlos verarbeitet !!

virtualxtc
quelle
0
sudo apt-get install feh

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

Sie müssen Ihre Symbole nicht mehr auf dem Desktop ausblenden

Mosssi
quelle
1
Willkommen bei Ask Ubuntu! Ich empfehle , diese Antwort zu bearbeiten , um sie mit spezifischen Details zu den Funktionen dieses Befehls zu erweitern. Ein einfacher Befehl oder eine Befehlssequenz wird selten als Antwort angesehen. (Siehe auch Wie schreibe ich eine gute Antwort ?, um allgemeine Hinweise zu erhalten, welche Arten von Antworten auf Ask Ubuntu als am wertvollsten gelten.)
David Foerster,