qt4 as aplicações não funcionam no Xephyr

5

Estou usando Xephyr para executar aplicativos como outro usuário, enquanto estiver conectado como usuário principal.

A maioria dos aplicativos funciona bem em Xephyr , exceto qt4 . Especificamente:

electrum
ipython qtconsole
qbittorrent

Os aplicativos acima funcionam quando iniciados no servidor X normal, mas quando eu os inicio em Xephyr , vejo apenas o quadro da janela, mas ele está em branco.

Como posso resolver este problema?

Meu sistema operacional é o Debian Wheezy e os números de versão são:

xserver-xephyr    1.12.4
libqtcore4        4.8.2

Veja como inicio minha Xephyr session:

Xephyr :1 -screen 1920x1080 -nolisten tcp -reset -terminate >/dev/null 2>&1 &
terminator --execute su - user2 -c 'DISPLAY=:1 startlxde >/dev/null 2>&1 &'

UPDATE Eu testei com XFCE4 e tenho o mesmo problema. Aplicativos QT4 ainda não funcionam, eu recebo uma janela em branco. Como exemplo, veja como a janela qbittorrent loks como:

    
por Martin Vegter 19.12.2015 / 22:24

2 respostas

1

Enquanto a questão é que o Xephyr foi executado corretamente (já que nenhuma informação é fornecida sobre isso), eu pelo menos confirmei que o qBittorrent roda bem no Xephyr no Debian Xfce Wheezy.

qBittorrent no Xephyr

A imagem abaixo mostra qBittorrent 2.9.8 no Xephyr.

IssofoitestadonoDebianXfceWheezyeusandoospacotesmaisrecentesdelibqtcore4exserver-xephyrdisponíveisatéestadata,quesãosemelhantesàsversõescitadasnapergunta.

$lsb_release-aNoLSBmodulesareavailable.DistributorID:DebianDescription:DebianGNU/Linux7.9(wheezy)Release:7.9Codename:wheezy$dpkg-query-W|greplibqtlibqt4-dbus:i3864:4.8.2+dfsg-11libqt4-network:i3864:4.8.2+dfsg-11libqt4-xml:i3864:4.8.2+dfsg-11libqtcore4:i3864:4.8.2+dfsg-11libqtdbus4:i3864:4.8.2+dfsg-11libqtgui4:i3864:4.8.2+dfsg-11$dpkg-query-W|grepxephyrxserver-xephyr2:1.12.4-6+deb7u6

Problemarelacionado,masnãomuito

Aúnicapesquisarelevantequeencontreifoi Bug 71421 , informando sobre "Aplicativos Qt5 não funcionam com Xephyr ".

When trying to run any Qt5 (or apparently GTK3) apps inside Xephyr, they don't work (as in nothing is shown). GTK2 or Qt4 works just fine as well as GLX apps (glxgears for example). Also tested on standalone X server with no DM running - Qt5 works perfectly fine there, just inside Xephyr they don't.

Esse bug é semelhante ao caso da questão, exceto afetando apenas os aplicativos Qt5. O bug foi devido ao Qt5 e foi corrigido recentemente no final de abril deste ano.

Identifique o problema

Não foram fornecidas informações sobre como o aplicativo foi executado no Xephyr.

The above applications work when started in normal X server, but when I start them in Xephyr, I only see the window frame, but it is blank.

Com base no texto citado, tenho outra dúvida: o Xephyr foi executado com argumentos inválidos? Ou melhor, como o aplicativo foi executado como outro usuário no Xephyr?

Se você está realmente certo de que os aplicativos Qt4 não funcionam no Xephyr, pode ser um problema não relatado no pacote Qt4. Mas desde que eu confirmei que o qBittorrent (baseado no Qt4) corre bem no Xephyr, pode ser um problema com o "outro usuário" ou com o modo como o Xephyr foi executado a partir da sessão atual.

No uso do Xephyr

Estas são algumas fontes online que explicam sobre o uso do Xephyr para realizar certas tarefas.

  1. Xephyr no ArchWiki. Um bom lugar para começar a executar o Xephyr, mas não explica muito sobre o uso extensivo além de executar um Terminal ou um Gerenciador de Janelas no Xephyr.

  2. Não faço ideia de como começar a usar o Xephyr. O que estou fazendo de errado? na lista de discussão da Xorg, datada de quinta-feira, 23 de janeiro, 17:16:40 PST 2014. Outra maneira de executar o Xterm no Xephyr.

  3. Como executar vários desktops X? no Super User, em 22 de julho de 2009. Uma das respostas sugeridas para usar o Xephyr. Forma semelhante à sugerida na fonte # 1.

  4. Configuração de vários tipos / Xephyr: como fazer um multiterminal com Xephyr no Wikilivros.

  5. Capturas de tela de vários Xservers no Unix & Linux Stack Exchange, perguntado em 21 de agosto de 2014.

  6. Howto: execute o firefox (e outras coisas) como um usuário separado com o Xephyr . Este parece ser o uso mais semelhante, como sugerido na pergunta.

A razão pela qual citei estas fontes, é fornecer dicas relevantes que podem ajudá-lo a esclarecer se você está executando o aplicativo Qt no Xephyr corretamente ou então.

Dito isto, há algo complicado para entender a primeira frase "usando o Xephyr para executar aplicativos como outro usuário, enquanto logado como usuário primário". Afinal, eu não criei "outro usuário" para testar o qBittorrent no Xephyr. Talvez outra pessoa possa dar uma resposta melhor.

    
por 28.12.2015 / 07:43
0

Pode ser útil saber qual comando é usado para iniciar o Xephyr e qual gerenciador de janelas está em uso.

Eu tentei isso:

Xephyr :1 &
DISPLAY=:1 openbox &
DISPLAY=:1 qbittorrent

e obtém conteúdo incompleto da janela do qbittorrent. Tentando o mesmo com xfwm4:

Xephyr :1 &
DISPLAY=:1 xfwm4 &
DISPLAY=:1 qbittorrent

então está tudo bem, e o qbittorrent é utilizável.

Eu não posso explicar por que há uma diferença, mas obviamente existe uma. Eu suspeitei de problemas com o composto e tentei executar o Xephyr com o composto ativado:

Xephyr +extension Composite :1 &

mas isso parece não fazer diferença.

EDIT: xfwm4 tem habilidades de composição, openbox não. Talvez composição seja, no entanto, a chave crucial.

    
por 30.08.2016 / 13:54