Compatibilidade com Windows e outros aplicativos da Microsoft

Se o poder do Linux está na sua eficiência, liberdade e quantidade de softwares livres disponíveis para instalar e usar, o poder do Windows reside nas aplicações comerciais e proprietárias desenvolvidas para ele e usadas por todo mundo, por mais de 20 anos.

Para aumentar as chances de adoção do Linux e fazê-lo concorrer com o Windows no mercado de desktops, diversos esforços foram realizados pela comunidade de desenvolvedores e usuários de software livre. A seguir listaremos como um usuário do Linux pode conviver com o Windows em um computador e em rede local:

Dual boot: Windows e Linux na mesma máquina

A primeira alternativa de usuários Windows que estão tentando usar o Linux é instalá-lo junto com o Windows. O usuário pode, neste caso, dividir seu HD em duas partições para colocar os dois sistemas, ou então usar um disco rígido secundário para colocar cada sistema em um HD.

O Linux pode vir com dois gerenciadores de boot (bootloaders, como são conhecidos): o Lilo (Linux Loader), usado nas distribuições mais antigas, e o Grub (GRand Unified Bootloader), do projeto GNU, usado nas distribuições mais modernas.

Esses gerenciadores são instalados em um setor de inicialização do disco rígido, fazendo com que ele seja executado toda vez que o seu computador inicializar. Uma vez iniciado, ele exibe a lista dos sistemas operacionais instalados na máquina, permitindo que o usuário alterne de sistema quando reiniciar a máquina.

Bootloader GRUB
©2008 HowStuffWorks
O bootloader GRUB em ação, durante a inicialização do computador


Grande parte das distribuições identificam, durante o processo de instalação, os sistemas operacionais instalados no computador, criando a configuração correta para cada um deles. Outras distribuições, ao contrário, falham nessa identificação fazendo com que o usuário tenha que configurar manualmente para poder voltar a usar o Windows.

Máquinas virtuais: Windows dentro do Linux e Linux dentro do Windows

Para os usuários que não querem ficar reiniciando o sistema e não querem comprometer o Windows com a instalação do Linux, a segunda alternativa é o uso de máquinas virtuais.

Uma máquina virtual “emula” um hardware usando software, possibilitando que outros sistemas operacionais sejam instalados sobre outro sistema operacional. Os programas mais utilizados para isso são o VMWare (disponível para Windows e Linux) e o Virtual PC (da Microsoft, disponível apenas para Windows).

Com os dois sistemas operacionais em execução, é possível até a criação de uma rede, também virtual, para o compartilhamento de internet e arquivos.
É necessário lembrar que um sistema rodando em uma máquina virtual irá consumir mais recursos da máquina do que se ele estivesse instalado diretamente no computador físico, uma vez que todo o hardware é emulado por software e que há dois sistemas operacionais em execução. Para isso, é necessário utilizar uma máquina com bastante memória e uma capacidade de processamento adequada.

Linux no VMWare
©2008 HowStuffWorks
Sessão do VMWare rodando o sistema
operacional GNU/Haiku. O VMWare pode rodar
qualquer sistema operacional


Emulando a camada de aplicação do Windows

Programas desenvolvidos para o Windows usam funções do sistema operacional para as tarefas mais básicas: criação de arquivos em disco, exibição de janelas e caixas de dialogo, botões e outros eventos. Todas essas funções são encontradas na Windows API (Windows Application Programming Interface), que existe dentro das principais DLLs do Windows.

Um audacioso projeto de software livre chamado Wine, sigla para Wine Is Not an Emulator, desenvolveu um interpretador de executáveis do Windows que traduz essas chamadas de funções de sistema para usar as funções do Linux, permitindo que os softwares do Windows sejam executados dentro do Linux.

Por causa da obscuridade da API do Windows o Wine ainda não é capaz de interpretar todos os executáveis, mas pode privar o usuário de ter de emular todo o sistema com uma máquina virtual se quiser apenas executar um ou dois aplicativos.

Word 2003 no Wine
©2008 HowStuffWorks
O processador de textos Word 2003 sendo executado no Linux com o Wine

Já para a execução de aplicativos desenvolvidos sob a plataforma .Net da Microsoft, o projeto Mono desenvolveu uma máquina virtual capaz de rodar os aplicativos escritos nesta plataforma, sendo também uma alternativa ao Java, da Sun.

Usando softwares multiplataforma

Usuários que não desejam emular computadores ou APIs devem usar softwares multiplataforma. Esses softwares disponibilizam versões para vários sistemas operacionais, como Windows e Linux, fazendo com que o usuário abra seus documentos em qualquer plataforma.

Exemplos de softwares multiplataformas são a suíte de escritórios OpenOffice.org, capaz de abrir documentos do Microsoft Office, e o navegador de internet Mozilla Firefox.

O uso desses aplicativos é incentivado pelas comunidades de software livre para acostumar o usuário Windows com as aplicações que existem no Linux, antes mesmo de pensar em formatar seu HD.

Writter
©2008 HowStuffWorks
O Writer, processador de textos de código aberto da suíte OpenOffice.org


Compatibilidade com rede

Para que um computador possa acessar os arquivos de outro, o Windows utiliza o protocolo de rede SMB. No Linux o suporte a esse protocolo foi implementado através do projeto Samba, que criou softwares e bibliotecas de cliente e servidor do protocolo SMB.

Com isso, o Linux tem sido usado como alternativa de baixo custo para servidores de arquivos em rede, possibilitando a troca de arquivos pela rede entre máquinas que usam Windows e Linux.