Projeto

Geral

Perfil

Instalação do grSim Linux num computador Windows utilizando WSL (recomendado) » Histórico » Versão 47

Gabriel Borges da Conceição, 18/10/2021 14:07 h

1 1 Vinícius Neves
# Instalação do grSim Linux num computador Windows utilizando WSL (recomendado)
2
3 2 Vinícius Neves
### Habilitação do WSL
4
5 47 Gabriel Borges da Conceição
É necessário Windows 10 x64, versão 1903 ou superior, com o Build 18362 ou superior. Para verificar isso, abra o powersell e digite:
6
7
~~~
8
Get-CimInstance Win32_OperatingSystem
9
~~~
10 17 Gabriel Borges da Conceição
11 10 Gabriel Borges da Conceição
O WSL (Windows Subsystem for Linux) é um recurso opcional disponível no Windows 10 (a partir da versão 1607) que te permite executar binários e scripts em Linux diretamente no Windows, traduzindo as instruções enviadas para o sistema (as chamadas do sistema ou system calls) para uma instrução válida para o kernel do Windows. Com ele é possível ter um ambiente idêntico a de uma distribuição Linux que você já esteja acostumado sem precisar usar uma máquina virtual ou algo do tipo para isso.
12 1 Vinícius Neves
13 10 Gabriel Borges da Conceição
Como dito, não é necessário baixar ou instalar o WSL, mas apenas habilitá-lo no Windows a partir do PowerShell.
14 9 Gabriel Borges da Conceição
15 10 Gabriel Borges da Conceição
No PowerShell (executando como administrador), execute os seguintes comandos:
16 2 Vinícius Neves
17 4 Vinícius Neves
~~~
18 19 Gabriel Borges da Conceição
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
19 46 Gabriel Borges da Conceição
~~~
20 8 Vinícius Neves
21 46 Gabriel Borges da Conceição
~~~
22 1 Vinícius Neves
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
23
~~~
24 2 Vinícius Neves
25 38 Gabriel Borges da Conceição
Será necessário **reiniciar o computador**.
26 10 Gabriel Borges da Conceição
27 15 Gabriel Borges da Conceição
Em seguida, baixe e instale o pacote de atualização do kernel do Linux [aqui](https://docs.microsoft.com/pt-br/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package) (arquivo informado no passo 1 da etapa 4).
28 8 Vinícius Neves
29 10 Gabriel Borges da Conceição
Será baixado um arquivo de extensão msi. Execute-o e apenas siga os passos de instalação, não sendo necessário alterar nenhuma opção.
30 2 Vinícius Neves
31 10 Gabriel Borges da Conceição
De volta ao PowerShell, execute o seguinte comando para utilizar a versão 2 do WSL:
32 1 Vinícius Neves
33 10 Gabriel Borges da Conceição
34 1 Vinícius Neves
~~~
35
wsl --set-default-version 2
36 8 Vinícius Neves
~~~
37
38 40 Gabriel Borges da Conceição
Após ter habilitado o WSL, vá à Microsoft Store (aplicativo que já vem no Windows e pode ser encontrado pela barra de pesquisa do Windows), faça o download do Ubuntu 20.04 LTS e inicialize-o.
39 10 Gabriel Borges da Conceição
Ao término da instalação do aplicativo Ubuntu, conferira se a versão do WSL utilizada está correta. Execute, no PowerShell (deve aparecer a versão 2):
40 8 Vinícius Neves
41 1 Vinícius Neves
~~~
42
wsl -l -v
43
~~~
44
45 10 Gabriel Borges da Conceição
Caso ainda apareça a versão 1 para o aplicativo, execute:
46 1 Vinícius Neves
47 10 Gabriel Borges da Conceição
~~~
48
wsl --set-version Ubuntu-20.04 2
49
~~~
50 1 Vinícius Neves
51 18 Antonio de Souza Gomes Pereira
Caso o problema persista, veja se o Hyper-V está habilitado na sua máquina. (https://docs.microsoft.com/pt-br/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
52 1 Vinícius Neves
53 10 Gabriel Borges da Conceição
### Inicialização e configuração do Ubuntu
54 4 Vinícius Neves
55 10 Gabriel Borges da Conceição
Após ter baixado o Ubuntu 20.04 LTS, inicie-o. Será pedido que se crie um nome de usuário e uma senha. 
56
57 34 Gabriel Borges da Conceição
Em seguida, execute os seguintes comandos: **(Dica importante: Para colar textos/comandos no terminal do Ubuntu, basta dar um clique com o botão direito do mouse)**
58 10 Gabriel Borges da Conceição
59 1 Vinícius Neves
~~~
60 4 Vinícius Neves
sudo apt-get upgrade
61 10 Gabriel Borges da Conceição
sudo apt-get update
62
sudo apt-get install gedit (é opcional, mas vai ser usado para alterar o .bashrc posteriormente)
63 4 Vinícius Neves
~~~
64 1 Vinícius Neves
65 10 Gabriel Borges da Conceição
Obs: Vai demorar um pouco devido ser a primeira instalação
66
67 1 Vinícius Neves
### Interface gráfica
68
69 15 Gabriel Borges da Conceição
Para ser possível obter uma interface gráfica com WSL, precisamos de um xserver no Windows. Vamos utilizar o Xming, você pode baixá-lo [aqui](https://sourceforge.net/projects/xming/).
70 1 Vinícius Neves
71 20 Gabriel Borges da Conceição
Após baixado e instalado, abra o Xlaunch em seu computador e siga os passos (habilitando a opção "No Access Control" na penúltima etapa):
72 1 Vinícius Neves
73 22 Gabriel Borges da Conceição
![](xlaunch0.png)
74 23 Gabriel Borges da Conceição
75
![](xlaunch1.jpeg)
76
77
![](xlaunch2.jpeg)
78
79
![](xlaunch3.jpeg)
80
81
![](xlaunch4.jpeg)
82 4 Vinícius Neves
83 24 Gabriel Borges da Conceição
Então, o Xming estará rodando em backgroud, podendo ser observado pela seta no canto inferior direito da barra de tarefas do Windows:
84
85
![](xlaunch5.png)
86 4 Vinícius Neves
87 10 Gabriel Borges da Conceição
Em sequência, retorne ao Ubuntu e execute os seguintes comandos:
88
89 4 Vinícius Neves
~~~
90 10 Gabriel Borges da Conceição
sudo apt-get remove openssh-server
91
sudo apt-get install openssh-server
92 4 Vinícius Neves
sudo nano /etc/ssh/sshd_config
93 1 Vinícius Neves
~~~
94
95 10 Gabriel Borges da Conceição
O último comando irá abrir o arquivo no temrinal. Após aberto, será preciso realizar as seguintes alterações:
96 1 Vinícius Neves
97 10 Gabriel Borges da Conceição
(Alguns vão precisar apenas de tirar a #, ou seja, descomentar)
98 1 Vinícius Neves
99 31 Gabriel Borges da Conceição
~~~
100 10 Gabriel Borges da Conceição
Alterar: ListenAddress 0.0.0.0
101
Alterar: Port 2200
102
Alterar: PermitRootLogin no
103 33 Gabriel Borges da Conceição
Adicionar: AllowUsers <seu_username_do_ubuntu> (Ex: AllowUsers gabriel) (pode ser adicionado em qualquer linha) 
104 10 Gabriel Borges da Conceição
Alterar: PasswordAuthentication yes
105
Adicionar: UsePrivilegeSeparation no (pode ser adicionado em qualquer linha)
106 31 Gabriel Borges da Conceição
~~~
107 1 Vinícius Neves
108 10 Gabriel Borges da Conceição
Com as alterações feitas, pressione ctrl + x para sair e y + enter para salvar suas alterações.
109 1 Vinícius Neves
110 4 Vinícius Neves
### Desativar todos os firewalls do Windows
111
112 25 Gabriel Borges da Conceição
Vá em Windows Defender Firewall -> Ativar ou Desativar o Windows Defender Firewall -> desative todos os firewalls:
113
114
![](WDF0.png)
115
116
![](WDF1.png)
117
118
![](WDF2.png)
119 4 Vinícius Neves
120 10 Gabriel Borges da Conceição
Execute no Ubuntu:
121 4 Vinícius Neves
122
~~~
123
sudo service ssh --full-restart
124 1 Vinícius Neves
~~~
125
126 10 Gabriel Borges da Conceição
### Habilitando display
127
128 16 Gabriel Borges da Conceição
Execute o seguinte comando no terminal do Ubuntu para habilitar o display:
129
130 10 Gabriel Borges da Conceição
~~~
131 16 Gabriel Borges da Conceição
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 
132
~~~
133
134 26 Gabriel Borges da Conceição
Agora, para não precisar executar esse comando toda vez que iniciar o Ubuntu, escreva-o no arquivo .bashrc (o nome do arquivo realmente tem um ponto na frete. Isso significa que ele é oculto):
135 16 Gabriel Borges da Conceição
136
~~~
137 33 Gabriel Borges da Conceição
cd /home/<sua_pasta_de_usuário> (Ex: cd /home/gabriel)
138 27 Gabriel Borges da Conceição
gedit .bashrc (ou simplesmente sudo nano .basrsh) -> com gedit é mais fácil pra colar
139 10 Gabriel Borges da Conceição
~~~
140 1 Vinícius Neves
141 16 Gabriel Borges da Conceição
Cole o mesmo comando (em qualquer linha) e salve o arquivo:
142 10 Gabriel Borges da Conceição
143
~~~
144
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 
145
~~~
146
147 36 Gabriel Borges da Conceição
### Instalando o grSim (não deixe de ler a informação importante ao final)
148 1 Vinícius Neves
149 14 Gabriel Borges da Conceição
Siga o tutorial de [[Instalação do grSim]]
150 4 Vinícius Neves
151
Ao final, o grSim deve ter sido iniciado.
152 10 Gabriel Borges da Conceição
153 41 Gabriel Borges da Conceição
Agora, no **nosso projeto do LabVIEW**, em "Local IP" pode ser colocado o ip (versão 4) do computador Windows ou simplesmente ser deixado em branco. (Para saber o ip do computador, abra o cmd ou PorwerShell e digite "ipconfig")
154 1 Vinícius Neves
155 28 Gabriel Borges da Conceição
![](ipconfig.png)
156
157
Estou usando Wifi, então pego o da opção "Adaptador de Rede sem Fio Wi-Fi". Caso esteja utilizando cabo de rede, seu ipv4 aparecerá em "Adaptador Ethernet Ethernet".
158 1 Vinícius Neves
159
Por fim, em Address em "Com UDP" coloque o ip atribuído ao aplicativo do Ubuntu. (Para saber esse ip, abra uma nova janela do ubuntu e digite "ifconfig". É o que aparece em "inet")
160
161 28 Gabriel Borges da Conceição
![](ifconfig.png)
162
163 44 Gabriel Borges da Conceição
**Informação importante**: 
164 36 Gabriel Borges da Conceição
165 45 Gabriel Borges da Conceição
O fps ideal para o grSim é 62,5. Para que o simulador rode o mais próximo disso, a melhor solução é **rodar o grSim sem interface gráfica** (./grSim -H) e utilizar o software **ra** da erforce para posicionar robôs e bola (precisa rodar apenas o ra que é um client para um simulador SSL, seja grSim ou o simulator-cli da erforce. Logo, se estiver utilizando o grSim, não deve rodar o simulator-cli) ([[Instalção do simulador da er-force num computador Windows utilizando WSL]]).
166 1 Vinícius Neves
167 44 Gabriel Borges da Conceição
Nesse momento que foi escrita essa wiki, nosso código ainda não permite posicionar robôs e bola de forma prática. No futuro, faremos isso e não será mais preciso utilizar o ra.
168 42 Gabriel Borges da Conceição
169 44 Gabriel Borges da Conceição
Mas, caso queira utilizar a própria interface 3D no grSim (rodando apenas ./grSim), essa interface será renderizada pelo xming. Portanto nunca maximize a tela do Xming! Isso faz o fps cair e não voltar mais ao máximo mesmo depois de minimizar. Para visualizar o campo e reposicionar robôs e bola, estenda a janela do Xming lateral e verticalmente, mas sem maximizar. E, de preferência, deixe e Xming minimizado ao rodar o código.
170
171
![](bizu_xming.png)