Programando às cegas: utilizando Windows e Linux juntos para aumentar sua produtividade parte IV

Salve, galera!

Este é o quarto e último artigo de nossa série sobre como usar ambientes Windows e Linux juntos para uma maior produtividade em ambientes de desenvolvimento.

  • parte I – Introdução
  • parte II – Instalando a máquina virtual
  • parte III – Instalando o Arch Linux
  • Parte IV – integrando Linux e Windows

No artigo anterior, instalamos o Arch Linux com acessibilidade.

Agora, cuidaremos da integração da máquina virtual com o Windows.

Tirando um snapshot da máquina

Para começar, vamos garantir que, independentemente do que fizermos, poderemos trazer a máquina ao estado atual, caso precisemos.

Para isso, utilizaremos um recurso chamado de snapshot, que é uma espécie de backup inteligente de máquinas virtuais. Quando tiramos um snapshot salvamos a máquina da maneira que está, com todos os seus arquivos, configurações e assim sucessivamente.

Agora, temos uma máquina sem configuração alguma, mas que liga e funciona.

Se errarmos nas configurações futuras, poderemos voltar ao ponto em que as coisas estavam e tentar novamente o que deu errado até acertarmos as configurações.

  1. Se sua máquina virtual estiver ligada, desligue com o comando

    shutdown -h now
    

    Você notará que a conexão SSH é fechada e a janela do VirtualBox onde a máquina estava ligada também vai fechar.

  2. Feche e abra a janela principal do VirtualBox. Não mova as setas, pois nenhuma máquina pode estar selecionada neste ponto.

  3. ALT para ir até a barra de menus, seta para a direita até máquina, seta para baixo até ferramentas, seta para a direita e depois seta para baixo até snapshots. Pressione enter para marcar.

    • 3.1. Se a opção ferramentas não aparecer, isso significa que uma das máquinas está selecionada. Tente reiniciar seu computador e repetir os passos acima. Isso é bem tedioso, mas precisará ser feito apenas uma vez, pois quando os snapshots estiverem habilitados aparecerão para a (s) máquina (s) virtual (is) sem mais complicações.
  4. Selecione a sua máquina virtual na lista de máquinas na janela principal do VirtualBox.

  5. Selecione na barra de menus o menu snapshot e vá em criar.
  6. Preencha o nome do snapshot. Não pressione tab, de outra forma você cairá em um campo de descrição do qual não conseguirá sair. Em vez disso, pressione shift + tab até o botão ok e aperte enter.
  7. O VirtualBox não te dirá nada. A acessibilidade deste produto é sofrível para dizer o mínimo.
  8. Entretanto, se andar com tabs você vai chegar agora a uma lista de snapshots da máquina atual. Esta lista é bem verbosa, mas setas para cima e para baixo te permitem navegar pelos snapshots. Um deles, chamado estado atual, deve sempre estar selecionado se você quiser continuar usando sua máquina no estado atual.

    Se precisarmos restaurar, selecionamos o snapshot desejado e no menu snapshot podemos restaurá-lo.

  9. Estamos fazendo a coisa certa e, como quase sempre acontece, o VirtualBox nos pune por isso.

    Como somos desenvolvedores, ignoramos a luta que o produto impõe contra quem depende de sua acessibilidade. Se os menus contextuais sumirem, você precisará utilizar a barra de menus no menu máquina para iniiciar sua máquina virtual.

    Por vezes, apenas reiniciar o NVDA fará com que os menus de contexto voltem a funcionar, ao menos por mais algum tempo, quando precisaremos fazer isto novamente.

habilitando SWAP

No artigo anterior, criamos a partição SWAP mas nos esquecemos de montá-la quando o sistema inicia.

Cuidaremos disso agora. Faça o comando

echo "/dev/sda2 none swap sw 0 0" >> /etc/fstab

Este comando usa o echo e o redirecionamento de arquivo para adicionar seu conteúdo ao arquivo /etc/fstab. O duplo maior ** >> ** faz com que o eco seja adicionado ao arquivo sem sobrescrevê-lo.

Configurando NTP

Da mesma forma que na instalação, vamos configurar a máquina para sincronizar seu horário com um servidor NTP. Faça o comando

timedatectl set-ntp true

Atualizando o sistema

O Arch Linux exige que atualizemos o sistema periodicamente, ao menos se quisermos instalar novos pacotes.

Como uma distribuição avançada, novos pacotes são disponibilizados tão logo quanto seus desenvolvedores os atualizem. Isto significa que você será forçado a sempre andar no limiar da inovação, o que quer dizer que seu sistema será sempre moderno, mas também sempre estará arriscado a quebrar.

Embora, ao menos comigo, com um uso muito intenso do sistema isso nunca tenha acontecido, a prudência sempre deve operar quando você depende de uma máquina para o seu trabalho diário.

Assim, sempre que fizermos um upgrade geral de sistema, devemos antes tirar um snapshot da máquina.

No momento, estamos com um sistema recém instalado. Faz sentido atualizá-lo e, para isso, ligue sua máquina virtual e descubra seu IP, como já fizemos algumas vezes.

Depois, se conecte via SSH no sistema e faça o comando

pacman -Syu

Uma lista de pacotes será mostrada e uma confirmação será solicitada. Responda com y e aguarde o sistema atualizar.

Após a atualização, faça o comando

reboot

para reiniciar a máquina.

Embora não seja necessário, sempre gosto de subir a máquina novamente para garantir que nada quebrou. Se o sistema reiniciar, nada quebrou.

Designando um IP fixo

Problema

Você sabe que, como as coisas estão, precisaremos executar

ip a | grep 192.168

para descobrirmos qual IP o VirtualBox associou à nossa máquina sempre que a ligarmos, isso porque usamos o serviço DHCPCD para solicitar IPs para as nossas duas placas de rede, tanto a que se conecta via rede NAT com a internet quanto a rede Host Only que usamos para permitir nossa conexão a partir do Windows.

Entretanto, isso nos causa um inconveniente, já que o primeiro D do serviço DHCPCD significa dinâmico.

Se você parar para pensar, isso faz sentido: quando você se conecta na internet, não recebe um envelope da sua operadora contendo instruções para configurar seu IP, você apenas liga o modem e a mágica acontece. Mas, sabendo que todos precisamos de um IP para nos conectarmos, como isso acontece?

Acontece, sem tirar nem por, exatamente o mesmo que com sua máquina virtual: seu modem pede a um servidor DHCP que um IP disponível na rede seja associado a ele.

O servidor DHCP olha em uma lista de IPs disponíveis na rede que ele gerencia e associa um deles para seu modem. Entretanto, por design, ele não reserva nenhum endereço IP para seu modem, se não você poderia ficar dois meses longe da internet e aquele IP ficaria sem uso. Em vez disso, cada vez que seu modem solicita um endereço IP ao servidor de DHCP, um dos IPs livres no momento é associado e reservado.

Mas isso nos trás novamente ao problema aqui: se nossa máquina solicita IPs ao VirtualBox sempre que liga, vamos ter que ficar descobrindo qual endereço IP ela tem toda vez que a ligamos para podermos nos conectar via SSH, já que, como vimos, o servidor DHCP do VirtualBox, como qualquer outro servidor DHCP, não garante que o IP associado para a máquina será sempre o mesmo.

Solução

A maneira então vai ser usar um IP fixo, ao menos na placa de rede com conexão host only. Na placa de rede com conexão NAT nós não precisamos e nem queremos saber o IP, pois sua função é prover conexão com a internet, então desde que funcione está bom demais.

Mas, na placa de rede com conexão host only, precisaremos configurar o cliente DHCP para não pedir um IP para o servidor DHCP, se não ele vai ficar variando e, em consequência, vamos ter que ficar descobrindo o IP toda vez que a máquina reiniciar.

A coisa certa a fazer seria usar um gerenciador de rede individual para cada placa de rede: uma (a NAT) vai continuar a obter seu IP dinamicamente. A outra (a host only) vai usar um IP fixo que configuraremos, para podermos nos conectar na máquina sempre com o mesmo endereço.

Usar gerenciadores de rede aqui daria um certo trabalho. Entretanto, o cliente DHCP que estamos usando, chamado de DHCPCD, nos dá uma ajudinha, já que podemos configurar algumas exceções.

Funciona assim: instruímos o cliente DHCPCD a pedir um IP dinâmico para o servidor DHCP para todas as placas de rede, menos para aquelas que a gente quer configurar manualmente. Para essas, instruímos o próprio cliente DHCPCD sobre qual IP e demais configurações devem ser associadas e, mesmo sem ser a obrigação dele, ele nos ajuda com isso, de modo que não nos preocupamos com outras configurações de rede.

descobrindo o nome da nossas placas de rede

Pela última vez (assim esperamos), descubra o IP que sua máquina virtual tem e se conecte nela via SSH.

Uma vez no shell execute o comando

ip -o link

A saída será algo como:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\    link/loopba
ck 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\    l
ink/ether 08:00:27:c4:40:43 brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\    l
ink/ether 08:00:27:70:16:f1 brd ff:ff:ff:ff:ff:ff

Este comando mostra uma lista numerada de placas de rede, que a partir de agora chamaremos de interfaces.

Neste exemplo, temos três interfaces, o que faz sentido, pois temos duas placas de rede configuradas e também a interface de loopback, que é sempre a primeira e é sempre padrão na grande maioria dos sistemas operacionais.

Assim, neste exemplo, descobrimos que temos as interfaces

  • lo
  • enp0s3
  • enp0s8

Descobrindo qual das interfaces precisamos configurar

Pela descrição de cada interface, descobrimos que a interface chamada lo é a interface de loopback. Nos resta, portanto, as outras duas.

Vamos, novamente, consultar nossos IPs executando o comando

ip a | grep enp0s

Aqui, usamos o grep para filtrar apenas linhas que contenham o trecho enp0s, já que os nomes das duas interfaces que estamos interessados contém este trecho. Assim, filtramos apenas informações nas quais estamos interessados.

O comando irá mostrar algo similar a isto (valores podem mudar):

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.56.114/24 brd 192.168.56.255 scope global dynamic noprefixroute enp0s8

Certo, parece que a interface configurada para a rede host only, neste caso, é a enp0s8. Sabemos disso porque é ela que contém o IP que usamos para nos conectar na máquina virtual, então obviamente precisamos configurar o IP fixo nela.

Configurando a interface

  1. Edite o arquivo de configuração do serviço DHCPCD afim de configurarmos a exceção para a interface que queremos:

    nano /etc/dhcpcd.conf
    
  2. Vá até o fim do arquivo e digite essas linhas. Atenção que o nome da suas interfaces pode mudar, use os daqui apenas como exemplo:

    interface enp0s8
    static ip_address=192.168.56.[x]
    static routers=192.168.56.1
    static domain_name_servers=192.168.56.1
    

Nenhum segredo aqui, apenas anotamos o nome da interface para a qual queremos configurar os atributos manualmente e, abaixo, colocamos as configurações que, de outra forma, seriam solicitadas ao servidor DHCP.

Mas O que coloco no lugar de [x]?

Configurando IP

Em [x] você precisará colocar qualquer valor entre 2 e 99. O restante do IP precisa ser 192.168.56, pois esta é a família de IPs que o VirtualBox disponibiliza em sua rede host only entre a máquina virtual e a máquina física.
Não sem razão, configuramos como o gateway, ou seja, o supervisor da rede, o endereço 192.168.56.1, que seria onde o roteador virtual providenciado pelo VirtualBox está configurado.

Mas, Marlon, se esta é a família de IPs, porque precisa ser entre 2 e 99 e não pode ser entre 2 e 254?

Porque o servidor DHCP rodando nesta rede está no endereço final 100 e usa endereços entre final 101 e 254 como IPs a serem associados dinamicamente para máquinas que utilizem o serviço. Portanto, é bom que nossas máquinas com IP estáticos não disputem esses endereços com o servidor DHCP, do contrário as chances de termos um conflito de IPs na rede são altas.

E como você sabe de tudo isso?

Pesquisando bastante na documentação do produto e também acessando, no VirtualBox, as configurações no menu arquivo > host network manager.

Pressione CTRL + x para sair, confirme que quer salvar o arquivo com y e pressione enter.

Verificando se funciona

Esta parte é crítica, pois se houve alguma configuração errada, você pode muito bem não conseguir mais se conectar na máquina e ter que alterar novamente a partir do VirtualBox, algo que queremos evitar.

Assim, para testar, vamos reiniciar o serviço DHCPCD e ver o que acontece. Faça os comandos

systemctl restart dhcpcd
ip a | grep [nome da sua interface de rede host only]

onde [nome da sua interface de rede host only] deve ser substituído pelo nome da interface que se conecta com a rede host only, que você descobriu acima, no meu caso a enp0s8

Você verá algo interessante: A saída do IP a será algo como (valores podem mudar)

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.56.[ip dinãmico pelo qual você se conectou]/24 brd 192.168.56.255 scope global dynamic noprefixroute enp0s8
    inet 192.168.56.[ip estático que você configurou]/24 brd 192.168.56.255 scope global secondary noprefixroute enp0s8

O que isso significa?

Significa que o serviço não abriu mão do IP dinâmico que tinha sido associado a placa de rede, mas associou um segundo IP, exatamente o IP estático que você configurou, a ela. Em resumo, significa que sua configuração funcionou.

Quando a máquina for reiniciada, o IP dinâmico não mais será solicitado, e o IP estático será o único que ela usará.

Aliás, por falar nisso, hora de reiniciar o equipamento.

Faça o comando

reboot

Agora, faça o comando

ssh root@[ip_estático_que_você_configurou]

onde [ip_estático_que_você_configurou] deve ser substituído pelo IP estático que você configurou.

Confirme a autenticidade do servidor digitando yes e parabéns, você nunca mais vai precisar descobrir o IP desta máquina.

desforra

Não há como descrever o sentimento agora. A partir deste momento, nos livraremos completamente do VirtualBox, nem sequer nos lembraremos de que ele existe.

  1. Faça o comando

    shutdown -h now
    

    para desligar a máquina.

  2. Na janela do VirtualBox, selecione a sua máquina na lista de máquinas virtuais.

  3. Vá até o menu máquina, seta para baixo até iniciar, seta para a direita, seta para baixo até início headless e aperte enter.
  4. Feche a janela do VirtualBox.

Você perceberá que nenhuma janela com a máquina virtual se abril, o que é exatamente o que queremos, já que vamos usar a máquina apenas via SSH.

Mais do que isso, a péssima janela principal do VirtualBox também não precisa mais nos incomodar.

Agora que você já sabe o IP fixo de sua máquina, conecte-se a ela via SSH para avançarmos para o próximo passo, que tornará as coisas ainda melhores.

Navegando nas pastas do servidor através do Windows e atribuindo um nome para a máquina na rede

Agora, precisamos fazer com que a rede Windows enxergue nossa máquina por nome, pois esta, apesar de estar na rede e poder ser acessada via IP, ainda não aparece como algo que o sistema Windows reconheça.

O pacote samba, desde há muitos anos, tem provido compatibilidade entre máquinas Windows e Linux na mesma rede. Ele, em minha opinião, é a prova de que, com boa vontade, podemos estabelecer um eco sistema em que cada equipamento é usado para o que é melhor e em que múltiplos equipamentos podem ser usados juntos para atender aos usuários.

Em suma, o desenvolvedor do pacote e eu pensamos da mesma maneira, que, lamentavelmente, não parece ser a maneira padrão de se pensar de muitos desenvolvedores e administradores de sistema.

Sendo o Arch Linux uma distribuição clássica, a instalação do Samba nele não é muito simples, não ao menos tanto quando poderia ser.

Por isso, nós aqui damos uma força para que, no caso de quem lê este artigo, a instalação seja tão simples quanto deveria ser.

Instalando o samba

execute o comando

pacman -S samba

Confirme com y quando solicitado.

Configurando o samba

Obtendo configurações padrão

Aqui, o Arch Linux é meio chato, pois seu pacote de instalação do Samba não contém um arquivo de configuração já construído e precisaremos fazer isso nós próprios.

Para simplificar, vamos baixar o arquivo de configuração de exemplo distribuído com outras versões do Linux que hospedamos com o comando curl, que é um cliente HTTP de linha de comandos.

Execute o comando

curl https://www.blindtec.com.br/smb.conf.default --output /etc/samba/smb.conf

Este comando vai baixar o arquivo especificado na URL e salvar em /etc/samba/smb.conf, que é o endereço final do arquivo de configurações do samba.

O arquivo smb.conf é muito grande, complexo e tem um formato único, mesclando origens de arquivos conf Unix e ini Windows. Nós já deixamos configurados os principais compartilhamentos, e agora você precisará apenas parametrizar coisas específicas da sua máquina.

Para seguir, portanto, com a configuração, faça o comando

nano /etc/samba/smb.conf

Configurando grupo de trabalho

Se vamos querer acessar nossa máquina Linux na rede, precisamos saber em qual grupo de trabalho estamos. Em uma janela do prompt de comandos (tecla Windows + r, cmd, enter) digite

net config workstation

Você lerá, na saída do comando, entre outras coisas, algo do tipo:

domínio de estação de trabalho [nome do grupo de trabalho]

onde [nome do grupo de trabalho] é o nome do grupo de trabalho exibido.

Copie ou anote o nome do seu grupo de trabalho, pois configuraremos o Samba neste mesmo grupo.

De volta na janela onde o smb.conf está aberto, digite CTRL + w e procure por nome_grupo_trabalho. Não se esqueça de teclar enter para realizar a busca.

Você achará a linha

workgroup = [nome_grupo_trabalho]

Substitua [nome_grupo_trabalho] pelo nome do seu grupo de trabalho no Windows.

Configurando o nome da máquina na rede

digite CTRL + w e procure por nome_computador. Não se esqueça de teclar enter para realizar a busca.

Você achará a linha

netbios name = [nome_computador]

Substitua [nome_computador] pelo nome do computador na rede.

Este é o nome pelo qual você vai se referir à máquina virtual (ou você achou mesmo que a gente ia ficar usando esses endereços IPs chatos)?

Ele pode ser o mesmo nome que você configurou em /etc/hostname ou pode ser outro, a única restrição é que não pode ter mais de 15 caracteres e deve ser composto de letras e números, com o primeiro caracter sendo necessariamente uma letra.

configurando compartilhamentos

Os compartilhamentos ficam no final do arquivo. Existem alguns já configurados e criar outros a partir deles não é difícil.

Para ir até o fim do arquivo rapidamente, use ALT + /

Você poderá conferir que já temos compartilhamentos para as pastas:

  • etc
  • home
  • opt
  • root
  • usr
  • var

Com isso, poderemos, assim que o Samba estiver em pé, alterar praticamente qualquer configuração ou arquivo que quisermos no sistema, diretamente a partir do Windows.

Caso seja necessário adicionar algum outro compartilhamento, poderemos fazer isso agora ou posteriormente.

terminando a configuração

Pressione CTRL + x para sair, confirme com y a opção de salvar e pressione enter.

Agora, faça o comando

chmod 777 /etc/samba/smb.conf

Para dar a outros usuários diferentes do root permissão de leitura, escrita e execução no arquivo.

Por fim, faça o comando

testparm

para verificar se há erros na configuração.

Se tudo correu bem, ele deve te mostrar algo como

Load smb config files from /etc/samba/smb.conf

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

No texto acima, nem um erro ou aviso é exibido.

Se a saída for diferente, você precisará refazer a configuração do samba. Os erros indicam onde o problema está, então é só seguir as instruções.

Por último, o sistema solicita que você pressione enter e exibe um resumo de todos os compartilhamentos configurados no arquivo.

criando um usuário samba

O samba utiliza sua própria autenticação. Para criarmos um usuário e senha, fazemos o seguinte:

Execute o comando

smbpasswd -a root

para adicionar o usuário root na lista de usuários autorizados a fazer logon via samba.

O sistema solicitará a configuração de uma senha que, com quanto não seja a senha do usuário root, será a senha utilizada para você se logar nos compartilhamentos. A decisão de manter a mesma senha do root ou não é sua.

Se criar senhas diferentes, precisará lembrar das duas.

Do ponto de vista de segurança, esta tão pouco é uma boa prática. Entretanto, como já dissemos em artigos anteriores, estamos buscando a eficiência máxima na integração e esta máquina deve apenas ser acessada via rede host only com a sua máquina Windows.

Se tiver curiosidade de ler o arquivo /etc/samba/smb.conf, vai perceber que há uma linha chamada hosts allow que deixa apenas máquinas da rede loopback e da rede host only acessarem os compartilhamentos.

Mesmo assim, como já dito anteriormente … nosso cenário de uso é o atual, e não nos responsabilizamos por eventuais falhas de segurança, principalmente se essas configurações forem utilizadas em outros contextos.

habilitando o serviço

Faça o comando

systemctl enable smb nmb

Por fim

Para terminar, faça o comando

shutdown -h now

Para desligar a máquina virtual. Neste momento, será aconselhável também reiniciar a máquina Windows.

testando a conexão

Ligue novamente a máquina virtual via início headless e se livre da janela do VirtualBox.

Abra o prompt de comandos e digite

ping [nome-da-máquina-que-você-configurou-no-samba]

onde [nome-da-máquina-que-você-configurou-no-samba] deve ser substituído pelo nome que você configurou no Samba.

Aqui, dependendo da sua configuração de Windows, pode haver três possibilidades:

  1. O IP retornado corresponde ao IP da máquina virtual que você configurou.
  2. Um IP, normalmente na família 172.x.x.x é retornado.
  3. Nenhum IP é retornado.

Configuração de nome via hosts

Se sua resposta no teste acima foi a primeira (o mais comum), então siga para o próximo tópico.

Caso tenha sido uma das outras duas, suas permissões de rede não permitem que a máquina se registre ou houve configuração errada no samba.

  1. Realize uma conexão SSH usando o IP que você configurou em sua máquina virtual para ter a certeza de que você pode se comunicar com ela.
  2. Confira se o nome net bios que você digitou em /etc/samba/smb.conf está correto e que você está tentando utilizá-lo corretamente no Windows.
  3. Estando tudo certo e o nome da máquina ainda não tendo sido reconhecido, você precisará acessar o prompt de comandos como administrador, algo que estávamos tentando evitar pois nem sempre é possível.

    • 3.1. digite a tecla Windows e escreva cmd. Não aperte enter.
    • 3.2. Pressione a tecla de menu contextual, e selecione executar como administrador.
    • 3.3. Por vezes, será necessário ativar o modo de foco do NVDA com a tecla NVDA + espaço para que o enter abra o prompt de comandos.
    • 3.4. confirme o acesso (sua senha talvez seja solicitada).
    • 3.5. Digite o comando nbtstat -RR e pressione enter.
    • 3.6. Volte aos testes iniciais e veja se, agora, é possível se conectar via SSH usando o nome da máquina que você configurou no samba. Caso não seja, continue lendo.
  4. Abra o menu executar (tecla Windows + r) e digite %windir%\system32\drivers\etc

  5. Uma pasta se abrirá. Selecione o arquivo hosts (não tem extensão) e copie para outro local. Não feche esta pasta.
  6. No local em que você colou o arquivo, abra-o e digite, em sua última linha o seguinte.

    [ip-da-maquina-virtual] [nome-da-maquina-virtual]
    

    onde [ip-da-maquina-virtual] deve ser substituído pelo ip da máquina virtual que você configurou e [nome-da-maquina-virtual] deve ser substituído pelo nome que você deu para a máquina virtual.

    Neste caso, o IP da máquina virtual precisa estar configurado de maneira estática.

  7. Salve o arquivo e o copie de volta para a pasta do qual você o retirou. Confirme a sua substituição e confirme a operação como administrador. Sua senha pode ser solicitada.

  8. Retorne aos testes. Agora sim deverão funcionar.
  9. Caso não funcionem (extremamente improvável) acostume-se a usar o IP, afinal ele está configurado de maneira estática e não irá mudar.

Por fim, se conecte na máquina virtual com o comando

ssh root@[nome-da-máquina-que-você-configurou-no-samba] (ou IP se tudo o mais falhar)

onde [nome-da-máquina-que-você-configurou-no-samba] deve ser substituído pelo nome que você configurou no Samba.

Confirme a autenticidade do servidor com yes e parabéns, IPs chatos para se referir a esta máquina nunca mais.

Navegando via Windows

  1. Pressione as teclas Windows + r.
  2. Digite

    \\[nome-da-máquina-que-você-configurou-no-samba] (ou IP se o item acima falhou)
    

    onde [nome-da-máquina-que-você-configurou-no-samba] deve ser substituído pelo nome que você configurou no Samba. Pressione enter.

  3. Um diálogo de logon na rede vai aparecer, igual ao que aparece quando você tenta se conectar em uma máquina Windows. Como nome de usuário escreva root e como senha use a senha que você configurou no samba.

  4. A partir daí, você navegará pelos compartilhamentos e poderá alterar, criar, apagar ou fazer o que mais desejar com pastas e arquivos.

Edição de arquivos de texto

Falta, apenas, uma questão a ser abordada:

Os finais de linha entre arquivos Windows e Linux têm diferenças, então não use o bloco de notas para editar arquivos via Windows.

Editores como o notepad plus plus e o Visual Studio Code (não é o Visual Studio) já são capazes de, automaticamente, detectar e respeitar os finais de linha utilizados em um arquivo e seguir a mesma regra.

De fato, baixar esses dois editores e aprender a utilizá-los fará muito bem a qualquer desenvolvedor.

IDE’s mais complexas como o Eclipse e o próprio Visual Studio também são capazes de fazer esta detecção.

Se você começar um projeto do início e estiver rodando o código na máquina Linux, também há como configurar os finais de linha como padrão Unix nos editores e ambientes de desenvolvimento mais comuns.

pacotes que eu utilizo

A seguir, mostro pacotes que eu utilizo. Você não precisará talvez de todos e, certamente, precisará de alguns que eu não preciso, mas vou deixar para registro tudo o que eu instalei (a configuração, se for necessária, deixo por sua conta).

Para instalar, é só digitar pacman -S e o nome do pacote

  • apache
  • bash-completion
  • docker
  • docker-compose
  • dotnet-sdk
  • elixir
  • git
  • go
  • gradle
  • jdk-openjdk
  • mariadb
  • maven
  • mod_fcgid
  • nodejs
  • npm
  • php
  • php-cgi
  • typescript (via yarn global add typescript)
  • yarn

Agradecimentos

Como tudo o que fazemos, neste portal ou fora dele, agradecemos em primeiro lugar a Deus por ter permitido e abençoado a escrita destas palavras que, esperamos, irão ajudar a muitas pessoas.

Em segundo lugar, um agradecimento ao Thiago Seus do grupo WhatsApp dos cegos programadores e ao José Vilmar Estácio de Souza da lista de cegos_programadores pelas sugestões e apoio na revisão e experimentação com estes artigos.

Agradecemos, também, a todas as pessoas que doam parte de seu tempo, muitas vezes uma grande parte dele, para produzir, escrever, testar, revisar, documentar e utilizar software livre, dos quais o Linux, o WordPress, o Audacity, o Speakup e o NVDA, entre outros, são exemplos.

Graças a dedicação destes, todos nós fazemos coisas que possivelmente não faríamos ou, de contrário, as fazemos de formas muito mais cômodas do que faríamos, se eles não tivessem gasto tempo e recursos de suas vidas para que nós não precisássemos gastar tempo e recurso das nossas.

Por fim, se você gostou destes artigos, os divulgue e contribua como puder, muitas vezes com pequenas quantias de tempo ou dinheiro, para um ou mais projetos de código aberto.

Sempre pesquise. Lembre-se que uma pergunta feita a um desenvolvedor cuja resposta pode ser encontrada facilmente tomará o pouco tempo que ele tem para continuar a desenvolver os projetos dos quais você se beneficia.

Por último, agradecemos a todos os que leram esta série, pois ela procura abrir possibilidades e viabilizar tarefas. Se você chegou aqui, existe uma grande chance de querer evoluir. Então, continue ligado ou ligada porque, se Deus permitir, vem muito, muito mais em seguida.

considerações finais

A partir daqui, você tem uma máquina Windows e uma máquina Arch – uma das melhores e mais robustas distribuições do Linux – completamente integradas.

O que fará vai depender de suas necessidades, mas qualquer editor de código (VS Code, Eclipse, Notepad++, etc) poderá ser utilizado para, a partir do Windows, escrever código diretamente na máquina Linux.

O SSH via cliente do Windows 10 te dá o controle total da máquina Linux, e pode ser utilizado em conjunto com complementos do NVDA tais como o exploração Virtual e outros, que te permitirão ler saídas, copiar trechos entre outros com total conveniência.

O Arch Linux é extremamente bem documentado e existem pacotes pré configurados para praticamente qualquer coisa que você consiga imaginar.

Pessoalmente, agradeço a Deus por ter sido capaz de passar, nesta primeira série, da melhor maneira que pude, tudo o que aprendi sobre a utilização da integração entre os dois principais sistemas operacionais usados no mundo da forma mais eficiente possível para quem, como eu, tem deficiência visual.

A confecção deste artigo envolveu testes, estudos e muitas, muitas horas de trabalho para garantir que a informação chegasse de maneira mais transparente e direta possível a vocês.

Ainda falaremos mais de programação às cegas em outros artigos.

Fiquem ligados para mais novidades!

Artigos da série

  • parte I – Introdução
  • parte II – Instalando a máquina virtual
  • Parte III – Instalando o Arch Linux
  • Parte IV – integrando Linux e Windows
© Copyright BlindTec 2020, todos os direitos reservados.
Para mais detalhes, consulte a página de direitos autorais do portal.
Gostou do post? Compartilhe!Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Email this to someone
email
Share on LinkedIn
Linkedin

3 comentários

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *