Usando papéis de parede diferentes em vários monitores (Gnome 2 + Compiz)

42

Parece uma pergunta simples, mas não consegui encontrar nenhuma resposta satisfatória usando o Google ou o Ask Ubuntu.

Então, eu tenho uma configuração de monitor triplo. Basicamente, o que eu quero é simplesmente ter um background diferente em cada um dos três monitores . Agora não estou falando sobre diferentes áreas de trabalho virtuais (também conhecidas como áreas de trabalho) aqui. A maioria das soluções que pesquisei no Google abordava diferentes origens em diferentes áreas de trabalho . Eu tenho apenas um espaço de trabalho, mas três monitores, assim:

insira a descrição da imagem aqui

O monitor 1 (na parte superior) é minha TV grande conectada à parede acima dos meus dois monitores normais.

Estou usando o Gnome 2 com o Compiz (também conhecido como gnome-session-fallback, também conhecido como Gnome Classic (com efeitos) na lista suspensa do gerenciador de login) no Ubuntu 13.04.

Tentei os seguintes métodos, tentando definir um plano de fundo diferente para cada monitor:

  1. ccsm(compiz-config-settings-manager), ou seja, definindo um plano de fundo por meio do gerenciador de janelas (Compiz). Mais precisamente, usei o plugin Wallpaper do Compiz.
  2. gnome-control-center, ou seja, definindo um plano de fundo por meio das configurações do sistema Gnome. Mais precisamente, eu usei o fundo do painel nas Configurações do sistema Gnome.
  3. XDG_CURRENT_DESKTOP=Unity gnome-control-center, ou seja, definir um plano de fundo por meio das configurações do sistema Gnome, mas imitando o comportamento do Unity. Mais precisamente, usei o painel Aparência nas Configurações do sistema Gnome.

No entanto, nenhum desses métodos me permite selecionar um plano de fundo diferente para cada monitor. Em cada caso, só posso definir um plano de fundo único (ou possivelmente vários que possam ser alternados periodicamente ou usados ​​para diferentes áreas de trabalho) para todos os três monitores. Então, eu normalmente têm opções como centro , telha , cultura ou escala que controlam como este único fundo é processado ao longo dos três monitores.

A solução alternativa com a qual eu trabalhei até agora é usar o Gimp para criar um "grande" plano de fundo que engloba toda a resolução virtual de todos os três monitores juntos. Basicamente, crio uma grande imagem de plano de fundo do tamanho 3840x2160, na qual colo três planos de fundo nos lugares certos. Então eu definir este fundo grande como pano de fundo único para os três monitores usando possibilidade (1) ou (3) acima, e usar o tempo de opção para abranger este grande fundo em todas as três monitores. Isso resulta em três fundos diferentes nos três monitores, desde que os três fundos menores tenham sido colocados corretamente na imagem de fundo grande (Nota: a possibilidade (2) não oferece uma opção de amplitude ).

No entanto, isso parece um truque terrível para conseguir algo tão simples quanto definir um plano de fundo diferente para cada um dos meus monitores. Também tem várias desvantagens:

  • Quando pretendo alterar a disposição dos monitores (a TV grande na parte superior pode ser deslizada de algum modo para a esquerda ou para a direita, e eu gosto de ajustar as posições do monitor de acordo com o uso de xrandruma GUI associada, como o painel Monitores Configurações do sistema do Gnome, para manter o movimento do mouse intuitivo), claramente o plano de fundo superior não desliza junto com o monitor em que deveria ser exibido, o que significa que apenas vejo parte do plano de fundo superior.
  • O plano de fundo grande possui algumas áreas cinzas (espaço morto) nos cantos superiores, que são inúteis carregadas no momento do login pelo Compiz ou pelo Gnome quando o plano de fundo grande é carregado.
  • O pior de tudo é que, quando eu quero mudar um dos três antecedentes, tenho que editar o contexto todo. Isso é muito trabalhoso, considerando que eu simplesmente quero mudar um único plano de fundo (sim, eu sei sobre as camadas do Gimp, mas ainda assim) - isso deve ser possível com apenas alguns cliques e sem um programa de manipulação de imagens pesado.

O primeiro ponto significa que essa solução alternativa não é robusta. O segundo significa que não é eficiente. E o terceiro significa que é uma dor na bunda :)

Então, minha pergunta é esta:

Existe alguma maneira - usando o Gnome 2 ou o Compiz - para simplesmente dizer ao sistema que eu quero um plano de fundo diferente para cada monitor ? Essa seria a abordagem lógica para mim, pois na verdade diria ao sistema qual é minha intenção. Também seria mais eficiente.

Realmente, parece que esse cenário não pode ser incomum. Eu acho que muitas pessoas têm vários monitores; e pelo menos alguns deles devem preferir ter experiências diferentes nesses monitores. Portanto, pode ser verdade que não existe uma solução direta e os usuários devem criar hacks terríveis, como criar seus próprios planos de fundo personalizados com programas pesados ​​para fazer com que isso funcione?

Malte Skoruppa
fonte
Isso é bom o suficiente? Se não me PM.
Rinzwind
Os significados de papel de parede e fundo mudam muito de pergunta para pergunta. Estou deixando os mais relevantes que são gnome e compiz. Se eu mudar o gnome para o kde, o tipo de resposta mudará totalmente.
Braiam
1
Braiam, isso não faz muito sentido para mim. Se a pergunta "Como definir um plano de fundo / papel de parede da área de trabalho?" não merece as tags "plano de fundo" ou "papel de parede", então qual pergunta faz? Além disso, as tags pareciam boas para perguntas semelhantes, como askubuntu.com/questions/26529/… ou askubuntu.com/questions/365913/… . Mas então, você parece gastar muito do seu tempo livre em askubuntu, por isso, se isso te faz feliz ... Está tudo bem;)
Malte Skoruppa
Engraçado como o comportamento padrão do XFCE é realmente o que o OP precisa, e eu estou no caso inverso: eu gostaria de obter com o XFCE o que o OP obtém com o gnome. Pelo menos, há uma solução fácil na maioria dos casos: defina manualmente o plano de fundo em todos os monitores para se referir à mesma imagem.
Stéphane Gourichon

Respostas:

56

Você pode usar nitrogen

Para instalá-lo, execute o seguinte comando no terminal:

sudo apt-get install nitrogen

Como nitrogennão possui um arquivo da área de trabalho por padrão quando está instalado, é necessário executar o seguinte comando no terminal para iniciá-lo:

nitrogen

Como usá-lo?

Nas Preferências , adicione sua pasta de papel de parede e, na parte inferior, [...] selecione Tela 1, 2, etc., para definir um papel de parede diferente para cada monitor:

azoto

Para poder definir um papel de parede diferente para cada monitor, você deve desativar o gerenciador de arquivos da manipulação da área de trabalho. Isso significa que você não terá mais pastas na área de trabalho.

No GNOME / Unity, instale a ferramenta GNOME Tweak :

sudo apt-get install gnome-tweak-tool

Em seguida, abra a Ferramenta de Tweak do GNOME e, na seção Área de trabalho , defina Ícones na área de trabalho (anteriormente, o Gerenciador de arquivos lida com a área de trabalho ) como DESLIGADO .

E, finalmente, para restaurar os papéis de parede sempre que você efetuar login, adicione o seguinte comando:

nitrogen --restore

aos aplicativos de inicialização .

Fonte: UBUNTU MULTI-MONITOR WEAKS (CORRETORES FLASH DE TELA COMPLETA, PAPEL DE PAREDE DE SPAN EM MONITORES, MAIS)

Radu Rădeanu
fonte
Testei esse método com 2 monitores no Ubuntu 13.10 usando o Unity e funciona muito bem!
Radu Rădeanu
Pessoal, duas coisas: primeiro, observei que os fundos configurados com nitrogênio não são restaurados automaticamente quando você faz login. Para conseguir isso, precisamos executar nitrogen --restore. Portanto, para tornar as alterações permanentes, precisamos criar um script executável que execute esse comando no login, usando o Autostart. Atualize suas respostas com instruções sobre como fazer isso.
Malte Skoruppa
1
Veja também wiki.archlinux.org/index.php/nitrogen .
Malte Skoruppa
1
@MalteSkoruppa Você não precisa criar um script executável que seja executado nitrogen --restoreno login. Basta abrir Aplicativos de Inicialização e adicionar este comando ( nitrogen --restore). Para Nome e Comentário, escreva o que quiser.
Radu Rădeanu
10
Note-se que esta opção é agora conhecido como "Ícones no Desktop" em vez de "gerenciador de arquivos Tem lidar com o ambiente de trabalho"
anon58192932
7

No webupd8.org parece que existem 2 opções. (cópia do site, além de algumas coisas extras adicionadas por mim):

As configurações padrão da aparência do Ubuntu não permitem que você abranja um único papel de parede grande nos dois monitores ou use um papel de parede diferente para cada monitor, mas existem dois aplicativos que você pode usar para fazer isso.

  1. O primeiro é o SyncWall. Instale-o no Ubuntu usando os seguintes comandos:

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

    insira a descrição da imagem aqui

    Veja como ficam meus desktops depois de usar o SyncWall:

    insira a descrição da imagem aqui

    Recursos atuais

    • Programação: você pode alterar o papel de parede na inicialização, por intervalo ou em horário fixo
    • Capacidade de usar / definir teclas de atalho do sistema para alterar o papel de parede manualmente.
    • Suporte básico para vários monitores para compartilhar o papel de parede entre telas
    • Capacidade de adicionar alguns efeitos especiais (relevo, borda, desfoque, ...) ao papel de parede exibido.
    • Capacidade de classificar imagens para exibi-las com mais frequência (se a ordem aleatória estiver selecionada)
    • Vários métodos de redimensionamento e preenchimento em segundo plano
    • A sincronização de rede da alteração do papel de parede definindo um servidor e clientes. Os parâmetros de exibição são compartilhados pela rede (o mesmo tipo de redimensionamento em todas as áreas de trabalho)
    • Arquivos suportados: O SyncWall usa plug-ins Qt para carregar a imagem; portanto, por padrão, ele pode ler formatos básicos como BMP, PNG, JPG. Você pode adicionar mais formatos, se necessário, usando plug-ins de ponte nas bibliotecas FreeImage ou Devil.
    • Para a plataforma linux, os gerenciadores de janelas comuns são suportados (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Outra ferramenta é o nitrogênio Instale nitrogênio , que além de poder definir o mesmo papel de parede para estender-se pelas telas, também pode ser usado para definir um papel de parede diferente para cada monitor.

    O nitrogênio está disponível nos repositórios oficiais do Ubuntu, para instalá-lo, procure-o no Ubuntu Software Center ou use o seguinte comando:

     sudo apt-get install nitrogen
    

    O nitrogênio não possui um arquivo da área de trabalho, portanto, execute-o na linha de comando:

    nitrogen
    

    insira a descrição da imagem aqui

    Para poder definir um papel de parede diferente para cada monitor, você deve desativar o gerenciador de arquivos da manipulação da área de trabalho. Isso significa que você não terá mais pastas na área de trabalho.

    No GNOME / Unity, instale a GNOME Tweak Tool:

     sudo apt-get install gnome-tweak-tool
    

    Abra o GNOME Tweak Tool e, na seção "Área de trabalho", defina "Como o gerenciador de arquivos lida com a área de trabalho" como DESLIGADO.

    E, finalmente, para restaurar os papéis de parede toda vez que você fizer login, adicione "nitrogen --restore" aos seus aplicativos de inicialização.

    Veja como minha área de trabalho se parece com papéis de parede diferentes para cada monitor:

    insira a descrição da imagem aqui

    Recursos :

    • Suporte para Multihead e Xinerama.
    • Rechame o modo para restaurar papéis de parede via script de inicialização.
    • Usa o padrão freedesktop.org para miniaturas.
    • Pode definir o plano de fundo do GNOME.
    • Modos de conjunto de linha de comando para uso de script.
    • Inotify monitoramento dos diretórios navegados.
    • Carregamento lento de miniaturas - economiza memória (novo na versão 1.3).
    • Modo de configuração "Automático" - determina o melhor modo para definir uma imagem com base em seu tamanho. (novo em 1.4).
    • Exiba imagens de visualização em um layout de ícone lado a lado (novo na versão 1.5).

    Instale através do centro de software


O nitrogênio parece ser a melhor opção. O Syncwall parece estar usando o hack que você descreveu (imagem grande para dividir em vários monitores.

Rinzwind
fonte
2
Você realmente tem vários monitores lá? Parece que sim. Espaços de trabalho ...
Seth
Eu acabei de instalar syncwall; ele não tem qualquer opção para definir um papel de parede diferente para cada monitor ...
Radu Rădeanu
A solução de nitrogênio, também descrita por Radu, funciona muito bem! Vocês dois mereceriam a recompensa :) Para decidir qual resposta é melhor, estou tentando avaliar a usabilidade da solução Syncwall. No entanto, não consegui fazê-lo funcionar. Em Preferências -> Exibir parâmetros , vejo a opção "Estender imagem e cortar (um arquivo por monitor)", mas não consigo descobrir como realmente adicionar vários arquivos. Mesmo com essa opção definida, o Syncwall usa apenas um arquivo. Ele se comporta da mesma forma que em "Ampliar imagem e recortar (um arquivo para todos os monitores)". Você poderia explicar como adicionar vários arquivos no Syncwall?
Malte Skoruppa
1
@Rinzwind Uma coisa que eu não entendo: se o syncwall parece usar o hack descrito na pergunta , qual é o motivo para adicioná-lo como resposta? A questão é clara: papéis de parede diferentes em vários monitores. E outra coisa: se você testasse nitrogênio em dois monitores, não diria que a última imagem é photoshopada; tente você mesmo, faça uma tela de impressão de mesa quando usar dois monitores e entenderá o que quero dizer.
Radu Rădeanu
Syncwall parece trabalho, mas não para replicar o layout da tela da pergunta original .. ele não deixe-me empilhar as telas na parte superior do anotner mas apenas à esquerda e direita: /
bksunday
6

o plug-in do XFCE Desktop Manager (que vem no pacote xubuntu-desktop) permite editar cada exibição individualmente, mantendo as pastas em suas áreas de trabalho.

Uma captura de tela dos meus 2 desktops com o gerente aberto: http://i.stack.imgur.com/Bzg7G.jpg

na caixa amarela, diz "Mova esta caixa de diálogo para a tela para a qual deseja editar as configurações".

Sinto muito, mas não posso ajudar mais a dar instruções sobre como instalá-lo, nem como o plug-in é chamado (tentei encontrá-lo, mas decidi reinstalar o pacote inteiro) - Mas espero que isso aconteça você ou alguém no caminho certo, e esta resposta pode ser melhorada através de edições.

Ulad Kasach
fonte
2

Fiquei feliz em ver que havia uma resposta do Gnome / Unidade.

Dito isto, ainda sinto que mudar para o KDE pode oferecer uma experiência mais consistente.

O gerenciador de configurações nativas do KDE não apenas permite vários papéis de parede em vários monitores, como também pode ser definido de maneira diferente para cada área de trabalho virtual E Atividade. (As atividades são como áreas de trabalho virtuais que contêm áreas de trabalho virtuais e podem ser configuradas para ter configurações diferentes, como um protetor de tela após 5 minutos de quietude em uma atividade, mas sem tempo limite quando alternado para outro, digamos, para apresentações ou filmes.)

Além disso, ele lida com a adição e subtração de monitores em tempo real (via conexão e desconecção de HDMI) sem problemas!

virtualxtc
fonte
0
sudo apt-get install feh

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

Não é necessário ocultar seus ícones da área de trabalho

Mosssi
fonte
1
Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre o que esse comando faz. Um comando simples ou sequência de comandos raramente é considerado uma resposta. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas sobre Ask Ubuntu.)
David Foerster