savetextmode: diga adeus aos crashes do console

Publicado por Murilo R. Esplugues em 27/11/2004

[ Hits: 5.218 ]

Blog: http://www.helpday.blogspot.com/

 


savetextmode: diga adeus aos crashes do console



Já aconteceu com você de executar um programa que faz uso do svgalib (como Mplayer, Zgv) ou até mesmo algum crash do servidor X e acabar perdendo as configurações do console, sem ter nem mesmo a possibilidade de ver algum texto ou outras coisas estranhas que deixam seu console inútil?

Infelizmente mudar para outro terminal virtual nesse caso não resolverá seus problemas e normalmente a única solução é reiniciar a máquina...

Pois saiba que existe um script provavelmente instalado por padrão na sua distribuição que pode te ajudar com isso, pelo menos no Slackware 10 tem ;- ). Caso ele não exista veremos como criá-lo e seus problemas de "incompatibilidade" romântica com o svgalib irão terminar.

Ele é o savetextmode, que na verdade é um script que faz uso dos utilitários restorefont, restoretextmode e restorepalette.

Como diz sua "man page" (man savetextmode), se você é um garoto esperto, irá rodar o savetextmode logo depois que seu sistema inicializar e ANTES de qualquer problema.

Quando o crash acontecer você terá de sair do programa que estava rodando (pressione CTRL + C), pegar um shell e digitar:

$ textmode

Pronto! Ele restaurará seu terminal a como era antes.

OK, mas lembre-se que você dará uma de demolidor aqui, por que na verdade você não verá o que está escrevendo. Se no terminal que você estava utilizando não funcionar, terá de ir para outro terminal virtual com ALT + Fx (onde x é um número entre 1 e 6), entrar com seu logon e senha (novamente as cegas), logo que você conseguir o prompt rode o comando textmode.

E tem um outro problema, às vezes esses crashes impedem você de digitar qualquer coisa com seu teclado, os casos são raros mas acontece, aí infelizmente você terá de reiniciar seu computador. Note que programas que fazem uso do svgaLib e X Window (Interface Gráfica) não são recomendados para uso em servidores, haja visto os problemas inerentes de segurança e os crashes que ocorrem de vez em quando.

Bem, sobre o script, ele guarda as configurações do seu terminal em "/tmp/fontdata" e "/tmp/textregs", também restaura suas configurações a partir daí. Segundo a manpage, mas verificando o script notei que ele apontava para o diretório "/etc/vga", sem problemas. Mas como ele funciona? Dêem uma olhada no utilitário 'savetextmode':

#!/bin/sh
# savetextmode

# Apaga as conf. anteriores

rm -f /etc/vga/textregs /etc/vga/fontdata
# Guarda as conf. atuais
restoretextmode -w /etc/vga/textregs
restorefont -w /etc/vga/fontdata

Agora no seu parceiro inseparável, o textmode:

#!/bin/sh
# textmode

# Restaura as configurações do terminal

restoretextmode -r /etc/vga/textregs
restorefont -r /etc/vga/fontdata
restorepalette

Simples e prático. Agora você poderá adicionar o savetextmode no arquivo de inicialização do seu sistema e quando ele for executado o vídeo piscará algumas vezes, mas lembre-se que isso é normal. Caso use Slackware adicione as seguintes linha em /etc/rc.d/rc.local:

# Guardando a conf. de vídeo
savetextmode

E no próximo crash que ocorrer no seu terminal fique tranqüilo e detone rodando textmode. Assim terá pelo menos uma boa chance de recuperá-lo. ; - )

Outras dicas deste autor

Slackware: Troque as configurações de teclado num piscar de olhos

Pen cleaner - Mantenha os cabeçotes de sua HP sempre limpos!

Crie discos de instalação para o Slackware [9-10]

Listas de segurança

Leitura recomendada

Travamentos aleatórios e constantes do Linux na arquitetura Intel Bay Trail [Resolvido]

Mudando a imagem da barra lateral do menu K do KDE

Instalar um segunda placa de rede no Conectiva 10

[Resolvido] 'client-error-document-format-not-supported'

Configurando softmodem (Intel e PCTel) no Conectiva Linux 10

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts