StartXCFE4 com Vcxsrv não funciona

StartXCFE4 com Vcxsrv não funciona
  • Versão WSL: 1.0.3.0
  • Versão do Ubuntu: 22.04.1 LTS

Vcxsrv ainda está preto.

Eu adicionei export DISPLAY=:172.X.XXX.X:0.0no meu .bashrcarquivo.

Quando executo o comando, sudo startxfce4recebo esta mensagem:

(xfwm4:4818): xfwm4-WARNING **: 15:06:25.234: Could not find a screen to manage, exiting

(xfsettingsd:4826): libupower-glib-WARNING **: 15:06:25.308: Couldn’t connect to proxy: Could not connect: No such file or directory
xfsettingsd: Another clipboard manager is already running.

(xfsettingsd:4826): xfsettingsd-WARNING **: 15:06:25.656: Failed to get the _NET_NUMBER_OF_DESKTOPS property.

Responder1

Alguns problemas para resolver:

  • Primeiro, você está tentando executar startxfce4usando o sudo. Isso é um problema porque (a) você realmente não deseja executar sua área de trabalho como root e (b) sudopor padrão não passa variáveis ​​de ambiente do seu usuário para a sudosessão, portanto não há nenhum DISPLAYconjunto.

  • Em segundo lugar, mesmo se você executar como usuário normal, o Xfce4 verá a WAYLAND_DISPLAYvariável fornecida pelo WSLg e se recusará a executar, já que o Wayland no WSL é fornecido pelo Weston, que fornece seu próprio gerenciador de janelas (consulteesta respostapara detalhes).

Consegui fazer o Xfce4 rodar com uma sessão VcXsrv em tela cheia usando o seguinte:

  • Execute o Xlaunch com "Uma janela sem barra de título", "Iniciar nenhum cliente" e "Desativar controle de acesso".

  • No Ubuntu:

    export DISPLAY=$(hostname).local:0
    export WAYLAND_DISPLAY=
    startxfce4
    

    O export DISPLAYformulário que eu uso lá funcionasem considerardo endereço IP do WSL, do switch de rede WSL2 ou do próprio Windows. No entanto, é necessário que você use o resolvedor WSL2 integrado.

  • Provavelmente, isso também exigirá uma regra de firewall. Normalmente, o Windows Defender irá gerar uma caixa de diálogo solicitando que você aprove ou negue a conexãoa primeira vez que é usado. Se você já fez uma conexão no passado, esta regra pode ter sido criada para você. No entanto, se você perdeu a caixa de diálogo (às vezes ela apareceatrásoutras janelas), então uma regra de "negação" pode ter sido implementada e você precisará corrigir.

informação relacionada