:. Usando aplicativos de modo texto no Linux

 Por Carlos E. Morimoto
 http://www.guiadohardware.net
 16/09/2002


Uma coisa no Linux que fascina muitos usuários é a possibilidade de fazer a maioria parte das tarefas do dia a dia em modo texto, sem precisar utilizar um único programa gráfico.

Os programas de modo texto tem a vantagem de serem sempre muito mais leves, oferecendo respostas instantâneas mesmo em micros antigos ou com pouca RAM. Um gerenciador de arquivos completo com o mc consome apenas 2 MB de memória RAM, enquanto o centericq (cliente ICQ, AIN, etc.) consome pouco mais de 500 kb. Graças ao GPM, é possível utilizar o mouse na maior parte dos aplicativos de modo texto e como muitos são baseados na biblioteca ncurses, o que permite incluir janelas, menus, etc. Seu uso fica semelhante ao dos programas gráficos.

Mas, a leveza nem sempre é o principal motivo. Muitos usuários realmente gostam da simplicidade da interface e dos atalhos de teclado e conseguem trabalhar mais rápido. Outros parecem ter algum tipo de fascínio pelos mistérios da linha de comando. Não é preciso ser radical e resolver rodar tudo em texto puro. Você terá um ambiente muito mais agradável trabalhando em modo gráfico (talvez utilizando o Blackbox, já que o objetivo é a leveza) com várias janelas do xterm ou konsole abertas. É possível fazer a janela do terminal ficar transparente, alterar a fonte, etc.

Mesmo trabalhando em texto puro, você pode alterar a resolução do terminal e habilitar o frame-buffer, que além de aumentar o número de opções de resolução de tela disponíveis, permite ver imagens no terminal. Ao ativar este recurso você verá uma imagem do Tux no topo da tela durante o boot.

Você pode alterar a resolução do console alterando a linha "vga=normal" no arquivo /etc/lilo.conf do seu micro, substituindo o "normal" pelo código do frame-buffer que será utilizado. Lembre-se que esta configuração não tem nada a ver com o modo gráfico, serve apenas para escolher a resolução do modo texto. Nem todas as placas de vídeo suportam estes modos; ao escolher um não suportado pela sua placa você receberá uma mensagem de erro durante o boot e poderá escolher um outro modo, ou inicializar com a resolução padrão.

As opções são:

vga=791 : 1024x768, 16 bits de cor.

vga=790 : 1024x768, 15 bits de cor

vga=773 : 1024x768, 8 bits de cor

vga=788 : 800x600, 16 bits de cor

vga=787 : 800x600, 15 bits de cor

vga=771 : 800x600, 8 bits de cor

vga=785 : 640x480, 16 bits

vga=784 : 640x480, 15 bits

vga=769 : 640x480, 8 bits.

Depois de fazer a alteração e salvar o arquivo, digite "lilo" (como root) para gravar a alteração e reinicie o micro para testar a configuração.

Bem, desta vez não vou tomar partido, apenas apresentarei algumas opções de programas de modo texto e você decide o que fazer com eles :-)


:. Texto

O vi é o meu preferido, é relativamente fácil de usar, destaca tags em documentos HTML, reconhece expressões e sintaxe no C e outras linguagens, etc. Serve tanto para escrever um texto simples quanto para desenvolver uma página html ou programar em C. Existe uma versão gráfica do vi, o vim.

Não podemos esquecer claro do emacs que é simplesmente o editor mais usado pelos programadores open source do mundo :-) Além deles temos o joe, jed entre várias outras opções. Se você está procurando um editor fácil de usar, no estilo do edit do dos, o pico é uma boa opção.

Para editar um arquivo no vi, digite: vi nome_do_arquivo Para abrir o arquivo a ser editado. Se o arquivo não existir o programa se encarregará de criá-lo. Se quiser abrir um arquivo que não está dentro da pasta onde está, basta dar o caminho completo.

O vi tem três modos de operação: comando, edição e o modo ex. Ao abrir o programa, você estará em modo de comando, para começar a editar o texto basta pressionar a tecla "i". Apartir daí ele funciona como um editor de textos normal, onde o Enter insere uma nova linha, as setas movem o cursor, etc. Quando terminar de aditar o arquivo, pressione Esc para voltar ao modo de comando e em seguida "ZZ" (dois Z maiúsculos) para salvar o arquivo e sair. Para sair sem salvar pressione Esc e digite ":q!" (exatamente como aqui, dois pontos, quê, exclamação, seguido de Enter). Uma segunda opção para salvar e sai é pressionar Esc seguido de ":wq". Para apenas salvar, sem sair, pressione Esc seguido de ":w" e para sair sem salvar use o Esc seguido de ":q!".

Como já deu pra perceber, o Esc faz com que o Vi volte ao modo de comando, o ":" nos coloca no modo ex, onde podemos salvar e fechar, entre outras funções. O "q" fecha o programa, o "w" salva o arquivo e o "!" é uma confirmação.


:. ICQ

Experimente o centericq, que pode ser baixado em: http://konst.org.ua/eng/software/centericq/info.html

Ele é um cliente de ICQ, Yahoo, MSN e IRC e AIM, baseado na biblioteca ncurses. Não suporta mouse, mas a interface é bem prática: de um lado temos a lista de contatos e do outro as mensagens ou menus de opções. Clicando em F3 você muda seu status (online, off-line, etc.) e assim por diante.

Você pode testar também o YSM, disponível em: http://ysmv7.sourceforge.net/main.html

:. MP3 e CD

O meu tocador de mp3 de modo texto preferido é o mpg123. Para usa-lo basta digitar "mpg123 nome_do_arquivo". Para ver todas as opções, use o "man mpg123". Este programa é ideal se você quiser usar o micro como despertador. Basta usar o at ou o cron para que o programa entre em ação, tocando suas músicas favoritas no horário desejado. Para isso, crie um arquivo de texto com as músicas a serem tocadas, uma por linha, como em:

$ mpg123 /home/fernando/musica1.mp3

$ mpg123 /home/fernando/musica2.mp2

E chame-o com o comando: at -f ./arquivo 06:00
Onde o 06:00 é a hora quando as músicas serão tocadas.

Você também pode tocar uma playlist através do comando "mpg123 [email protected] arquivo". A playlist pode ser gerada através de vários programas tocadores de mp3, entre eles o Winamp do Windows e o XMMS do Linux. No XMMS você precisa apenas clicar com o botão direito sobre a janela do editor de playlists e em "salvar lista" para gerar o arquivo com todas as músicas que estiverem sendo tocadas:

Você pode incluir as playlists geradas desta forma no seu script de programação, adicionando a entrada "mpg123 [email protected] arquivo". Ao ser executado através do at o mpg123 tocará na ordem todas as músicas e playlists incluídos no arquivo.

O mpg123 faz parte de todas as distribuições que já tive a oportunidade de experimentar. Se ele não estiver instalado, você poderá com certeza encontrar o pacote nos CDs. Outra excelente opção é o orpheus (do mesmo criador do centericq) que pode ser baixado em: http://konst.org.ua/eng/software/orpheus/info.html

Ele é capaz de tocar tanto MP3 quanto CDs de áudio e oferece uma interface pseudo-gráfica, baseada no ncurses, com menus e tudo mais.


:. Browsers

Os melhores são a dupla links e lynx que citei acima. Apesar de não suportar frames e tabelas, o lynx é o que suporta melhor scripts e por isso consegue acessar muitos sites com autenticação, javascrips incomuns, etc. Em que o links não entra.

Outro navegador que pode vir a ser uma boa opção (ainda está em desenvolvimento) é o netrik, disponível aqui: http://freshmeat.net/releases/96073


:. E-mail

O pine e o elm possuem vários recursos, mas não são exatamente fáceis de usar. Quase tudo é feito através de atalhos de teclado e é preciso configurar o sendmail, que é usado para enviar e receber os e-mails através do pop/smtp do seu provedor. Alguns webmails (o bol por exemplo) podem ser acessados com o lynx.


pine


:. Gerenciador de arquivos

Sem dúvidas o mc é a melhor opção. Ele chega a oferecer mais recursos inclusive que os gerenciadores gráficos. Também é baseado no ncurses e suporta o uso do mouse. Muita gente o usa em substituição do Konqueror/Nautilus por causa da leveza.


:. Gravação de CDs

O cdrecord e o bladeenc, que você pode aprender a usar no capítulo 3 do meu e-book são bons lugares para começar ;-) Atualmente, todos os programas gráficos, incluindo o xcdroast são apenas front-ends para o cdrecord e outros programas de modo texto. Ou seja, os mesmos recursos estão disponíveis em modo texto, mas você terá que decorar toda a sintaxe dos comandos.

Para facilitar, você pode usar o burncenter, que é um front-end de modo texto, com basicamente as mesmas opções dos programas gráficos. Você pode baixa-lo em: http://alx14.free.fr/burncenter

Outra opção é o CDRecbox, desenvolvido por um Brasileiro, o Gian F. Jaskulski:
http://webmail.metropoa.tche.br/cdrecbox


:. Jogos

Claro, existem alguns jogos de modo de comando, alguns muito bons, mas um projeto que me chamou a atenção foi este aqui: http://www.jfedor.org/aaquake2 Este é simplemesmente um hack para jogar o Quake II em modo texto. Sim, isso mesmo a imagem é representada usando caracteres de texto. Ok, pode não ter muita utilidade prática, mas achei que valia à pena citar como curiosidade.

Dá também para assistir DVDs em modo texto, usando o mplayer: http://www.mplayerhq.hu/homepage/info.html. Basta utilizar o "aalib" como output devide. Tem gente que gosta desse tipo de coisa :-)


:. Agendando tarefas com o Cron

O cron é um daemon que executa tarefas agendadas no arquivo "/etc/crontab". Esta é uma ferramenta bastante poderosa, que pode ser usada para automatizar tarefas de rotina e de manutenção do sistema. A diferença entre o at e o cron é que o at permite executar os comandos apenas uma vez, enquanto o cron permite executa-los repetidamente, todo dia, toda semana, ou em qualquer periodicidade desejada. Para isto, basta editar o arquivo, inserindo uma nova linha que especifique o comando a ser executado e a periodicidade. O cron fica ativado por default em todas as distribuições.

A sintaxe das linhas do cron é um pouco complicada, por isso preste atenção :-)

Este é um exemplo de linha que pode ser incluída:

30 15 * * * root /usr/bin/rdate -s 131.188.3.223

O primeiro campo, "30" refere-se aos minutos, enquanto o segundo "15", às horas. Depois temos o campo do dia, mês e dia da semana. No meu caso os três campos estão com um *, o que significa que o comando será executado todos os dias na hora especificada nos campos da hora, ou seja, todos os dias às 15:30. Finalmente, temos o usuário que executará o comando (no caso o próprio root) e finalmente o comando que será executado (/usr/bin/rdate -r 131.188.3.223) que serve para sincronizar o relógio do micro com o horário do servidor especificado (este endereço é o de uma universidade na Alemanha, que mantém um servidor rdate público).

Para executar o comando todas as quartas feiras, à meia noite (00:00) por exemplo, você usaria o campo de dia da semana (o quinto) para especificar um número de 1 a 7 que se refere ao dia. 1 é Segunda-feira e 7 é o Domingo. Quarta-feira é o dia 3, então a linha ficaria:

00 00 * * 3 root /usr/bin/rdate -s 131.188.3.223

Se fosse para executa-lo todo dia 14 de Abril às 4 da tarde (16:00), então seria:

00 16 14 04 * root /usr/bin/rdate -s 131.188.3.223

Note que neste último caso o dia da semana voltou a ser um asterisco. Se você especificasse também um dia da semana, 3 por exemplo, ele só executaria o comando caso o dia 16/04 caísse numa Quarta-Feira, o que seria improvável :-).

Você poderia brincar com isso fazendo com um um comando fosse executado toda Sexta-feira 13 (um backup extra, só pra garantir :-) à meia-noite. Neste caso a linha ficaria:

00 00 13 * 5 root comando

O arquivo /etc/crontab só pode ser editado pelo root, mesmo que o comando a ser inserido na linha vá ser executado por outro usuário. Lembre-se de só executar os comandos incluídos no /etc/crontab como root quando necessário. Se o comando puder ser executado por um usuário comum, altere o "root" na linha pelo login do usuário.

Os usuários do sistema também podem usar o cron, mas usando o comando "crontab -e".

Para que as alterações entrem em vigor é preciso reiniciar o serviço com o comando "service crond restart"