Papel de parede de tela múltipla no Linux?

8

Como posso colocar papel de parede múltiplo em monitores no Linux de maneira automatizada?

Basicamente, como normalmente faço, é abrir o GIMP e, em seguida, pegar várias imagens e compor em uma única imagem grande que abranja todos os monitores. Essa abordagem funciona, mas pode ser demorada, por isso estou me perguntando se existe um aplicativo que possa resolver isso?

Alguns recursos nos quais eu estaria interessado:

  1. Pode redimensionar uma única imagem para cobrir os dois monitores, por exemplo.
  2. Forma diferente de redimensionar a imagem, como manter a proporção ou não
  3. Compõe mais de uma imagem juntos para que uma tela exiba uma imagem e a outra tela exiba outra imagem
  4. Estou usando o xinerama (Realmente Nvidia Twinview)
  5. Tem a capacidade de fazer algumas modificações básicas na imagem, como:

    • Cortar uma ou outra imagem para que toda a imagem preencha a tela
    • Capacidade de mover a imagem para que ela fique alinhada
    • Seria bom poder dimensionar cada imagem separadamente

Eu fiz algumas pesquisas e, em geral, o que encontrei foi:

  1. Imagem única como papel de parede esticada em duas telas
  2. Duas imagens, uma para cada tela, mas nenhuma capacidade de modificar a imagem / etc
  3. Alguns outros, mas basicamente a maioria dos que encontrei não foi capaz de usar várias imagens com uma imagem em cada área de trabalho e modificar independentemente cada imagem para caber / trabalhar nessa tela, além de também não poder alternar entre uma única imagem esticada em toda a tela ou várias imagens .
Pharaun
fonte
Eu pensei que o Xinerama não era compatível com o Twinview. Pelo menos, não no meu computador. Você realmente está usando os dois de alguma forma? Além disso, qual ambiente de área de trabalho você usa? (KDE 3? 4? Gnome? Etc.)
David Z
Meu entendimento era que o Twinview "simula" alguns dos controles do Xinerama, para que os aplicativos saibam não maximizar a tela 2+, etc ... Eu realmente não estou usando um ambiente de área de trabalho, agora minha configuração atual é apenas o Openbox + pythonbar + Conky. Atualmente usando feh para definir meu papel de parede.
Pharaun 18/08/10

Respostas:

4

A ferramenta 'nitrogênio' pode fazer exatamente o que você precisa. Ao executar a ferramenta, você primeiro adiciona um ou mais diretórios que contêm imagens e, em seguida, configura seus planos de fundo da maneira que desejar, incluindo a definição de imagens diferentes nas duas telas.

Agora, o nitrogênio armazena essas informações em .config / nitrogen / bg-saved.cfg

Você restaura a configuração salva usando 'nitrogen - restore', mas é claro, também pode alterar esse arquivo primeiro e depois chamar nitrogênio.

Jan de Vos
fonte
3

Este é um tópico antigo, mas, como fehnão foi demonstrado adequadamente, senti-me obrigado a fazê-lo. O problema com o nitrogênio é que, depois de ter vários monitores, você não pode automatizar a maneira como ajusta a imagem em cada tela.

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

ajustará a imagem ao seu plano de fundo sem perder a proporção. Se você colocar dois arquivos, o primeiro irá para o primeiro monitor e o outro para o segundo, assim:

$ feh --bg-center imagePathForFirstMonitor imagePathForSecondMonitor

Você também pode randomizar a imagem selecionada usando a opção -z e * para o conteúdo da pasta, desta forma:

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

fehé ao mesmo tempo um visualizador de imagens e possui várias outras opções que você pode explorar man fehou ler as fontes abaixo.

Fontes:

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

https://feh.finalrewind.org/

Ege
fonte
Como posso obter a lista de caminhos para meus arquivos de monitor?
user3598726
Desculpe por editá-lo, deve ser o caminho da imagem para cada monitor. Então você simplesmente coloca os locais das imagens
Ege
2

Não conheço esse aplicativo, mas você pode escrever um script que faça o que deseja usando o ImageMagick para editar / compor as imagens e fehdefinir o papel de parede. Por exemplo, o comando deste ImageMagickmontage :

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

comporá os arquivos a.jpg, b.jpge c.jpgnuma única imagem ( out.jpg) após o redimensionamento cada entrada a ser 1080px alta.

Espero que isso ajude, pelo menos até encontrar uma solução melhor.

cYrus
fonte