seiti.eti.br

programming & gadgets


by seiti tt seiti
“Os usuários do Linux não apenas gostam de seus sistemas- eles estão preparados para batalharem por eles, consertá-los e torná-los melhores, mais rápidos e seguros do que um computador com Windows jamais sonhou em ser.” — Nemeth, Snyder e Hein – Manual Completo do Linux

debian laptop

Nota: as informações abaixo se referem ao *Debian Sarge. Mudei recentemente (out/2006) o SO para o Ubuntu Dapper (6.06) e tudo funcionou corretamente após instalado (bom, menos a cedilha…). Placa Wi-FI PCMCIA, Ethernet PCMCIA, som, medidor de bateria… Recomendo para todos que desejam uma primeira experiência com o Linux sem dores de cabeça. Sendo assim este texto está em sua maior parte obsoleto.*

Como eu me mudei para um lugar um tanto longe de minha casa, e precisava de um micro, acabei optando pelo conforto e conveniência de um laptop (ou notebook). Pesquisando alguns preços, acabei decidindo pela compra de um Toshiba Satellite 1000-S157 usado, cuja configuração pode ser conferida logo abaixo.

Vendo que não conseguiria jogar (no máximo um Starcraft) devido ao fraco desempenho em 3D, e decidido em instalar um sistema Linux, acabei por descartar completamente o Windows como opção até para um eventual sistema dual-boot.

Quebrando um pouco a cabeça para configurar e instalar certas coisas, criei esta página para relatar minhas experiências neste processo. Tenha em mente que isto deu certo para mim. Não quer dizer que dará certo para você. Mas quem sabe não seja útil para alguém. =)

Note que para entender os processos descritos nesta página é necessário um pouco de conhecimento sobre os sistemas GNU/Linux. Um ótimo livro para isto é o Manual Completo do Linux – Guia do Administrador, de Nemeth, Snyder e Hein. A página oficial do livro é www.admin.com (em inglês). A versão que eu tenho é a traduzida, editada pela Pearson Education/Makron Books.

Tuxmobil

descrição

modelo/n. Toshiba Satellite 1000-S157
processador Mobile Intel® Celeron® 1.06GHz (núcleo do PIII)
memória/max. 256MB/512MB
hdd 15GB
monitor 14.1 TFT 102468
controladora gráfica Intel 830MG
memória de vídeo 8MB (UMA)
som Crystal CS4299-A Codec Chip
pc card (PCMCIA)TypeIIx2 ou TypeIIIx1
usb 3 portas
modem V.90/56K integrado

instalação do sistema Debian GNU/Linux

A distribuição de Linux que escolhi foi o Debian Sarge, devido à grande quantidade de pacotes disponíveis e à ampla literatura existente para consulta na internet. E também por simpatizar com o conceito do projeto Debian, de ser um sistema totalmente produzido por voluntários de todo o mundo.

O único cuidado na instalação, relativo ao funcionamento do X system, é utilizar o driver de vídeo do Intel i810, pois não existe uma específica ao 830MG do laptop.

Para modificar qual tipo de distribuição Debian você quer após a instalação, basta modificar o arquivo /etc/apt/apt.conf colocando/editando a seguinte linha:

APT::Default-Release "testing";

E para instalar qualquer pacote diretamente dos servidores Debian, basta dar o comando:

# apt-get -t distribution install package

Onde distribution pode ser stable, testing ou unstable e package é o nome do pacote a ser instalado. Veja o manual do apt para mais informações.

Note que o meu kernel é o 2.6, compilado a fim de poder decidir quais módulos incluir.

compilando um kernel otimizado

Para otimizar o desempenho de minha máquina, assim como finalmente aprender a configurar e compilar um kernel Linux, decidi por a mão na massa. O fato é que o processo foi bem mais fácil do que eu esperava, principalmente por causa das ferramentas do pacote kernel-package.

E posso dizer que o trabalho todo compensa! Tomei um susto ao me deparar com diferença no desempenho antes e depois de compilar o kernel. Eu não sei quantificar esta diferença, mas ela foi claramente perceptível em qualquer uso que eu fiz do laptop. Melhor e mais barato que um upgrade de hardware. Deu vontade até de compilar todos meus programas, ao invés de baixar os pacotes pré-compilados. Mas fiquei quieto num canto até esta vontade passar. =)

As instruções para se compilar um kernel no Debian podem ser vistas na seguinte página: newbiedoc.sourceforge.net

HDparm

Primeiramente, vamos melhorar a velocidade do HD. Mas como isto é possível? Bom, o Debian, por padrão, configura seus dispositivos da maneira mais confiável possível, minimizando possibilidade de problemas. Ou seja, o HD é configurado para operar sem o DMA ativado: lerdeza na certa.

Vamos então utilizar o HDparm para melhorar o desempenho do HD. Para ativar o DMA basta inserir o seguinte bloco de texto no arquivo /etc/hdparm.conf:

command_line { hdparm -c3 -m16 -d1 /dev/hda }

E pronto! Ao reinicializar sua máquina, tudo estará mais ligeiro.

Para ver o quanto seu HD ficou mais rápido, antes de modificar o arquivo supracitado, dê algumas vezes o comando

# hdparm -t /dev/hda

Agora dê o comando

# hdparm -c3 -m16 -d1 /dev/hda

, e logo após dê o comando

# hdparm -t /dev/hda

novamente. Viu como melhorou?

WindowMaker

Como gerenciador de janelas, ou window manager, eu costumo utilizar o WindowMaker. Antes era por causa do desempenho, agora é por questão de gosto mesmo.

Para instalar o pacote Debian mais recente para sua configuração basta dar o comando:

# apt-get install wmaker

Giro (Vésper)

Finalmente consegui configurar o Giro para funcionar no meu laptop. Para quem não sabe, Giro é o serviço de banda larga da Vésper, em São Paulo. A diferença para outros serviços de banda larga é que este utiliza um modem com tecnologia CDMA (G3) e interface USB. Ou seja, dor de cabeça (ou diversão, dependendo do usuário) para quem usa Linux. A marca e modelo do modem é LG LST-D400.

Antes de mais nada, configure o seu kernel para possuir os seguintes módulos:

alias char-major-108 ppp_generic alias /dev/ppp ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate

Os itens da lista acima foi tirado do meu modules.conf. Aproveite e coloque as linhas acima no modules.conf, caso após ter incluído os módulos via configuração do kernel eles não tenham surgido.

Depois crie/edite os seguintes arquivos: /etc/ppp/peers/giro e /etc/chatscripts/giro. Eis o arquivo /etc/ppp/peers/giro:

/dev/ttyACM0 noauth connect "/usr/sbin/chat -V -v -f /etc/chatscripts/giro" defaultroute lock usepeerdns debug user "kamikaze@giro.com.br" noipdefault nobsdcomp

E eis o /etc/chatscripts/giro:

TIMEOUT 10 ABORT "BUSY" ABORT "NO ANSWER" ABORT "NO CARRIER" ABORT "NO DIAL TONE" ABORT "RING\r\n\r\nRING\r" '' AT+CRM=1 TIMEOUT 60 OK ATD\#777 CONN

Só falta definir sua senha no arquivo /etc/chap-secrets. Basta inserir no arquivo a seguinte linha:

"usuario@giro.com.br" * "suasenha"

É claro que você deve utilizar suas próprias informações.

Agora basta dar o seguinte comando:

$ sudo pon giro

E pronto! Você estará conectado! Caso isto não ocorra, dê um tail no arquivo /var/log/messages para saber qual o problema.

placa de rede wireless

debian laptop Comprei uma plaquinha PCMCIA para poder acessar o Speedy Wi-Fi, cuja marca e modelo é TRENDnet tew-226pc.

Embora eu ainda não tenha acessado os hotspots Speedy Wi-Fi, consegui estabeler com sucesso uma conexão caseira usando o roteador D-Link DI-514, um roteador com 4 portas RJ45 e access point padrão 802.11b (11Mbps) para acesso sem-fio. Assim, basta eu ligar o laptop que já estou ligado à internet.

Seguem os passos executador por mim, recolhidos de fontes na internet. (a maior parte das informações foi obtida em http://tiefighter.et.tudelft.nl/~arthur/wpc54g/)

Primeiro identifiquei qual o driver certo para o funcionamento da placa pcmcia em sistemas Linux. Meus dados são:

Após baixar o driver e descompactá-lo em local conveniente, editei o arquivo /etc/apt/sources.list adicicionado o seguinte endereço:

deb http://rigtorp.se/debian/ unstable/

Após atualizar o apt (com o comando apt-get update), instalei o restante dos pacotes necessários:

# apt-get install ndiswrapper ndiswrapper-source

Abri o pacote com o código fonte do módulo, e entrei no mesmo para criar um pacote debian (adapte KSRC para apontar para o código-fonte de seu kernel)(note que rules é um executável que se encontra dentro do diretório criado):

# debian/rules binary-modules KSRC=/lib/modules/`uname -r`/build

Instale o pacote debian criado:

# dpkg -i ../ndiswrapper-modules-*.deb

Agora vá para o diretório com o driver de sua placa e carregue o módulo com o driver:

# ndiswrapper -i NET8180.inf # update-modules # modprobe ndiswrapper

Para que o módulo seja sempre carregado em tempo de boot:

# echo ndiswrapper “”>>“” /etc/modules

Agora instale o pacote dhcpcd:

# apt-get install dhcpcd

Acrescentei estas linhas ao arquivo /etc/dhcpc/config:

wlan0) # Uncomment this to allow dhcpcd to set the DNS servers in /etc/resolv.conf # If you are using resolvconf then you can leave this commented out. #SET_DNS='yes' # Add other options here, see man 8 dhcpcd-bin for details. OPTIONS='' ;;

Embora eu ache que não faça diferença =).

debian laptop Para que tudo se automatize, e as configurações entrem em vigor ao inserir a placa pcmcia, instale os pacotes waproamd e ifplugd:

# apt-get install waproamd ifplugd

Edite o arquivo /etc/default/ifplugd, configurando HOTPLUG_INTERFACES para “all” e edite /etc/default/waproamd configurando HOTPLUG_INTERFACES para “all”. Por fim edite o arquivo /etc/network/interfaces e inclua:

iface wlan0 inet dhcp

E reinicie os seguintes serviços:

# /etc/init.d/ifplugd restart # /etc/init.d/waproamd restart

Cheque se tudo está funcionando através dos comandos iwlist e iwconfig. Cheque as páginas de manual para saber como utilizar estas ferramentas (inclusas no pacote wireless-tools).

câmera digital

Comprei uma câmera digital, uma Canon PowerShot A400. Esta câmera é muito boa, considerando a qualidade das imagens e funcionalidades. Mas existe um porém: não consegui acessar seu conteúdo montando sua memória como um dispositivo de armazenamento USB padrão.

O problema é que as câmeras da Canon não utilizam o protocolo “USB Mass Storage”. Sendo assim, é necessário a instalação dos seguintes pacotes Debian: libgphoto2-2, gphoto2 e gtkam (opcional).

Após instalados, é só digitar a seguinte linha de comando (note que é necessário estar como superusuário, ou usar sudo) :

# gphoto2 –auto-detect

Assim é possível observar se a câmera foi detectada corretamente. Para ter acesso às imagens em sua memória, basta entrar com:

# gphoto2 –list-files

O resto dos comando veja nas páginas de manual do gphoto2, ou utilize o gtkam, um ui para o gphoto2.

USB Mass Storage Device

Comprei um HD de 200GB para armazenar alguns títulos de MP3 e coloquei-o em um dispositivo USB para acesso externo ao HD, mas tive problemas em montá-lo utilizando o comando:

$ mount /media/usb

Descobri que, devido ao modo como particionei o HD, o mesmo não constava como /dev/sda1, como acontece costumeiramente com pendrives e similares, e sim em /dev/sda5. Descobri isto através do comando:

# fdisk -l

Assim, bastou acrescentar a seguinte linha no arquivo /ets/fstab:

/dev/sda5 /media/ehdd auto rw,user,noauto 0 0

E, obviamente, criar o diretório /media/ehdd:

# mkdir /media/ehdd

Assim, para montar o HD externo, basta executar:

$ mount /media/ehdd

Unison

Como possuo contas em vários micros (casa, estágio, faculdade), com arquivos interrelacionados espalhados por todos eles, é muito difícil saber qual arquivo está onde e em que máquina está o arquivo mais recententemente editado. Para solucionar isto procurei por algum sofware que pudesse sincronizar meus arquivos, inclusive entre sistemas Windows e Linux. Encontrei o Unison

Muito prático. Para que funcione também no Windows (que não possui SSH, necessário ao Unison), instale o OpenSSH. Posso dizer que funciona bem, pois sincronizei quase 1GB de fotos que tirei em minha câmera digital entre o o meu desktop (Windows) e meu laptop (Debian Linux). E para visualizar estas fotos utilizo o gtksee.

Xine e MPlayer

Para instalar o MPlayer siga as instruções da página http://debian.video.free.fr/, que hospeda pacotes não oficiais (e portanto mais recentes) do MPlayer.

Ou seja, caso sua distribuição Debian seja Sarge (testing), coloque a seguinte linha no arquivo /etc/apt/sources.list:

deb ftp://ftp.nerim.net/debian-marillat/ testing main

Agora instale o pacote mplayer-686 e todos os pacotes recomendados e sugeridos por ele.

O Xine eu não me lembro, mas devo ter instalado dos repositórios oficiais mesmo, com o comando:

# apt-get -t unstable install xine-lib xine-ui

TeX/LaTeX

Para produzir textos na faculdade, costumo utilizar o LaTeX. Caso você se interesse, existe um ótimo tutorial para editar textos usando esta ferramenta, o The Not So Short Introduction to LaTex (arquivo PDF).

Para ter um ambiente LaTeX em sua máquina, basta instalar os seguintes pacotes:

# apt-get install tetex-base tetex-bin tetex-extra tetex-doc lacheck

Squeak

Squeak se trata de um arcabouço (ou framework) para a linguagem SmallTalk, considerada por muitos a melhor linguagem já escrita.

Infelizmente o Squeak, apesar de ser um projeto Open Source, não possui um pacote oficial do Debian. Assim foi preciso modificar algumas coisinhas antes de instalá-lo em meu sistema.

Assim foi necessário inserir no arquivo de fontes do APT os repositórios para os pacotes pré-compilados do Squeak. O arquivo a ser modificado é o /etc/apt/sources.list, e deve-se colocar as seguintes linhas:

deb http://box2.squeakfoundation.org/files/debian/ unstable main deb-src http://box2.squeakfoundation.org/files/debian/ unstable main

Depois devemos atualizar o banco de dados do APT e instalar o Squeak com os seguintes comandos:

$ sudo apt-get update $ sudo apt-get install squeak squeak-image3.6

E pronto, basta digitar squeak na linha de comando e tudo funcionará bem.

Fonte: http://minnow.cc.gatech.edu/squeak/3616