Używanie różnych tapet na wielu monitorach (Gnome 2 + Compiz)

42

To wydaje się proste pytanie, ale nie znalazłem satysfakcjonującej odpowiedzi za pomocą Google lub Ask Ubuntu.

Mam więc konfigurację z potrójnym monitorem. Zasadniczo chcę po prostu mieć inne tło na każdym z trzech monitorów . Teraz nie mówię tu o różnych wirtualnych pulpitach (czyli obszarach roboczych). Większość rozwiązań, które przeglądałem, dotyczyły różnych środowisk w różnych obszarach roboczych . Mam tylko jeden obszar roboczy, ale trzy monitory:

wprowadź opis zdjęcia tutaj

Monitor 1 (na górze) to mój duży telewizor przymocowany do ściany nad moimi dwoma normalnymi monitorami.

Używam Gnome 2 z Compiz (aka gnome-session-fallback aka Gnome Classic (z efektami) na liście rozwijanej menedżera logowania) na Ubuntu 13.04.

Próbowałem następujących metod, próbując ustawić inne tło dla każdego monitora:

  1. ccsm(compiz-config-settings-manager), to znaczy ustawienie tła za pomocą menedżera okien (Compiz). Dokładniej użyłem wtyczki Wallpaper Compiz.
  2. gnome-control-center, czyli ustawienie tła za pomocą ustawień systemu Gnome. Mówiąc dokładniej, użyłem panelu Tło w Ustawieniach systemu Gnome.
  3. XDG_CURRENT_DESKTOP=Unity gnome-control-center, to znaczy, ustawianie tła za pomocą ustawień systemu Gnome, ale naśladując zachowanie Jedności. Mówiąc dokładniej, użyłem panelu Wygląd w Ustawieniach systemu Gnome.

Jednak żadna z tych metod nie pozwala mi wybrać innego tła dla każdego monitora. W każdym przypadku mogę ustawić tylko jedno tło (lub ewentualnie kilka, które można cyklicznie cyklicznie lub używać w różnych obszarach roboczych) dla wszystkich trzech monitorów. Następnie zazwyczaj mam opcje, takie jak środek , kafelek , przycinanie lub skalowanie, które kontrolują sposób renderowania tego pojedynczego tła na trzech monitorach.

Obejście I już z tak daleko jest użycie Gimp aby utworzyć jeden „duży” tło, które obejmuje całą wirtualną rozdzielczość wszystkich trzech monitorów razem. Zasadniczo tworzę jeden duży obraz tła o rozmiarze 3840 x 2160, w którym wklejam trzy tła w odpowiednich miejscach. Następnie ustawiłem to duże tło jako pojedyncze tło dla trzech monitorów, korzystając z opcji (1) lub (3) powyżej, i korzystam z opcji span , aby objąć to duże tło na wszystkich trzech monitorach. Te wyniki w trzech różnych środowisk na trzech monitorach, pod warunkiem że trzy mniejsze tła zostały prawidłowo umieszczony na duży obraz tła (uwaga: możliwość (2) nie oferuje rozpiętość opcji).

Wydaje się to jednak okropnym włamaniem do osiągnięcia tak prostej rzeczy, jak ustawienie innego tła dla każdego z moich monitorów. Ma również kilka wad:

  • Kiedy chcę zmienić rozmieszczenie monitorów (duży telewizor na górze można przesunąć w lewo lub w prawo, a ja lubię odpowiednio dostosowywać pozycje monitora za pomocą xrandrlub powiązanego interfejsu GUI, takiego jak panel Wyświetlacze w Gnome System Settings, aby ruch myszy był intuicyjny), wyraźnie górne tło nie przesuwa się wraz z monitorem, na którym ma być wyświetlany, co oznacza, że ​​widzę tylko część górnego tła.
  • Duże tło ma pewne szare obszary (martwa przestrzeń) w górnych rogach, które są bezużytecznie ładowane podczas logowania przez Compiz lub Gnome, gdy duże tło jest załadowane.
  • Co najgorsze, kiedy chcę zmienić jedno z trzech teł, muszę edytować i edytować całe duże tło. To za dużo pracy, biorąc pod uwagę, że chcę po prostu zmienić pojedyncze tło (tak, wiem o warstwach Gimp, ale nadal) - powinno to być możliwe za pomocą kilku kliknięć i bez ciężkiego programu do obróbki zdjęć.

Pierwszy punkt oznacza, że ​​to obejście nie jest niezawodne. Drugi oznacza, że ​​nie jest wydajny. A trzeci oznacza ból w tyłku :)

Więc moje pytanie brzmi:

Czy jest jakiś sposób - używając Gnome 2 lub Compiz - po prostu powiedzieć systemowi, że chcę mieć inne tło dla każdego monitora ? To byłoby dla mnie logiczne podejście, ponieważ faktycznie powiedziałoby systemowi, jaki jest mój zamiar. Byłoby to również bardziej wydajne.

Naprawdę wydaje się, że nie może to być tak niezwykły scenariusz. Myślę, że wiele osób ma wiele monitorów; a przynajmniej niektóre z nich wolą mieć różne tła na tych monitorach. Czy więc może być prawdą, że nie ma prostego rozwiązania, a użytkownicy powinni wymyślić okropne hacki, takie jak tworzenie własnych niestandardowych środowisk przy użyciu ciężkich programów, aby to zadziałało?

Malte Skoruppa
źródło
Czy to wystarczy? Jeśli nie, wyślij mi wiadomość.
Rinzwind
Znaczenie tapet i tła zmienia się gwałtownie w zależności od pytania. Pozostawiam te bardziej odpowiednie, którymi są gnome i compiz. Jeśli zmienię gnoma na kde, rodzaj odpowiedzi całkowicie się zmieni.
Braiam
1
Braiam, to nie ma dla mnie większego sensu. Jeśli pytanie „Jak ustawić tło / tapetę pulpitu?” nie zasługuje na tagi „tło” lub „tapeta”, to jakie pytanie? Także tagi wydawało się być w porządku na podobne pytania, takie jak askubuntu.com/questions/26529/... lub askubuntu.com/questions/365913/... . Ale wydaje się, że spędzasz dużo wolnego czasu na askubuntu, więc jeśli cię to uszczęśliwia ... w porządku;)
Malte Skoruppa
Zabawne, że domyślne zachowanie XFCE jest właśnie tym, czego potrzebuje OP, a ja w odwrotnym przypadku: chciałbym uzyskać z XFCE to, co OP dostaje z gnome. W większości przypadków istnieje przynajmniej łatwe obejście: ręcznie ustaw tło na wszystkich monitorach, aby odwoływać się do tego samego obrazu.
Stéphane Gourichon

Odpowiedzi:

56

Możesz użyć nitrogen

Aby go zainstalować, uruchom następującą komendę w terminalu:

sudo apt-get install nitrogen

Ponieważ nitrogendomyślnie nie ma pliku pulpitu, gdy jest zainstalowany, musisz uruchomić następujące polecenie z terminala, aby go uruchomić:

nitrogen

Jak tego użyć?

W Preferencjach dodaj folder tapet, a następnie u dołu [...] wybierz Ekran 1, 2 itd., Aby ustawić inną tapetę dla każdego monitora:

azot

Aby móc ustawić inną tapetę dla każdego monitora, musisz wyłączyć menedżera plików z obsługi pulpitu. Oznacza to, że nie będziesz już mieć folderów na pulpicie.

W GNOME / Unity zainstaluj GNOME Tweak Tool :

sudo apt-get install gnome-tweak-tool

Następnie otwórz narzędzie GNOME Tweak i w sekcji Pulpit ustaw Ikony na pulpicie (wcześniej Menedżer plików obsługiwał pulpit ) na WYŁ .

Na koniec, aby przywracać tapety przy każdym logowaniu, dodaj następujące polecenie:

nitrogen --restore

do aplikacji startowych .

Źródło: UBUNTU MULTI-MONITOR TWEAKS (FULL SCREEN FLASH FIXES, SPAN TAPETER ACROSS MONITORS, WIĘCEJ)

Radu Rădeanu
źródło
Testowałem tę metodę z 2 monitorami w Ubuntu 13.10, używając Unity i działa ona świetnie!
Radu Rădeanu
Chłopaki, dwie rzeczy: Po pierwsze, zauważyłem, że tła ustawione w azocie nie są automatycznie przywracane po zalogowaniu. Aby to osiągnąć, musimy biec nitrogen --restore. Aby więc zmiany były trwałe, musimy utworzyć skrypt wykonywalny, który uruchamia to polecenie przy logowaniu, używając Autostartu. Zaktualizuj swoje odpowiedzi instrukcjami, jak to zrobić.
Malte Skoruppa
1
Zobacz także wiki.archlinux.org/index.php/nitrogen .
Malte Skoruppa
1
@MalteSkoruppa Nie musisz tworzyć wykonywalnego skryptu, który będzie działał nitrogen --restoreprzy logowaniu. Wystarczy otworzyć aplikacje startowe i dodać to polecenie ( nitrogen --restore). W polu Imię i komentarz napisz co chcesz.
Radu Rădeanu
10
Należy zauważyć, że ta opcja jest teraz znana jako „Ikony na pulpicie” zamiast „Niech menedżer plików zajmie się pulpitem”
anon58192932
7

Z webupd8.org wydaje się, że są 2 opcje. (skopiuj ze strony internetowej oraz kilka dodatkowych rzeczy dodanych przeze mnie):

Domyślne ustawienia wyglądu Ubuntu nie pozwalają na rozciągnięcie jednej dużej tapety na obu monitorach lub użycie innej tapety dla każdego monitora, ale można to zrobić za pomocą dwóch aplikacji.

  1. Pierwszym z nich jest SyncWall. Zainstaluj go w Ubuntu za pomocą następujących poleceń:

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

    wprowadź opis zdjęcia tutaj

    Oto jak wyglądają moje pulpity po użyciu SyncWall:

    wprowadź opis zdjęcia tutaj

    Obecne funkcje

    • Planowanie: możesz zmienić tapetę przy uruchomieniu, w odstępach czasu lub o ustalonej godzinie
    • Możliwość używania / definiowania skrótów systemowych do ręcznej zmiany tapety.
    • Podstawowa obsługa wielu monitorów w celu udostępniania tapety na różnych ekranach
    • Możliwość dodania efektów specjalnych (wytłoczenie, krawędź, rozmycie, ...) do wyświetlanej tapety.
    • Możliwość oceniania zdjęć w celu częstszego ich wyświetlania (jeśli wybrano losową kolejność)
    • Kilka metod zmiany rozmiaru i wypełnianie tła
    • Synchronizacja sieci zmiany tapety przez zdefiniowanie serwera i klientów. Parametry wyświetlania są współużytkowane w sieci (ten sam typ zmiany rozmiaru na wszystkich komputerach)
    • Obsługiwane pliki: SyncWall używa wtyczek Qt do ładowania obrazu, więc domyślnie może czytać podstawowe formaty, takie jak BMP, PNG, JPG. W razie potrzeby możesz dodać więcej formatów, używając wtyczek mostkowych do bibliotek FreeImage lub Devil.
    • W przypadku platformy Linux są obsługiwane popularne menedżery systemu Windows (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Kolejnym takim narzędziem jest azot Zainstaluj azot , który oprócz możliwości ustawienia tej samej tapety na ekranach, może być również użyty do ustawienia innej tapety dla każdego monitora.

    Azot jest dostępny w oficjalnych repozytoriach Ubuntu, więc aby go zainstalować, wyszukaj go w Centrum oprogramowania Ubuntu lub użyj następującego polecenia:

     sudo apt-get install nitrogen
    

    Nitrogen nie ma pliku na pulpicie, więc uruchom go z wiersza poleceń:

    nitrogen
    

    wprowadź opis zdjęcia tutaj

    Aby móc ustawić inną tapetę dla każdego monitora, musisz wyłączyć menedżera plików z obsługi pulpitu. Oznacza to, że nie będziesz już mieć folderów na pulpicie.

    W GNOME / Unity zainstaluj GNOME Tweak Tool:

     sudo apt-get install gnome-tweak-tool
    

    Następnie otwórz narzędzie GNOME Tweak Tool i w sekcji „Pulpit” ustaw „Niech menedżer plików obsługuje pulpit” na WYŁ.

    I wreszcie, aby przywracać tapety przy każdym logowaniu, dodaj „azot --restore” do aplikacji startowych.

    Oto jak wygląda mój pulpit z różnymi tapetami dla każdego monitora:

    wprowadź opis zdjęcia tutaj

    Cechy :

    • Obsługa Multihead i Xinerama.
    • Tryb przywracania, aby przywrócić tapety za pomocą skryptu uruchamiania.
    • Używa standardu freedesktop.org dla miniatur.
    • Można ustawić tło GNOME.
    • Tryby ustawiania wiersza poleceń do użycia skryptu.
    • Nieodpowiednie monitorowanie przeglądanych katalogów.
    • Leniwe ładowanie miniatur - oszczędza pamięć (nowość w 1.3).
    • „Automatyczny” tryb ustawiania - określa najlepszy tryb ustawiania obrazu na podstawie jego rozmiaru. (nowość w 1.4).
    • Wyświetl podgląd obrazów w układzie ikon kafelkowych (nowy w 1.5).

    Zainstaluj za pośrednictwem centrum oprogramowania


Azot wydaje się najlepszą opcją. Wygląda na to, że Syncwall korzysta z opisanego włamania (duży obraz do podzielenia na kilka monitorów.

Rinzwind
źródło
2
Czy naprawdę masz tam wiele monitorów? To wygląda jak. Obszary robocze ...
Seth
Właśnie zainstalowałem syncwall; nie ma żadnej opcji, aby ustawić inną tapetę dla każdego monitora ...
Radu Rădeanu
Roztwór azotu, również opisany przez Radu, działa świetnie! Oboje zasłużylibyście na nagrodę :) Aby zdecydować, która odpowiedź jest lepsza, staram się ocenić użyteczność rozwiązania Syncwall. Jednak nie udało mi się go uruchomić. W Preferencjach -> Parametry wyświetlania widzę opcję „Rozszerz obraz, a następnie przycinaj (jeden plik na monitor)”, ale nie mogę przewidzieć, jak faktycznie dodać kilka plików. Nawet z tym zestawem opcji Syncwall używa tylko jednego pliku. Zachowuje się tak samo jak w przypadku „Rozszerz obraz, a następnie przytnij (jeden plik dla wszystkich monitorów)”. Czy mógłbyś wyjaśnić, jak dodać kilka plików w Syncwall?
Malte Skoruppa
1
@Rinzwind Jedna rzecz, której nie rozumiem: jeśli synchronizacja wydaje się używać hacka opisanego w pytaniu , jaki jest powód, aby dodać ją jako odpowiedź? Pytanie jest jasne: różne tapety na wielu monitorach. I jeszcze jedno: jeśli przetestowałbyś azot na dwóch monitorach, nie powiedziałbyś, że ostatnie zdjęcie jest zrobione w Photoshopie; spróbuj sam, zrób dwa monitory, a zrozumiesz, o co mi chodzi.
Radu Rădeanu
Syncwall wydaje się działać, ale nie replikuje układu ekranu z pierwotnego pytania .. nie pozwala mi układać ekranów na wierzchu innego, ale tylko w lewo i w prawo: /
bksunday
6

Wtyczka XFCE Desktop Manager (zawarta w pakiecie xubuntu-desktop) pozwala edytować każdy ekran osobno, zachowując jednocześnie foldery na komputerach.

Zrzut ekranu moich 2 komputerów z otwartym menedżerem: http://i.stack.imgur.com/Bzg7G.jpg

w żółtym polu jest napisane: „Przenieś to okno dialogowe do ekranu, dla którego chcesz edytować ustawienia”.

Przykro mi, ale nie mogę bardziej pomóc w udzieleniu instrukcji, jak to zainstalować, ani jak nazywa się faktyczna wtyczka (próbowałem ją znaleźć, ale zdecydowałem się ponownie zainstalować cały pakiet) - ale mam nadzieję, że prowadzi to ty lub ktoś na dobrej drodze, a odpowiedź można poprawić poprzez edycję.

Ulad Kasach
źródło
2

Cieszyłem się, że rzeczywiście istnieje odpowiedź Gnome / Unity.

To powiedziawszy, nadal uważam, że przejście na KDE może zaoferować bardziej spójne doświadczenie.

Natywny menedżer ustawień KDE pozwala nie tylko na tworzenie wielu tapet na wielu monitorach, ale także na różne ustawienia dla każdego wirtualnego pulpitu ORAZ działania. (Aktywność przypomina wirtualne komputery stacjonarne, które zawierają wirtualne komputery stacjonarne i można je skonfigurować w taki sposób, aby miały różne ustawienia, takie jak wygaszacz ekranu po 5 minutach bezruchu w jednym działaniu, ale bez limitu czasu po przełączeniu na inne, na przykład w przypadku prezentacji lub filmów.)

Co więcej, bez problemu obsługuje dodawanie i odejmowanie monitorów w locie (poprzez podłączanie i odłączanie HDMI) !!

virtualxtc
źródło
0
sudo apt-get install feh

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

Nie musisz ukrywać swoich ikon na pulpicie

Mosssi
źródło
1
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat działania tego polecenia. Zwykłe polecenie lub sekwencja poleceń rzadko jest uważana za odpowiedź. (Patrz również Jak napisać dobrą odpowiedź? Na ogólnych porad na temat tego, co sortuje odpowiedzi są uważane za najbardziej wartościowe w ask Ubuntu.)
David Foerster