Tapeta z wieloma ekranami w systemie Linux?


8

Jak mogę tapetować wiele monitorów w systemie Linux w sposób zautomatyzowany?

Zasadniczo to, jak zwykle to robię, to otwieranie GIMP, a następnie przechwytywanie kilku zdjęć i łączenie ich w jeden duży obraz, który obejmowałby wszystkie monitory. To podejście działa, ale może być czasochłonne, więc zastanawiam się, czy istnieje aplikacja, która mogłaby się tym zająć?

Niektóre funkcje, które mnie zainteresują:

  1. Może zmienić rozmiar pojedynczego obrazu, aby na przykład objąć oba monitory.
  2. Inny sposób zmiany rozmiaru obrazu, taki jak utrzymanie proporcji obrazu lub nie
  3. Złóż więcej niż 1 obraz razem, tak aby jeden ekran wyświetlał jeden obraz, a drugi ekran wyświetlał inny obraz
  4. Używam xinerama (Naprawdę Nvidia Twinview)
  5. Mają możliwość wprowadzenia podstawowych modyfikacji obrazu, takich jak:

    • Przytnij jedno lub drugie zdjęcie, aby cały obraz wypełnił ekran
    • Możliwość przesuwania obrazu, aby można go było wyrównać
    • Byłoby miło móc osobno skalować każdy obraz

Przeszukałem i ogólnie znalazłem:

  1. Pojedynczy obraz jako tapeta rozciągnięta na dwóch ekranach
  2. Dwa obrazy, po jednym dla każdego ekranu, ale brak możliwości modyfikacji obrazu / etc
  3. Kilka innych, ale w zasadzie większość, którą znalazłem, nie była w stanie używać wielu obrazów z jednym obrazem na każdym pulpicie i niezależnie modyfikować każdy obraz, aby dopasować / pracować na tym ekranie, a także nie była w stanie przełączać się między jednym obrazem rozciągniętym na cały ekran lub wieloma obrazami .

Myślałem, że Xinerama nie jest kompatybilny z Twinview. Przynajmniej nie na moim komputerze. Czy naprawdę używasz ich obu w jakiś sposób? Z jakiego środowiska pulpitu korzystasz? (KDE 3? 4? Gnome? Itp.)
David Z

Zrozumiałem, że Twinview „symuluje” niektóre elementy sterujące Xinerama, dzięki czemu aplikacje będą wiedziały, że nie mogą zmaksymalizować ekranu Cross 2+ itp. Tak naprawdę wcale nie używam środowiska graficznego, teraz moja obecna konfiguracja to po prostu Openbox + pythonbar + Conky. Obecnie używam feh do ustawienia mojej tapety.
Pharaun,

Odpowiedzi:


4

Narzędzie „azot” może robić dokładnie to, czego potrzebujesz. Po uruchomieniu narzędzia najpierw dodajesz jeden lub więcej katalogów zawierających obrazy, a następnie ustawiasz tło tak, jak chcesz, w tym ustawiając różne obrazy na dwóch ekranach.

Teraz azot przechowuje te informacje w .config / azot / bg-save.cfg

Przywracasz zapisaną konfigurację za pomocą „azot --restore”, ale oczywiście możesz również najpierw zmienić ten plik, a następnie wywołać azot.


3

To jest stary wątek, ale widząc, że fehnie zostało to odpowiednio wykazane, czułem się zobowiązany do tego. Problem z azotem polega na tym, że gdy masz wiele monitorów, nie możesz zautomatyzować sposobu dopasowania obrazu do każdego ekranu.

feh --bg-fill ~/Pictures/Wallpapers/MyWallpaper.jpg

dopasuje obraz do tła bez utraty współczynnika kształtu. Jeśli umieścisz dwa pliki, pierwszy przejdzie do pierwszego monitora, drugi do drugiego, w następujący sposób:

$ feh --bg-center imagePathForFirstMonitor imagePathForSecondMonitor

Możesz również losowo wybrać wybrany obraz, używając opcji -z i * dla zawartości folderu, w następujący sposób:

feh --bg-fill -z ~/Pictures/Wallpapers/*
# This command puts a random image for each monitor you have

fehjest jednocześnie przeglądarką obrazów i ma mnóstwo innych opcji, które możesz zbadać, man fehczytając poniższe źródła.

Źródła:

https://wiki.archlinux.org/index.php/feh

https://feh.finalrewind.org/


Jak mogę uzyskać listę ścieżek do plików mojego monitora?
user3598726

Przepraszam, że go edytuję, powinna to być ścieżka obrazu dla każdego monitora. Więc po prostu umieść lokalizacje obrazu
Ege

2

Nie znam takiej aplikacji, ale możesz napisać skrypt, który zrobi to, co chcesz, używając ImageMagick do edycji / komponowania obrazów i fehustawienia tapety. Na przykład ten ImageMagick „s montagepolecenie:

montage a.jpg b.jpg c.jpg -geometry +0+0 -tile x1 -resize x1080 out.jpg

będą tworzyć pliki a.jpg, b.jpga c.jpgw jeden obraz ( out.jpg) po zmianie rozmiaru każde wejście do 1080px być wysoka.

Mam nadzieję, że to pomoże, przynajmniej dopóki nie znajdziesz lepszego rozwiązania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.