Follow falcon_dark on Twitter
Google

quarta-feira, agosto 30, 2006

Simples tutorial para servidor de aplicações

Eu possuo 4 computadores em casa e sou responsável pela manutenção e bom funcionamento de todos eles. O custo elevado de licenças e a necessidade constante de manutenção da plataforma Windows foram dois fortes argumentos que me levaram a adotar Linux em toda a minha rede doméstica. Eu já usava Linux em meu servidor pessoal e em meu notebook, por preferência pessoal, mas as outras duas máquinas usadas pelo resto dos seres viventes habitantes de meu lar ainda operavam com MS Windows quando dei um ultimato a todos: migrar para Linux ou cuidarem eles próprios de suas máquinas. Em pouco tempo estavam todos habituados e contentes com seus novos Linux Mandriva 2006 e agora dedico aquelas preciosas horas que passava atualizando anti-vírus, detectando e resolvendo problemas de configuração e outras tarefas de pouca glória à ações bem mais úteis.

A vantagem de uma rede Linux é a centralização na administração. Desde o startup de cada máquina você pode configurá-la e administrá-la sem precisar de malabarismos como um programa externo ao estilo VNC ou configurações de serviços de desktop remoto, basta usar o SSH. Como o Linux, diferentemente do Windows, foi projetado desde a base para ser multi-usuário é extremamente fácil integrar diferentes máquinas de uma mesma rede em um sistema de cliente/servidor que funciona muito bem, é rápido, barato e que ainda pode lhe render a economia de alguns reais com upgrades de hardware.

Já descrevi aqui no blog minha rede algumas vezes e contei como uso o sistema de terminais do X para distribuir aplicativos pela rede. Mas é hora de um pequeno tutorial. Em princípio eu usava meu servidor Linux apenas para manter arquivos de todos via compartilhamento de unidades pela rede, mas depois migrei para outro nível de uso. O servidor de arquivos evoluiu e agora funciona como um servidor de aplicações completo que pode armazenar todas as configurações de todos os usuários, todos os seus programas, histórico de navegação na web, e-mail e ainda funciona como um servidor de impressão. Ao ter apenas uma impressora para quatro máquinas economizo com papel e tinta. Ao centralizar todas as configurações eu tenho apenas um ponto da rede para me preocupar com backups e os upgrades de HD, por exemplo, destinam-se sempre à mesma máquina. Isso ocorre de uma forma que duas máquinas tem aqui sistemas completos e uma possui um HD de 6GB enquanto outra apenas 20GB. Se para um usuário que aprecia vídeo, áudio, e planeja usar o computador como seu centro de vida digital 20GB parecem pouco hoje em dia em uma rede com um servidor de aplicações você não precisa ter HD gigantescos em todas as máquinas.

Em comparação com a rede Windows da casa de um amigo meu, onde existem 5 computadores, minha rede é composta de máquinas bem mais econômicas (e baratas) mas provém muito mais funcionalidades, cortesia do Linux. Se em sua rede Windows meu amigo precisa de processadores com 2 GHz, 80GB de HD, e 512MB de memória em cada nó (um nó é um computador em uma rede), aqui o servidor é um velho Pentium III 800MHz com 756MB de RAM. Todas as outras máquinas (exceto meu notebook) são mais modestas e ninguém aqui está pensando em upgrades de hardware por enquanto. Neste pequeno tutorial vou descrever os passos para criar um servidor de arquivos/impressoras/aplicações usando Linux para que você possa montar seu próprio servidor e usar algumas facilidades que o Linux apresenta e que poucos usuários conhecem.

O servidor
Não importa qual distribuição Linux você escolha para seu servidor, um Linux é sempre um Linux. Você conseguirá implementar esse tipo de funcionalidade sem nenhum problema. Apenas opte por uma distro adequada para que você possa ter o menor trabalho com configurações possível. Aqui todos os nós (clientes e servidor) usam Mandriva 2006. A primeira coisa que você deve fazer é compartilhar seus arquivos e impressora. Isso é útil para que os usuários, ao usar aplicações locais em suas estações, possam encontrar suas pastas. Como o Mandriva possui um assistente muito bom para isso no Mandriva Control Center que é praticamente intuitivo vou poupar você da descrição e dos screenshots. Outras distros também possuem muita funcionalidade nessa área, como o Suse e o Ubuntu. Então o melhor conselho que posso dar a você nesse ponto é buscar informações sobre como compartilhar suas unidades de disco na rede para sua distribuição. Qualquer coisa que eu fale nesse sentido pode mais complicar do que esclarecer as coisas.

Um verdadeiro servidor de aplicações deve disponibilizar conexões gráficas via rede, para permitir a execução remota de programas. Vamos descobrir agora como configurar seu X server para aceitar essas conexões. Um excelente material base para isso está no Guia do Hardware onde o Morimoto explica como criar um servidor Xdm. O servidor Xdm é uma aplicação do X server que destina-se a criar um servidor especificamente para aplicações em uma rede de terminais leves. Não é o que queremos, queremos que cada máquina rode sua interface independente (e não a receba do servidor) e apenas receba aplicações separadas do servidor, mas as configurações são praticamente as mesmas. Vamos começar o passo à passo. Lembre-se que a máquina alvo usa Mandriva, e que por isso em sua distro os arquivos podem estar em diretórios diferentes. Você deve efetuar as modificações como root, portanto muito cuidado pois qualquer erro aqui pode corromper seu X server e impedi-lo de iniciar corretamente, faça backups dos arquivos orginias antes de alterá-los.

Abra o arquivo /etc/X11/xdm/xdm-config e busque a linha
DisplayManager.requestPort: 0

Essa linha diz para o servidor só receber conexões da primeira porta, comentando-a você instrui o X a receber requisições de qualquer porta. O comentário é o sinal !, portanto a linha comentada fica:
!DisplayManager.requestPort: 0

Abra o arquivo /etc/X11/xdm/Xaccess e encontre a linha:
# *#any host can get a login window

E retire dela o caracter de comentário #. A linha deve ficar assim:
*#any host can get a login window

Agora qualquer máquina pode conseguir uma janela de login do servidor gráfico. Em seguida encontre, no mesmo arquivo a linha:
# *CHOOSER BROADCAST#any indirect host can get a chooser

E também retire o comentário (#) dela. Depois abra o arquivo /usr/share/config/kdm/kdmrc
e busque pela seção que cuida do Xdm:
[Xdmcp]
Enable=false

E altere a opção para true:
[Xdmcp]
Enable=true

Pode ser necessário modificar o arquivo /etc/kde3/kdm/Xaccess da mesma forma que descrito acima para o arquivo /etc/X11/xdm/Xaccess. Com essas modificações seu servidor está pronto para fornecer interfaces gráficas para outros sistemas da rede. Há considerações de segurança a serem feitas pois você está permitindo que qualquer máquina peça uma tela de login para seu servidor. Só é seguro implementar as configurações aqui descritas se você tiver um firewall protegendo seu servidor da internet e negando acessos às portas do X server de seu servidor. Se for uma máquina conectada diretamente à internet você deve configurar um firewall para só receber conexões pelas portas Xdmcp (padrão: 177) dos ips internos de sua rede!

Se você quiser criar um sistema de terminais gráficos com máquinas leves o tutorial do Morimoto descreve o procedimento e você deve consultá-lo para configurar os clientes. Como eu disse, aqui desejamos que apenas aplicações sejam servidas e não a interface toda.

Depois de conexão do X conforme descrito até aqui você precisará iniciar o servidor novamente. Você não precisa reiniciar o Linux, basta fazer o logoff de sua seção e pedir o restart do servidor gráfico. Agora você irá precisar configurar o acesso SSH de seu servidor. Isso é necessário porque a transmissão de dados entre dois X servers (o do cliente e o do servidor) ocorre sem criptografia nenhuma. São apenas pacotes com texto e comandos para gerenciamento de janelas. O SSH permitirá a criação de um túnel seguro (encriptado) através do qual os dados irão trafegar.

Você deve assegurar-se de que existe um sshd rodando no servidor. Se não houver você deve instalá-lo e configurá-lo para que ele fique rodando o tempo todo ou que seja executado quando necessário. Logado como root em um shell você pode executar:
$ /etc/init.d/sshd start

para iniciar o sshd e verificar se ele encontra-se instalado. Então você deve configurar o ssh para fazer a transmissão de pacotes X server. Para isso edite o arquivo /etc/ssh/sshd_config e verifique a existência da linha:
X11Forwarding yes ou
#X11Forwarding yes ou ainda
#X11Forwarding no
e deixa-a como abaixo:
X11Forwarding yes

Essa linha permite que o sshd transmita aos clientes dados do X server via protocolo seguro. Sem ela você precisará explicitar no comando de login SSH a opção de transmissão de pacotes X, o que nem sempre funciona se sua distribuição trouxer o ssh bem configurado. Portanto dê preferência para executar essas alterações, isso irá facilitar muito nossa vida no futuro. Após fazer essas alterações como root salve o arquivo.

Usando o servidor de aplicações
Agora nosso servidor está configurado para transmitir aplicações para outro Linux ou Windows + Cygwin da rede. Vamos ver como iniciar aplicações a partir dos clientes. Lembre-se que o grande objetivo prático é manter uma instalação bem completa no servidor e instalar apenas um sistema básico nos clientes, diminuindo o uso de espaço em disco pela instalação de diversas cópias de uma mesma aplicação, como o OpenOffice, por exemplo.
Em seu sistema cliente, rodando normalmente com o X server e seu ambiente gráfico preferido inicie uma conexão com o servidor de aplicações. Para isso abra um shell e execute o ssh:
$ ssh 192.136.10.2

colocando o IP do servidor como destino. O sistema requisitará a senha de usuário, que deve ser fornecida adequadamente. Após a conexão basta digitar o nome da aplicação para que ela seja executada. Pronto, de forma rápida e fácil você está usando uma aplicação instalada em uma máquina a partir da outra, com acesso a todos os arquivos que seu usuário de login poderia acessar se estivesse usando o servidor localmente.

É claro que para funcionar você precisa ter o mesmo usuário em ambas as máquinas. Mas pode ser que você queira manter um usuário no servidor específico para isso e não permitir o login de diversos usuários diferentes. Vamos dizer que, não importa qual usuário queira conectar-se, o nome de usuário “comum” seja escolhido para fornecer aplicações para todos. O comando então deve ficar como esse:
$ ssh comum@192.136.10.2

Indicando ao servidor que você quer conectar-se como este usuário em específico. Este esquema de nome@IP funciona para qualquer usuário cadastrado no servidor independente do usuário que você está usando na máquina local.

Facilitando as coisas
Se você tiver um servidor com IP fixo não precisa digitar o número todas as vezes em que quiser conexão. Você pode editar no computador cliente o arquivo /etc/hosts e incluir nele um nome correspondente ao IP do servidor. Basta acrescentar a linha no formato IP nome, como no exemplo abaixo:
127.0.0.1 localhost
192.136.10.2 servidor

Ao salvar o arquivo você poderá efetuar a conexão da seguinte forma:
$ ssh comum@servidor
ou
$ ssh servidor

caso o mesmo nome de usuário esteja criado em ambas máquinas (cliente e servidor). Isso permite que o comando seja digitado bem mais rápido.

Deixando as coisas mais seguras
O SSH usa como padrão a porta 22 e todo mundo sabe disso. Se a sua máquina ou sua rede estão conectadas na internet e seu firewall não estiver bem configurado pode ser que algum cracker use um script para tentar acessar sua máquina via SSH. Por isso como medida de segurança toda máquina que mantém um sshd rodando deve ser configurada para receber as conexões por outra porta que não a padrão do protocolo. Para configurar a porta que seu sshd usará para receber conexões edite novamente o arquivo /etc/ssh/sshd_config e busque pela linha:
Port 22

alterando-a para qualquer outra porta que você queira, exceto aquelas já usadas (como por exemplo a 21 de ftp). Escolha um número bem diferente mas certifique-se de lembrar dele pois você precisará informar ao cliente em qual porta tentar a conexão. Como exemplo vamos configurar o serviço na porta 2325:
Port 2325

Salve o arquivo. Agora o comando para conectar-se ao servidor será:
$ ssh -p 2325 192.136.10.2
ou
$ ssh -p 2325 servidor

A mudança de porta padrão e uma boa configuração de firewall devem ser o bastante para proteger seu servidor de qualquer conexão indesejada. E não esqueça de escolher uma boa senha, coisas como 12345 devem ser evitadas. Uma combinação de letras e números com 8 ou mais dígitos é o bastante e você deve mudar essa senha a cada 3 ou 4 meses, apenas por paranóia ;-)

Usando o servidor de aplicativos de forma útil
A esta altura o servidor de arquivos já deve estar funcionando. Agora você pode utilizar uma única conexão ssh para executar todas as aplicações que desejar. Após iniciar a conexão ssh você terá uma tela semelhante à essa:
[usuario@cliente ~]$ ssh -p 2325 servidor
usuario@servidor's password:

Last login: Wed Aug 30 17:35:26 2006 from 192.136.10.10

[usuario@servidor ~]$

E você pode chamar qualquer programa com o comando adequado, exatamente como faria se estivesse operando diretamente o servidor. Por exemplo:
$ kcalc &

executa a calculadora do KDE. O & ao final do comando serve para iniciar a aplicação e manter o shell livre para novos comandos. Assim com apenas uma conexão ssh você poderá abrir diversos aplicativos e operar vários programas remotos ao mesmo tempo. Note que na barra de título da aplicação gráfica surge ao final do nome do programa <@servidor> indicando que aquele programa é executado de maneira remota consumindo recursos do servidor e não do cliente. Então em lugar de instalar várias vezes o OpenOffice pela rede você pode instalá-lo apenas um uma máquina e usá-lo de qualquer computador como se trabalhasse localmente. Seus arquivos estarão centralizados e suas aplicações também.

Não são todas as aplicações que funcionam bem desta forma, alguns aplicativos podem apresentar um comportamento inadequado, cabe a você verificar se os programas que você mais gosta de usar funcionam da forma esperada. Vale lembrar que esse método de conexão via SSH também serve para tarefas administrativas do sistema e inclusive para matar processos do servidor ou reiniciar partes ou todo o sistema operacional. Aproveite a oportunidade para explorar o potencial de rede do Linux, é uma das grandes vantagens que ele possui sobre outros tipos de sistemas e é muito útil quando se tem mais de um computador sob seu comando.

Em tempo. Caso você tenha um servidor Linux em uma rede Windows é igualmente possível executar aplicativos do servidor em sua interface Windows no desktop. Basta instalar o Cygwin, um conjunto de aplicativos que implementa a API Linux sobre o sistema da Microsoft. Configurando adequadamente o X do Cygwin para iniciar uma interface gráfica com um ambiente você pode, a partir de um shell dentro desse ambiente, executar qualquer aplicações Linux remotamente no servidor usando esses mesmos comandos de SSH, muito mais rápido do que emulação para redes mistas que precisam de aplicações das duas plataformas.

Follow falcon_dark on Twitter
Google

terça-feira, agosto 22, 2006

A Janela de Raymond

Eric Raymond polemizou na Linux World desse ano, disse que se o Linux não engrenar no mercado doméstico agora irá levar outros 30 anos para ter uma nova oportunidade de tentar. Trinta anos, segundo Raymond é o tempo que vai passar até que uma nova geração ou arquitetura de processadores esteja pronta para ir ao mercado e assumir posição de destaque. Seria apenas aí que o Linux poderia se colocar em posição de suplantar a dominação do Windows (que chega a 95% nos desktops domésticos).

E o Cell, ou Cell BE do consórcio STI (Sony, Toshiba, IBM)? Raymond esqueceu que o Cell é uma nova arquitetura que estará chegando agora no final de 2006 aos consoles de games mas que pode levar alguns anos para aparecer em computadores pessoais? Esqueceu que talvez o próprio PS3 seja um computador pessoal e que talvez por isso a IBM tenha vendido sua divisão de PCs e notebooks? Esqueceu que se o PS3 for console, Blu-ray player e um computador poderoso, tudo ao mesmo tempo o seu preço (que agora é muito alto) pode tornar-se relativamente barato? Esqueceu que a Sony pretende colocar até o final deste ano 2 milhões de máquinas rodando Linux em casas de usuários ao redor do mundo todo? Todo esse quadro faz parte da janela que o Linux está perdendo, segundo Raymond. O consórcio STI termina o desenvolvimento de um chip sobre o qual ouvimos falar muito, mas que poucos viram rodando, então não dá pra saber o que esperar. Dá pra saber que o Linux já roda nele (inclusive com suporte oficial no kernel) e que o Windows ainda não. E que mesmo com a IBM afirmando que não irá impedir este ou aquele sistema de ser portado para a plataforma pode haver um espaço de 3 ou 4 anos até que a MS tenha um sistema operacional que rode sobre Cell, até lá cada unidade desse processador produzida e vendida no mundo rodará Linux, seja no PS3 ou em outro hardware.

Mas e daí? Estamos por acaso em uma guerra santa para derrubar o Windows? Uma jihad contra a MS? Infelizmente às vezes parece que é isso, e apenas isso que preocupa as pessoas. Quando reviso os motivos pelos quais uso Linux não me preocupo com a saúde financeira da Microsoft. Uso Linux porque o sistema é (para mim e minhas necessidades) melhor que o Windows e porque acho caro demais o preço que a MS cobra por uma cópia de um sistema que mais se parece com um queijo suíço (em minha singela opinião). São os meus motivos. Cada usuário de Linux deveria pensar nos seus próprios e assim deveríamos fazer um balanço. Se constatarmos que o nosso objetivo é melhorar o Linux para que possamos continuar usando um bom sistema, ótimo. Se descobrirmos que nosso maior objetivo ao usar Linux é empurrá-lo goela abaixo dos outros para que a Microsoft seja destruída, estamos fazendo asneira. Essa asneira é a essência do pensamento e das palavras de Eric Raymond na Linux World desse ano: moldar o Linux para que usuários que estão satisfeitos com o Windows decidam usá-lo.

Veja, quando alguém diz “O Linux precisa suportar iPod para que os usuários possam adotá-lo no desktop” fico tentado a perguntar porque o cidadão que compra um iPod não aproveita e não compra um Mac de uma vez? Afinal, com o iPod, o objetivo primordial da Apple era esse, incentivar as pessoas a comprarem Macs. Quando isso não deu certo a Apple tornou o iTunes compatível com Windows. A Microsoft não dedicou um segundo sequer de seus pensamentos para fazer o WindowsXP “compatível” com o iTunes ou o iPod. Porque nós deveríamos? “Para fazer o Linux entrar no mercado doméstico” você poderia responder agora e eu pergunto: a troco de quê? De quais coisas que gostamos no Linux teremos que abrir mão para que pessoas que não sabem particionar um disco rígido possam usar Windows. E note que, radicalismos à parte, não saber particionar um disco não é nenhum demérito. Sei que um médico ou advogado não quer aprender a particionar discos para usar seu computador pessoal, poupe-se do trabalho de escrever-me sobre isso. Mas também duvido que esses profissionais queriam aprender algo sobre juros compostos, mas tiveram que fazer isso para assinar o financiamento de seus automóveis e casas. Então a questão não é saber ou não, é não querer aprender. Temos um panorama particular aqui, usuários leigos insatisfeitos com seus sistemas operacionais para leigos desejando conhecer um sistema profissional nascido para servidores, mas sem querer abandonar sua confortável situação de leigos. Alguém aí vai querer defender esta lógica? Para estes usuários o melhor sistema operacional do mercado é o Windows, com suas vantagens e desvantagens. Não precisamos fazê-los migrar para Linux. Eles não se sentirão à vontade pois não querem aprender a usar algo novo, querem tudo da forma como está.

Se você usava Windows e agora usa Linux houve um momento em que você provavelmente pensou “Não quero mais usar Windows”, certo? Foi quando você foi diferente da maioria dos usuários de computador. Não importa se foi em frente à uma tela azul da morte ou se foi quando todas as suas configurações de rede estavam corretas e mesmo assim o sistema insistia em não conseguir navegar na internet ou se foi quando você teve que formatar o HD por causa de um problema sem solução aparente. O que importa é que você se deparou com uma situação que impeliu uma mudança. E se você usa Linux é porque entre um sistema consolidado no mercado doméstico onde tudo parece fácil de fazer e um sistema que atende melhor suas necessidades mas que exigia uma mudança conceitual você, assim como eu, escolheu o segundo. E pagou um preço por isso, preço esse que a maioria dos usuários não está disposto a pagar, como o Computador para Todos nos mostra à duras penas. Usuários compram computadores de baixo custo com duas dezenas de softwares instalados, hardware configurado, tudo funcionando com Linux e SL e formatam (ou pagam alguém para tal) o HD para instalar Windows. O que precisa acontecer para que percebamos que não é a dificuldade de configuração ou instalação de software o grande problema? Esses usuários simplesmente não querem mudar, não importa quão competente ou compatível o Linux seja, elas querem usar o mesmo SO que seus amigos usam. É uma questão de comodidade cultural.

Não é um argumento purista, fanático, ou nada disso. Claro que suporte ao iPod no Linux é uma coisa legal. Mas esse suporte tem que vir da Apple e não da comunidade que mantém o Linux. Enquanto o Linux não suporta iPod é a Apple que está ignorando o Linux, e não o contrário. Então vejo argumentos como o Linux precisar dar suporte à DRM para estar presente nos reprodutores de vídeo digital, porque se o Linux não fizer isso o Windows fará. Não sou contra o suporte a DRM no Linux, sou contra o DRM em qualquer lugar, inclusive no Linux. Meu conceito de direitos digitais tem muito mais relação com os meus direitos do que com os direitos de uma gravadora. Suportar ou apoiar o DRM é dar preferência à escolha da minoria (existem bem menos gravadoras do que ouvintes de música no planeta). Se uma tecnologia não é desejo do mercado, como o DRM, porque o software livre, que deveria privilegiar a liberdade está tão preocupado em implementá-la com a desculpa esfarrapada de popularizar um sistema operacional?

Dinheiro. Mas ganhar dinheiro não é errado, pelo contrário. Vivemos em um mundo capitalista e é claro que grandes players do mercado só decidiram apostar fichas no Linux porque viram a oportunidade de fazer dinheiro nele. Então, pelo dinheiro, empresas querem implementar DRM no Linux. Tudo bem, afinal de contas o sistema é software livre e elas podem fazer isso desde que atendam ao disposto na GPL. Mas querer justificar isso tudo com o discurso usado por Raymond, de que isso vai popularizar o Linux e permitir que ele cresça me deixa azedo, porque tem cheiro, cara e cor de embuste. Se eu tiver que escolher entre um sistema que está presente em todos os set-top-boxes da Tivo ou um que não tem DRM novamente eu escolho o último, porque me parece mais consoante com meus interesses enquanto usuário. Por isso não acho que implementar suporte à DRM no Linux vá ser algo bom pra mim, assim sendo eu sou contra. Se vai limitar o mercado de appliances do Linux, não estou nem aí, o Linux tem apenas 1% do mercado doméstico de desktops e eu já vivo muito bem com ele.

O Linux não precisa ter 95% do mercado. O Linux não precisa destruir a Microsoft ou o Windows. Quem estiver pensando por essa linha tem um sério problema porque não conseguiu entender como o mercado funciona. O Linux só precisa ser uma boa alternativa, e isso ele já é hoje. O Linux precisa de suporte de fabricantes de hardware, o que de uma forma ou de outra está acontecendo. Mas tem uma coisa que o Linux precisa muito mais do que isso: uma comunidade de desenvolvedores séria e comprometida. O Linux tem isso hoje e não foi nada fácil edificá-la. Mas um bom atalho para destruí-la está sugerido: vamos nos preocupar com o iPod e com DRMs. Assim em pouco tempo talvez o Linux aproveite essa janela de Raymond e cresça no mercado doméstico. E depois empurre todos os seus bons desenvolvedores para o BSD por ter se tornado parecido demais com o Windows. Então teremos um sistema bem consolidado, que tenta ser simples pela mediocridade, que suporta todas as tecnologias que o mercado quiser empurrar na cara dos usuários e que não atende nossas necessidades. Agora me diga uma coisa: não seria bem mais fácil nós voltarmos a usar Windows?

Follow falcon_dark on Twitter
Google

quinta-feira, agosto 10, 2006

Não obrigue o iniciante a migrar para Linux

O blog Linux sem Mistério publicou um artigo discutindo a necessidade real da LSB para uma ampla adoção do Linux no desktop. O post gerou uma notícia no BR-Linux, meio pelo qual fiquei sabendo de sua existência, e como não poderia deixar de ser, também recebeu alguns comentários de leitores. Não vou entrar na discussão sobre a necessidade de uma padronização entre as centenas de distros Linux, porque além de ser um assunto extremamente discutido em várias esferas da comunidade também é consenso entre a maioria dos usuários. Mas um ponto do artigo me chamou a atenção e me provocou a pensar um pouco e é nesse ponto que quero tocar aqui.

O artigo no Linux sem Mistério mantido pelo Lucas (que tem apenas 16 anos!) discute como a pouca padronização entre as diferentes distros Linux atrapalha a adoção desse sistema por usuários menos experientes. E ele está certo, atrapalha mesmo. Para um usuário com pouco conhecimento técnico ou criado em um ambiente como o MS Windows, onde tudo é mais padronizado, as diferenças entre os vários Linuxes pode incomodar bastante ou até ser uma barreira intransponível. Vários forums sobre Linux apresentam dezenas de pessoas perguntando coisas como “Qual Linux eu tento usar?” ou “Qual Linux é melhor pra mim” e outros tantos respondendo “Debian é difícil” ou “Slack é complicado”. Um bom exemplo é o Forum do Guia do Hardware que até criou um tópico fixo sobre o assunto para tentar impedir esse tipo de discussão ou flamewars entre usuários de diferentes distribuições.

É aqui que levanto a primeira questão significativa desse post. Quem em sã consciência pode achar que sabe o que é fácil ou difícil para outra pessoa? Como um usuário pode dizer a outro que não deve testar esse ou aquele software porque seria difícil demais? Não é a identificação e resolução de problemas o método mais eficaz de aprendizado? Não estou dizendo que deveríamos empurrar um Gentoo para todo mundo que deseja ver um Linux pela primeira vez. Mas creio que seria uma postura mais adequada da comunidade ajudar os novatos e fornecer-lhes toda informação possível para que eles pudessem usar o que desejassem em lugar de dizer que a distro que ele tem nas mãos é inacessível para ele. O que mais vejo em forums por aí afora são usuários experientes dizendo aos novatos para começarem com uma distro mais amigável, e no tópico seguinte dizendo que aquela distro não é “linux de verdade”. Essa postura assusta tanto quanto um sistema operacional novo e complexo.

A segunda questão significativa envolve a forma como a comunidade tem abordado a relação entre Linux e Windows. Parece-me, por vezes, que somos todos evangelizadores em uma missão épica para converter para nosso rebanho cada usuário que encontramos pela frente. Fazer um usuário de Windows migrar para Linux é a melhor forma de salvar sua alma e livrá-lo das garras sangrentas de uma besta que só deseja sua servidão. Precisamos parar com isso! Não temos que fazer os usuários de outros sistemas “enxergarem a verdade” porque não existe “uma verdade”. Não temos que obrigá-los a migrar para que eles possam ser felizes. E enquanto agirmos assim só estaremos disseminando um sentimento de que somos todos um bando de loucos. Devemos entender que é perfeitamente possível que um usuário de Windows esteja feliz com este sistema ainda que pessoalmente para nós isso seja difícil de conceber. Mudar o sistema operacional de seu computador é algo bem pessoal, exige um esforço intelectual considerável e o aceite de centenas de novos conceitos e existem muitas pessoas por aí que não desejam passar por tudo isso. E se elas não desejam passar por isso é nossa obrigação respeitá-las.

Outro reflexo desta busca pela salvação do mundo na qual boa parte da comunidade se engajou quase que inconscientemente é a forma como vai se desenvolver o próprio Linux daqui pra frente. O Linux nasceu para ser um UNIX-like e cada passo que damos para torná-lo mais parecido com o Windows, para agradar usuários iniciantes, mais distante ficamos daquilo que nos agradou quando mudamos de plataforma. Quando leio coisas como “o Linux precisa de tal coisa para que os usuários de Windows mudem” fico me perguntando se é isso que eu espero do Linux quando ligo meu computador. Essa corrida contra o Windows pela atenção dos usuários é perigosa graças à uma premissa importante: o sistema operacional deve ser moldado para seu usuário.

Foi o usuário de Windows que moldou o sistema. A Microsoft vem ouvindo os pedidos e necessidades de seus usuários por anos e transformando o sistema, a cada versão, em algo mais parecido com o que as pessoas querem. Ou você achava que eles gastam milhões de dólares com desenhistas, programadores e projetistas todo ano porque tem pouco amor pelo dinheiro? O produto final Windows não me agrada, por isso eu uso Linux. Uso Linux exatamente pelo fato de este sistema ser, em muitos aspectos, diferente do Windows. A grande flexibilidade e a capacidade de adaptar o Linux às minhas necessidades específicas são dois pontos fortes que me ajudaram a escolher esse sistema. Tire isso do Linux e eu terei poucos motivos para querer instalá-lo em meu computador.

Quando a comunidade inicia uma discussão sobre padronização do Linux sempre aparece o viés de torná-lo mais acessível para o usuário de Windows. Isso é bom. Mas tornar o Linux mais parecido com o Windows em diversos aspectos pode não ser tão bom assim e esse ponto quase sempre fica de lado. Temos que, como comunidade, encarar a migração do Windows para Linux mais como uma opção pessoal de cada um e como compromisso do usuário de romper com um modelo em detrimento à adoção de outro. Ou seja, deve ser algo espontâneo e voluntário e não o resultado de uma ação evangelizatória que tenta empurrar goela abaixo das pessoas um sistema que elas não optaram livremente por conhecer.

Peço aos meus amigos da comunidade: parem de obrigar os usuários a instalar Linux em suas máquinas só porque o WGA descobriu que eles usam cópias ilegais de Windows. Mantenham-os informados de que há uma alternativa e que ela é boa, mas que exige quebra de paradigmas. E deixem que eles decidam quando e se vão buscar uma alternativa por conta própria. E se eles decidirem, ótimo, recebam-os de braços abertos e com toda a informação que eles possam precisar. Com essa postura manteremos o Linux um sistema diferente, de qualidade e com usuários satisfeitos.

Follow falcon_dark on Twitter
Google

O começo da era 3D para o Linux e outros

A Intel inaugurou o IntelLinuxGraphics.org onde a empresa torna disponíveis os drivers de vídeo (inclusive com aceleração 3D) para sua família 965. Mas não foi só isso que a Intel inaugurou com este site. Correndo o risco de parecer estapafúrdio eu arrisco dizer que a Intel inaugurou uma nova era, ou onda para ser menos “profético”, para o Software Livre e em especial para o Linux.

Os aceleradores 3D da Intel não são lá muito famosos entre os jogadores ou nos desktops high-end, mercado dominado pela luta entre ATi e nVidia. Mas em máquinas low-end e, especificamente, nos notebooks as placas gráficas da Intel são, muitas vezes, a única alternativa. Então existem muitas dessas placas por aí e muita gente rodando Linux nelas. Agora a AMD abocanhou a ATi em um negócio de 5 bilhões de dólares e parece-me que a Intel não conseguirá concorrer em pé de igualdade no quesito de oferecer aceleração 3D on-board para seus clientes. Trocando em miúdos a participação já tímida, mas bem segmentada, da Intel nesse nicho ficou gravemente ameaçada por sua arqui-rival. A história mostra que nada melhor que uns goles de água salgada para que grandes empresas aprendam a nadar e parece ter sido a última aquisição da AMD a gota que faltava para a Intel tentar se mexer de novo. Agora a Intel sai na frente e disponibiliza seus drivers de vídeo para que a comunidade possa “brincar” um pouco. Mais importante que isso, as distros poderão trazer suporte à esses drivers já na caixinha. Duas chances pra você adivinhar qual será a placa gráfica que melhor será surportada pelo Linux daqui à pouco ;-) E quando falamos em bom suporte não queremos dizer um desempenho 3D de colocar medo, pois aqui os chips da Intel ainda precisam de muita estrada, estamos falando de seu XGL funcionando bem sem aquelas travadas e engasgos ainda proporcionados pelos controladores proprietários de ATi e nVidia.

Certo, então os chips Intel podem ser os mais bem suportados pelo Linux em breve (se é que já não sejam) e daí? Daí que a Intel, que nada tem de boba, quer com isso fisgar os simpatizantes do Linux e outros UNIX-like para notebooks e workstations equipadas com sua plataforma. Intel do chipset ao processador é tudo que a empresa deseja que você tenha e entendendo que um dos grandes problemas do Linux nos desktops é o vídeo 3D ela decidiu ser a primeira a dar à comunidade o que pedimos, imploramos, suplicamos por anos e nunca recebemos: drivers 3D de código aberto. É a melhor atitude da Intel desde que portou seus kits de desenvolvimento para Linux e uma notícia muito boa para todos nós.

Ah... e há o lance da nova era, lembra? Depois que a Intel fez isso uma outra empresa já considera enveredar pelo mesmo caminho: ATi. Prevendo que workstations e notebooks equipados com processadores, chipset e vídeo da Intel podem tornar-se a escolha favorita dos usuários de sistemas não-Windows a AMD/ATi já falou que estuda tornar parte dos drivers 3D da empresa também abertos para que a comunidade possa ajudar em seu desenvolvimento. Isso é muito mais significativo do que se imagina, pois drivers abertos livres ajudam centenas de outros sistemas que estão fora do domínio da Microsoft, como OS/2 Warp, BeOS, Haiku e outros que são usados e esquecidos pelos fabricantes de hardware. Qualquer empresa que forneça bons drivers para esses sistemas “alternativos” garante a preferência de compra de uma legião de pequenos grupos de consumidores que são poucos em número, mas muito fiéis e por vezes barulhentos também ;-)

Com a ATi seguindo a Intel não deve demorar para que a nVidia também tome alguma decisão nesse sentido, pois afinal ela é agora e menos favorecida entre as três. Com essas grandes fabricantes de chipsets e GPUs abrindo seus drivers estaremos entrando na era de aceleração 3D para sistemas operacionais não-Windows e estaremos fazendo isso com drivers tão bons (ou até melhores) quanto os proprietários. Bem que a VIA também poderia aderir e fazer o mesmo, para não ficar para trás.

Essa disputa que começa a surgir ao longe pela atenção da comunidade de SL no ramo gráfico só vai trazer bons frutos. Estou torcendo pela chegada da ATi e aplaudindo de pé a Intel.

Follow falcon_dark on Twitter
Google

This page is powered by Blogger. Isn't yours?