ago 072009
 

DepoKonqui, o mascote do KDEis de me cansar de ver inúmeros comentários maravilhosos sobre o novo KDE no identi.ca, resolvi experimentá-lo em minha máquina. O problema é que uso a versão testing da Debian (atualmente chamada "Squeeze") e os pacotes da versão 4.3 do KDE só estão disponíveis no repositório do unstable. Assim, munido de muita coragem (e ansiedade por experimentar a nova versão) resolvi atualizar o KDE a partir desse repositório. Apresento abaixo uma descrição do que eu fiz para colocá-lo em minha máquina. Atenção!!! Esse processo é bem artesanal e irá acrescentar pacotes do repositório unstable na sua máquina. Isso significa que o seu ambiente gráfico pode se tornar instável após a instalação (tudo bem que isso pode ser revertido voltando à versão anterior do KDE). Funcionou bem comigo, mas isso não significa que irá funcionar bem com você, ok? Além disso, esse não é exatamente um "guia para iniciantes". Quem for executá-lo deve ter um conhecimento mínimo de edição de arquivos do sistema e de funcionamento do aptitude. Bom, feito o meu alerta terrorista, vamos ao que interessa. 

Todos os passos descritos de aqui em diante devem ser realizados como usuário root ou utilizando o comando "sudo" antes dos comandos descritos. Em primeiro lugar, se você instalou o KDE a partir do metapacote kde-full, a primeira coisa a fazer é desinstalá-lo, com o tradicional aptitude:

aptitude purge kde-full --purge-unused

(o parâmetro "–purge-unused" serve para excluir os arquivos de configuração de todas as dependências que serão desinstaladas)

Agora acrescente um repositório unstable ao seu arquivo  /etc/apt/sources.list. Eu gosto do repositório do Instituto de Física da USP, mas você pode usar o que lhe convir. Repare que você não vai substituir o seu repositório testing, mas sim acrescentar o unstable. Veja abaixo de como ficaria um sources.list simples, apenas com as referências aos dois repositórios padrão da Debian.

## Debian Testing
deb http://sft.if.usp.br/debian/ testing main

## Debian Unstable
deb http://sft.if.usp.br/debian/ unstable main

para instalar estritamente pacotes livres. Ou então:

## Debian Testing
deb http://sft.if.usp.br/debian/ testing main contrib non-free

## Debian Unstable
deb http://sft.if.usp.br/debian/ unstable main contrib non-free

caso você não se importe em usar pacotes não livres. Se você é como eu, deverá também ter vários outros repositórios além dos citados acima, mas é importante que pelo menos os citados acima estejam presentes na sua máquina.

Entretanto, se você fizer somente isso, o seu sistema inteiro será atualizado para unstable. E você não vai querer isso, não é? Para evitar esse problema, basta acrescentar algumas linhas no seu arquivo /etc/apt/preferences. É comum que esse arquivo não exista no seu computador. Nesse caso, basta criá-lo. O conteúdo a ser inserido no arquivo é o seguinte:

Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release a=unstable
Pin-Priority: 800

Explicando grosseiramente, o que as linhas acima fazem é informar ao seu sistema que os pacotes do repositório testing tem prioridade sobre os do unstable. Isso garante que ele não irá substituir nenhum dos seus pacotes por um instável. Repare em um detalhe. Os parâmetros "a=testing" e "a=unstable" fazem referência direta ao nome dos repositórios. Assim, se ao invés desses nomes você usou "squeeze" e/ou "sid" no seu sources.list (ou seja, se o seu arquivo não está igual ao exemplo que dei lá no início do artigo), então deve substituir também o "a=" com o valor correspondente, ok?

Após o acréscimo, atualize a base de dados:

aptitude update

Agora vem a pegadinha. Pelo menos até a hora que eu instalei o KDE não existia nenhum metapacote do tipo kde ou kde-full no unstable. Por isso é necessário especificar os pacotes manualmente. A lista de pacotes que eu precisei de instalar/atualizar foi a seguinte:

kdeadmin kdebase kdebase-runtime kdebase-runtime-bin-kde4 kdebase-workspace-kgreet-plugins kdebase-workspace-libs4+5 kdeedu kdegames kdegraphics kdelibs5 kdelibs5-dev kdemultimedia kdenetwork kdenlive kdepim kdepimlibs5 kdetoys kdeutils kde-icons-oxygen kde-l10n-ptbr kde-window-manager kdm klipper kscreensaver ksysguard libkephal4 libkfontinst4 libkdecorations4 libkholidays4 libkscreensaver5 libksgrd4 libkworkspace4 libmaildir4 libnepomukquery4 libnepomukqueryclient4 libortp8 libplasma3 libplasmaclock4 libplasma-applet-system-monitor4 libplasma-geolocation-interface4 libprocesscore4 libprocessui4 libsolidcontrol4 libsolidcontrolifaces4 libsoprano4 libsoprano-dev libtaskmanager4 libweather-ion4 libzip1 plasma-widgets-addons plasma-widget-lancelot systemsettings

Pode ser que isso mude de acordo com a máquina do usuário, devido a forma como o seu Debian foi instalado. Eu também posso ter deixado passar algum pacote que ainda não dei falta. Eu gerei essa lista através de tentativa e erro, ou seja, fui tentando instalar os pacotes até não ter mais nenhum problema insolúvel de conflito. Portanto, mais uma vez, pode ser que funcione na sua máquina, pode ser que não. Comentários sobre isso são bem vindos, especialmente se você detectar algum pacote ausente. Dando continuidade, então, instale os pacotes com o comando:

sudo aptitude -t unstable install kdm kdeadmin kdebase kdebase-runtime kdebase-runtime-bin-kde4 kdebase-workspace-kgreet-plugins kdebase-workspace-libs4+5 kdeedu kdegames kdegraphics kdelibs5 kdelibs5-dev kdemultimedia kdenetwork kdenlive kdepim kdepimlibs5 kdetoys kdeutils kde-icons-oxygen kde-l10n-ptbr kde-window-manager klipper kscreensaver ksysguard libkephal4 libkfontinst4 libkdecorations4 libkholidays4 libkscreensaver5 libksgrd4 libkworkspace4 libmaildir4 libnepomukquery4 libnepomukqueryclient4 libortp8 libplasma3 libplasmaclock4 libplasma-applet-system-monitor4 libplasma-geolocation-interface4 libprocesscore4 libprocessui4 libsolidcontrol4 libsolidcontrolifaces4 libsoprano4 libsoprano-dev libtaskmanager4 libweather-ion4 libzip1 plasma-widgets-addons plasma-widget-lancelot systemsettings

Sim, tudo isso aí em cima é uma única linha de comando. Cuidado na hora de copiar e colar para que você não insira nenhum espaço extra ao final das linhas. E se você for observador(a), irá reparar que existe um parâmetro diferente no aptitude acima: "-t unstable". Lembram que acrescentamos umas linhas no arquivo preferences, pra impedir que o aptitude instale pacotes do unstable inadvertidamente? Pois bem, o parâmetro "-t" informa ao programa que ele tem que instalar os pacotes seguintes (e suas dependências) a partir do repositório especificado. Nesse caso, o unstable.

Ao executar o comando acima, o aptitude irá lhe informar que existem dependências a serem resolvidas. Não se assuste com isso. Aceite as sugestões propostas por ele. Serão exibidas então as informações de instalação. Mais uma vez autorize e o processo de download/instalação será iniciado. Ao final de tudo, seu novo KDE estará instalado e configurado e você poderá aproveitar todas as novas opções legais dele. Divirtam-se! Ah, e comentem se a explicação funcionou ou não pra vocês. 

fev 062009
 

Você achou que nunca ia passar por isso, mas aconteceu: esqueceu a senha de root do seu servidor de banco de dados MySQL. Após um leve momento de pânico, você se lembra que a Internet pode ter a solução pra isso (afinal, não tem tudo lá?).  😉  Bom, se você está lendo esse artigo então saiba que “seus problemas se acabaram”®.

Eu também passei por isso e descobri uma página em que o sujeito descreve de maneira tão didática que nem tive que pensar pra resolver o problema, foi só seguir a receita de bolo. A página maravilhosa é o artigo Recover MySQL root password (quer um título mais direto do que esse?) do sítio nixCraft. Abaixo segue a tradução (com algumas modificações) do que a página recomenda. Importante, todos os passos descritos devem ser realizados como superusuário (root) ou usando as permissões de superusuário (através do comando sudo). Além disso, os comandos apresentados funcionaram no MySQL versão 5.0.51a-21, na distribuição Debian Lenny. Eles podem funcionar do mesmo jeito em outras distribuições, ou precisar de pequenas alterações.

  1. Pare o servidor MySQL.
    Comando:
    /etc/init.d/mysql stop
    Resultado:
    Stopping MySQL database server: mysqld
  2. Reinicie o servidor MySQL usando o parâmetro –skip-grant-tables. Ao fazer isso, ele não irá pedir a senha de acesso ao servidor.
    Comando:
    mysqld_safe --skip-grant-tables &
    Resultado:
    Starting mysqld daemon with databases from /var/lib/mysql
    mysqld_safe[15118]: started
  3. Conecte-se ao MySQL como superusuário.
    Comando:
    mysql -u root
    Resultado:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.0.51a-21 (Debian)
    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql>

  4. Defina a nova senha de superusuário (digite as linhas abaixo, apertando Enter ao final de cada uma).
    Comandos:
    use mysql;
    update user set password=PASSWORD("nova-senha-de-root") where User='root';
    flush privileges;
    quit
  5. Pare novamente o servidor MySQL.
    Comando:
    /etc/init.d/mysql stop
    Resultado:
    Stopping MySQL database server: mysqldSTOPPING server from pid file /var/run/mysqld/mysqld.pid
    mysqld_safe[15198]: ended
    .
    [1]+  Done                    sudo mysqld_safe --skip-grant-tables
  6. Reinicie mais uma vez o servidor MySQL.
    Comando:
    /etc/init.d/mysql start
    Resultado:
    Starting MySQL database server: mysqld.

Pronto! Seu servidor de banco de dados já está com a nova senha de superusuário ativa. Faça o teste e não se esqueça dela novamente!!!  🙂

jan 082009
 

A Adobe lançou, há algum tempo, uma nova tecnologia chamada Adobe AIR. Explicando rapidamente, é um ambiente de execução que permite o desenvolvimento de aplicações web, mas independentes do navegador. Ele funciona mais ou menos como o Java, da Sun. Ou seja, você desenvolve uma aplicação AIR e precisa da máquina virtual pra ela poder funcionar.

Como a idéia é ser multiplataforma (será que escrevi isso corretamente? essa alteração do português está me matando… ), eles lançaram versões da máquina virtual para o Windows, Macintosh e GNU/Linux. Até aí tudo bem. As pessoas podem até comemorar isso como um avanço, por uma empresa ter se lembrado do pinguim (essa eu sei que escrevi direito… ). Porém, o instalador do GNU/Linux possui uma peculiaridade: ele precisa de privilégios de root para instalar. Isso mesmo. Você não pode instalá-lo em seu espaço de usuário. Só no sistema como um todo. Incômodo a parte, isso não seria problemático se não tivesse mais um pequeno detalhe. As aplicações AIR também exigem privilégios de root para serem executadas! Ou seja, se você quiser instalar qualquer aplicação, mesmo pra testes, precisar dar a ela privilégios de superusuário. Isso, no GNU/Linux, é algo quase insano. Instalar ou não uma aplicação com privilégio de root deveria ser opcional e não obrigatório. Tal prática pode até ser comum em outros (chamados) sistemas operacionais. Mas aqui na terra do pinguim isso beira a heresia. Uma explicação (com demonstração) desse problema pode ser encontrada nesse artigo (em inglês) no blog splitbrain.org.

Mas aí eu descobri uma publicação no blog do Logan Buesching que ensina como executar aplicações AIR sem ter que instalar nem a máquina virtual nem a aplicação. Ou seja, funciona tudo no seu espaço de usuário, sem problema algum. O restante desse artigo é uma tradução livre do original (que está em inglês).

Segundo o Logan, para que os aplicativos AIR funcionem, basta seguir os seguintes passos:

  1. baixe o AIR SDK;
  2. crie um diretório no lugar que você quiser e descompacte o arquivo dentro desse diretório;
  3. baixe uma aplicação AIR (uma sugestão para testes é o Spaz, um excelente cliente de código aberto para o Twitter);
  4. mais uma vez, crie um diretório no lugar que você quiser e descompacte o arquivo .AIR (isso mesmo, apesar da terminação, esse é na verdade um arquivo zipado);
  5. digite o comando baseado no seguinte modelo:

<caminho_do_air_sdk>/adl -nodebug <caminho_da_aplicação_air>/META-INF/AIR/application.xml <caminho_da_aplicação_air>

(esse comando deverá ficar todo em uma linha só)

Por exemplo, imagine que você descompactou o AIR SDK em um diretório air_sdk, dentro da raiz seu diretório de usuário (home) e o Spaz dentro de um diretório spaz, também dentro do seu diretório de usuário. Dessa forma, o caminho para o AIR SDK será ~/air_sdk e para o Spaz, ~/spaz (~ é um atalho que significa a raiz do diretório de usuário atual). Assim, o comando acima ficaria da seguinte forma:

~/air_sdk/bin/adl -nodebug ~/spaz/META-INF/AIR/application.xml ~/spaz/

Eu fiz uns testes aqui e funcionou. A aplicação rodou meio lenta, mas estou atribuindo isso ao fato da necessidade da máquina virtual (aplicações Java também não são um primor de velocidade aqui). Mas façam o teste e vejam o que acham. Se alguém quiser colococar nos comentários o resultado obtido com essa e outras aplicações, será de grande valia…  

nov 152007
 

Mais um tutorial do Inkscape, para o amantes do design. Dessa vez ensinando como criar mechas de cabelo. O resultado final pode ser bem interessante. Veja abaixo um exemplo:

Cabelo no Inkscape

O tutorial, que na verdade é uma “tradução contextualizada” feita pelo Valéssio Brito, está disponível nessa página do Inkscape Brasil. O original, extraído do sítio Chris Grafikdesign, você encontra aqui.

out 222007
 

O Gimp e o Inkscape são dois softwares livres fantásticos para a área de design gráfico. E se a pessoa tem seus “dons artísticos” desenvolvidos, ela pode produzir resultados realmente muito interessantes.

É o caso desse tutorial, escrito pelo romeno Nicu Buculei. Ele ensina como gerar um efeito de “quebra-cabeça” em imagens. Veja o resultado final:

Foto de exemplo do efeito de quebra-cabeça

 

O legal é que ele também possui vários outros tutoriais com os mais diversos efeitos. Pra quem gosta da área é um prato cheio.

set 192007
 

O Inkscape é um software livre de criação de imagens vetoriais muito bom e cheio de recursos. Com ele é possível fazer trabalhos de alta qualidade, no mesmo nível de outras aplicações proprietárias disponíveis no mercado. Para se ter uma idéia, basta dar uma olhada na galeria de imagens do site da comunidade brasileira de usuários do Inkscape, o Inkscape Brasil.

Entretanto, programas desse tipo geralmente são muito complexos de serem manipulados, justamente por possuirem muitos recursos. Existem vários sítios com tutoriais espalhados pela rede, mas um em especial chama a atenção por ter um diferencial: seus tutoriais são apresentados na forma de vídeos. Dessa forma, pode-se ver exatamente quais procedimentos devem ser realizados para se obter determinado efeito. O nome do sítio é também o seu endereço: screencasters.heathenx.org. E apesar do tamanho exagerado dos vídeos, é uma boa dica para quem está iniciando agora pela trilha do desenho vetorial.

jun 152007
 

Existem duas formas básicas de se utilizar uma placa de vídeo nVidia em uma máquina com o GNU/Linux. Uma delas é usando o instalador oficial, que pode ser baixado no próprio site da fabricante. Outra é compilar o fonte disponível para a Debian. Eu prefiro a segunda maneira, pois me permite um maior controle da versão do pacote de drivers instalado.

Antes que a expressão "compilar o fonte" assuste alguém, existe na Debian um programa muito interessante chamado module-assistant. Com ele é possível compilar módulos do kernel, previamente preparados para isso, de maneira simples e rápida. E é graças a esse programa que iremos instalar o driver da nVidia sem nenhuma complicação.

Antes algumas informações. Todos os procedimentos executados nesse tutorial devem ser feitos com a conta de super-usuário (root). Uma vez que serão feitas alterações no ambiente gráfico, é interessante que esse processo seja feito no console, fora do ambiente gráfico (e com ele desativado). Por fim, eu uso o aptitude ao invés do apt-get. Mas, para esse caso, qualquer um dos dois funciona perfeitamente. Por isso, todos os comandos aptitude abaixo podem ser substituídos por apt-get sem problema.

Em primeiro lugar, certifique-se de que os repositórios contrib e non-free estão ativados no seu sources.list. Para isso, abra o /etc/apt/sources.list e veja se ao final da linha do repositório principal existem as palavras contrib e non-free. A título de exemplificação, no meu sources.list a linha está dessa forma:

deb http://sft.if.usp.br/debian testing main contrib non-free

Caso não constem as palavras, altere, acrescentando-as, salve e feche o arquivo.

Em seguida, instale o pacote module-assistant:

aptitude install module-assistant

Após isso, devemos "preparar" o module-assistant para funcionar. Isso significa baixar todos os pacotes básicos para compilação. Para isso, basta usar o comando:

m-a prepare

Assim ele irá fazer o download dos pacotes básicos. Uma das coisas interessantes do module-assistant é que, na hora em que for compilar qualquer módulo ele baixa todas as dependências necessárias à essa compilação. Ou seja, preocupação zero na hora de preparar o módulo.

Agora começa a farra… 🙂 Utilize o comando abaixo:

m-a a-i nvidia

Esse comando (que na verdade significa module-assistant auto-install) irá baixar o fonte e todos os pacotes necessários para a compilação, compilar o pacote, gerar o .deb, resolver as dependências e instalar tudo. Quem disse que compilação é complicado? 😉

Após isso, é necessário instalar mais um pacote, que é o que provê aceleração OpenGL:

aptitude install nvidia-glx

Feito isso, o sistema está pronto pra funcionar. Basta informar isso para o gerenciador gráfico. Isso é feito alterando-se o arquivo de configuração do xorg (/etc/X11/xorg.conf). Essa alteração pode ser feita de duas formas: manual e automática. A forma automática é efetuada instalando-se o pacote nvidia-xconfig e executando-o em seguida. Mas caso você tenha feita alguma alteração manual no xorg.conf (ou, como eu, tenha alguma restrição a coisas automáticas), o ideal é usar a alternativa manual. É importante destacar que essas alterações só precisam ser feitas uma vez. Ou seja, uma vez efetuadas as alterações, quando atualizar seu sistema ou o driver, NÃO é necessário fazer isso de novo. Para fazer as alterações, abra o arquivo /etc/X11/xorg.conf e procure pela seção de módulos (Section "Module"). Aqui você encontra uma lista de módulos a serem carregados pelo xorg. Caso tenha alguma linha onde esteja escrito Load "GLcore" ou Load "dri", comente-as, acrescentando o sinal de #. Dessa forma, essas linhas (caso existam), ficarão dessa forma:

# Load "GLcore"
# Load "dri"

Caso não existam, não é necessário acrescentá-las. Em seguida adiciona a seguinte linha, nessa mesma seção:

Load "glx"

Procure agora por um trecho parecido com o abaixo:

Dection "Device"
Identifier "<nome da placa de vídeo>"
Driver "<driver da placa>"
EndSection

Essa seção pode estar diferente, dependendo da sua configuração. O que interessa é o parâmetro depois de Driver. Normalmente ele vai estar como "nv" ou "vesa". Basta mudá-lo para "nvidia". No exemplo acima, ficaria:

Section "Device"
Identifier "<nome da placa de vídeo>"
Driver "nvidia"
EndSection

Por fim, verifique se existe o seguinte trecho nesse arquivo de configuração:

Section "DRI"
Mode 0666
EndSection

Caso exista, exclua-o.

Feito isso, o sistema já está todo pronto para usar a aceleração 3D da placa. Agora basta reiniciar o servidor gráfico e tudo estará bem. Um indício de que o sistema está carregando o módulo correto é aparecer o logo da nVidia na hora em que o servidor gráfico iniciar.

Agora já pode se divertir com seu novo ambiente com aceleração 3D… 😉