Gnome 3 no bash no Ubuntu no Windows

1

É possível substituir o explorer.exe pelo Gnome3 no subsistema Linux do Windows10? Eu vi tutoriais com o Cgywin, mas eu queria saber se alguém conseguiu usar o WSL?

Eu tive problemas com

DISPLAY=localhost:0
    
por Lightly Salted 06.11.2016 / 02:42

3 respostas

3

Acabei de testar o Gnome 3 e parece que não será fácil executá-lo, mas atualmente tenho uma barra de tarefas dupla configurada no meu PC e no meu laptop, uma barra de tarefas do Windows e um XFCE4. Aqui está como eu configurei:

  • Primeiro, certifique-se de que o WSL esteja configurado.
  • Em seguida, instale VcXsrv no lado do Windows. Isso será usado para exibir a saída gráfica do WSL.
  • Agora precisamos informar ao WSL para apontar para VcXsrv, para executar essa execução: echo "export DISPLAY=:0.0" >> ~/.bashrc Esse arquivo será lido em cada inicialização de bash .
  • há também um problema com o dbus que precisamos resolver, para fazer isso basta executar: sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf no bash.
  • Permite que o teste funcione totalmente, ative o XLaunch (parte do VcXsrv), escolha "Multiple Windows" e coloque 0 como o número de exibição. Clique duas vezes e depois termine.
  • Execute algo gráfico para testar, tente xeyes (talvez seja necessário instalar primeiro o x11-apps: sudo apt-get install x11-apps )
  • funcionou? bom, agora precisamos ter uma área de trabalho em execução, vou mostrar os passos para o XFCE4, mas vi o Unity funcionando e suspeito que o LXDE deva funcionar. (Eu sei que o Cinnamon tem vários problemas que parecem semelhantes ao Gnome)
  • Executar: sudo apt-get install xfce4
  • Quando terminar, execute: xfce4-session , espere um minuto e deverá receber um pop-up perguntando sobre painéis, eu recomendaria escolher a configuração padrão, a menos que você esteja acostumado com o XFCE4.
  • Se tudo isso funcionar, estamos quase prontos para começar, sinta-se à vontade para posicionar e configurar sua nova barra de tarefas agora.
  • A próxima coisa que precisamos é uma maneira de impedir a maximização de janelas sob a nova barra de tarefas. Para isso, usei Desktop Coral , é livre, mas meio chato, você tem que pegar uma nova chave a cada seis meses, mas depois de um tempo você ganha uma chave vitalícia. Se você não quiser usar isso, procure um programa que possa reservar espaço na tela.
  • Uma vez configurado, configure-o para que ele reserve o mesmo espaço onde seu painel ficará e verifique se as janelas não estão sendo desenhadas abaixo dele. Quando você está feliz, marque a opção de modo transparente
  • Agora precisamos fazer tudo isso perfeitamente "apenas funcionar", o Desktop Coral já é executado na inicialização, o que é coberto. Agora precisamos de um script no lado do Windows para obter o bash e o XFCE4 em execução na inicialização. Abra um editor de texto (o bloco de notas serve) e cole isso:

    set ws=wscript.createobject("wscript.shell")
    ws.run """C:\Program Files\VcXsrv\vcxsrv.exe"" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl",0
    WScript.Sleep 500
    ws.run "C:\Windows\System32\bash.exe -c 'export DISPLAY=:0.0; xfce4-session'",0
    
  • Isso inicia nosso X Server e nosso ambiente de área de trabalho de uma só vez, salve-o como <somewhere important>/<whatever>.vbs .

  • Teste este script clicando em VcXsrv e clicando duas vezes no script, aguarde um pouco e a nova barra de tarefas deve aparecer.
  • Agora, precisamos fazer isso na inicialização, então inicie o Agendador de tarefas, vá para Ação - > Criar tarefa básica ...
  • Dê um nome à sua tarefa, clique em Avançar e escolha "Quando eu fizer logon". Clique em Avançar duas vezes e, em seguida, digite ou navegue até o seu script. Clique em Next e finalmente em Finish.
  • A última coisa é reiniciar para ver se funciona!

Isto deve dar a você um ambiente Linux mais funcional dentro do Windows, não é prefeito (pode querer transformar o protetor de tela em um), mas funciona! Eu ainda não descobri como substituir o Explorer, eu suspeito que isso não será possível, pois quaisquer programas que você executar a partir de sua nova barra de tarefas aparecerão na barra de tarefas do Windows e não no XFCE4.

Como um aparte, não se deixe intimidar pela má aparência do XFCE4, ele é totalmente personalizável e vem com vários temas internos para você escolher, além de muito mais para fazer o download.

Uma nota final é que essa barra de tarefas será desenhada sobre as janelas de tela inteira, atualmente eu uso o TurboTop para o tun isso quando eu preciso, não particularmente elegante, então fique de olho em esta pergunta para uma solução.

    
por 07.11.2016 / 02:38
0

Acho que não é possível.

explorer.exe é o Shell do Windows. explorer.exe é lançado pelo WinLogon após autenticação bem sucedida. O WinLogon o identifica como shell, observando a chave de registro Shell aqui:

 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

O método cygwin de que você está falando é que eu acho esse (eu só encontrei este antigo método com uma pesquisa rápida): link

Pelo que eu consigo entender, é que vamos apenas substituir explorer.exe na chave de registro acima especificada por c:\cygwin\bin\bash --login -c startx

Isso significa que, quando fizermos login, o Windows Explorer não será iniciado, em vez disso, o bash irá e iniciará o servidor X (o que significa que o KDE [ou o GNOME] será iniciado). Agora, vamos detalhar o que vai acontecer aqui.

Primeiro, não há o Windows Explorer. Se você já matou todos os processos explorer.exe do Gerenciador de Tarefas, você deve ter notado uma tela em branco. Se você tiver alguns aplicativos abertos, ele flutuará na tela, mesmo que você os minimize, porque não há explorer.exe para lidar com as janelas abertas.

Agora, o bash (e, portanto, o GNOME) que foi lançado é um aplicativo de tela cheia (muito parecido com um jogo). Ele será executado como um gerenciador de janelas normal, ele procurará arquivos, terá sua própria barra de tarefas e área de notificação, etc. Mas, no final, é apenas um aplicativo normal, não diferente de notepad.exe (exceto full tela, é claro). O link acima diz algo que sugere isso:

Note: if you want to run windows programs from here, on Windows 2000 you can press Ctrl-Shift-Esc which brings up the Task Manager, then go File/Run.

O Launching Task Manager sairá do modo de tela cheia e mostrará a interface GNOME do Gerenciador de Tarefas "acima", em vez de "dentro" dela.

Em relação ao logout, isso é mencionado:

Logging out from KDE doesn't actually log out, you need to close KDE in another way and then press Ctrl-Alt-Del and choose logout. Depending on your .xserverrc parameters, Ctrl-Alt-Backspace or Alt-F4 can be made to close the X server. Otherwise, you can close it from the Task manager (select the Cygwin task and say End Task).

Portanto, sem dúvida, você verá uma interface do GNOME quando fizer login e poderá aplicar todos os hacks tediosos para iniciar aplicativos do Windows por meio de atalhos, mas não substituirá o explorer.exe .

    
por 09.11.2016 / 14:51
0

A propósito, tudo que você precisa fazer é:

apt update && apt upgrade -y && apt install xfce4 x11-apps lightdm

então,

xfce4-session --display=0:0

Apenas certifique-se de estar usando xming ou vcxsrv ou algo no windows

    
por 15.04.2018 / 21:34