domingo, 25 de outubro de 2009

Alterando ou Desabilitando as Mensagens do SSH

O SSH é um excelente mecanismo para acessar remotamente uma máquina. Seguro, rápido, eficiente. Tão eficiente que pode ser utilizado para outros fins, como o tunelamento via SSH para o SVN, um sistema de controle de versão, ou mesmo para tunelar o protocolo do X11 e exportar o modo gráfico da máquina remota para a máquina cliente.
Por padrão, o SSH normalmente imprime uma série de mensagens no momento do acesso. Estas mensagens variam de máquina para máquina e de distribuição para distribuição, mas podem ser todas removidas ou alteradas. Em alguns casos, é imperativo a sua remoção, como quando se utiliza o SSH para tunelar o SVN, com o esquema "svn+ssh". A não remoção destas mensagens causa erros no protocolo do SVN, que não consegue "entender" os dados da mensagem, (que, obviamente, não fazem sentido para ele), e normalmente imprime uma mensagem de erro como "svn: Malformed network data".
Então, como mudo ou removo as mensagens do SVN?? Muito simples, basta seguir os passos:

1- Logue-se como root e edite o arquivo abaixo:

vi /etc/ssh/sshd_config


A primeira coisa que se pode editar é a mensagem de "Banner". Procure a linha:

Banner etc/issue.net


Para eliminar a mensagem, basta comentar esta linha (colocando a tralha - "#" - na frente). Outra opção é editar o arquivo de mensagem que a linha referencia (no exemplo acima, o arquivo /etc/issue.net) e modificá-lo, alterando a mensagem ou deixando-o vazio.

Mas não é só isso!!
Muitas vezes, o ssh imprime a informação de data e hora do último login. Esta informação é particularmente útil e importante para controle e segurança do acesso. No entanto, pode ser um pé-no-saco para tunelamento de SVN pelo esquema svn+ssh. Para removê-la, ainda no mesmo arquivo, procure a opção "PrintLastLog yes" e modifique-a para:

PrintLastLog no


Apenas isto elimina todas as mensagens em algumas distribuições. Porém, outras distros têm mensagens de sistema que costumam aparecer em ocasiões como o login do ssh. Estas mensagens podem ser encontradas no arquivo:

/etc/motd


Se este arquivinho existir, ele deve conter apenas texto estático que é copiado para o stout no momento do login (na verdade, ele pode ser um link simbólico para /var/run/motd); para eliminar o texto, basta editar o arquivo e apagar todas as linhas, ou apagar o arquivo de link simbólico.

Importante: não esqueça de reiniciar o sshd para que as mudanças tenham efeito:

/etc/init.d/ssh restart


Outra coisa importante é sempre fazer backup dos arquivos de configuração que você modificar, caso precise retroceder as alterações!!


  • Aprimorando a Segurança do SSH

Independente do que foi comentado acima, você pode - e muitas vezes deve!! - adotar algumas medidas de segurança que vão garantir a sua paz e tranquilidade, ainda que seu SSH não tenha mensagens de Last Log, etc.
A primeira coisa a fazer é abrir o arquivo "/etc/ssh/sshd_config" e adicionar (ou configurar) as seguintes linhas:

Port 10000 - Esta linha identifica a porta que vai ser usada tanto para o ssh quanto para o sftp. A porta padrão é "22", então não preciso nem dizer que 99,9% dos ataques vão direto para esta porta. Troque a porta para qualquer outra. No exemplo, coloquei a porta 10000. Portas altas tendem a ser mais seguras.

PermitRootLogin no - Este é o essencial do essencial... nunca permita o login do root. Você pode administrar o que quiser remotamente se você logar como um usuário comum e se tornar root posteriormente, com o comando "su". Não permita que o root fique propenso a ataques!!

AllowUsers beltrano cicrano - Este é um comando de white list (lista branca). Permite que você configure exatamente e exclusivamente quem pode conectar. Se esta linha estiver presente, um usuário que não contiver seu nome ali jamais será autorizado a conectar. É uma técnica muito restritiva, mas útil em muitos casos.

PermitEmptyPasswords no - Este é outro comando essencial do essencial... nunca permita que um usuário maluco defina sua senha como vazia e deixe sua conta exposta ao acesso remoto... virtualmente qualquer um poderá conectar como este usuário e ele poderá ser usado para ataques contra o root ou para derrubar a máquina!!

X11Forwarding no - A menos que você tenha a intenção (e necessidade!!!) de rodar o modo gráfico remotamente, defina este comando como "no". Se for "yes", você poderá tunelar via ssh o modo X, rodando remotamente qualquer programa com interface gráfica, que será exportada para a sua máquina local. Isso é uma ótima idéia dentro de uma intranet, mas pela internet é péssimo. O protocolo X não é comprimido nem foi desenvolvido para acesso remoto e, por isso, é lento e complicado... liberar o X para os usuários implica em correr sério risco de engarrafar a sua rede por excesso de carga!!

Bom, espero ter ajudado!! E, claro, COMENTE!!!

quinta-feira, 8 de outubro de 2009

Filmando a Tela do Computador com Wink

Capturar a tela do seu computador em formato de vídeo: uma necesidade para quem faz palestras, apresenta cursos com Data Show, ou mesmo para quem tem um trabalho final ou uma tese de mestrado para defender e precisa mostrar o programa funcionando... fantástico, não?? Agora imagine tudo isso, em formato Flash (swf), com os botões de controle de vídeo que você mesmo desenhou (ou devidamente baixou do google images), e já com o HTML pronto para colocar na sua página online, blog, portal da turma ou wiki da empresa?? E imagine que você pode editar os frames e botões do flash??
Meu Deus, como é isso!?!?!?!? Tudo isto é possível e gratuito!! E existe um programa muito legal que faz facilmente esta tarefa para você: o Wink. O Wink funciona em Linux e windows e pode ser baixado tanto de sua página oficial (esta que acabei de colocar aí acima) ou através do repositório de sua Distro. Para quem usa distribuições baseadas em Debian, basta digitar (como root, claro!!):

apt-get update (sempre bom!!!)
apt-get install wink

Em menos de 3 megas (sim, esta é a unidade de tempo do Pajé...) você terá um novo link no menu "Gráficos" do KDE (ou em outro canto, no Gnome...). Daí a aventura começa...

Tela do Wink, com um projeto de captura feito e pronto para renderizar.

O Wink permite tanto a captura de uma tela simples quanto a criação de um vídeo. Para tanto, é preciso iniciar um projeto, onde você personaliza a sua captura, indicando:

  • Se a captura é em forma de vídeo, qual a taxa de quadros por segundo (fps, ou frames por segundo);
  • Qual o tamanho da tela de captura (tela toda ou personalizada, talvez apenas um pequeno trecho da tela, que você pode marcar e configurar!!).
Então o Wink pode ser direcionado para a barra de tarefas e iniciar a captura, utilizando a tecla de atalho Shift+Pause (vídeo) ou Pause (tela simples), ou então com o botão direito sobre o ícone na barra de tarefas.


Editando o Flash

Sim, mais do que editar o vídeo, é possível personalizar diversas coisas no seu arquivo swf final, como:

  • Cursor: diversas figuras são oferecidas como cursor, basta escolher!!
  • Texto de Título do vídeo, caixa de texto em um frame, botões de "Próximo", "Anterior", "Ir Para" usando qualquer imagem que você forneça;
  • Tempo de permanência no Frame;
  • etc...

Configurado seus frames, é possível também editá-los:

  • Mover um frame ou trocar a ordem dos frames;
  • Copiar, Copiar Mesclado, Recortar e Colar frames;
  • Apagar frames;
  • Redimensionar e/ou Cortar todos os Frames (especialmente se, na empresa, a política é esconder a barrinha que mostra seus aplicativos abertos antes de mandar o vídeo para o cliente...);
  • Personalizar a Paleta de Cores;
  • Dentre outras coisas!!! Explore!!

Renderizando o Vídeo

Uma vez terminada toda a parafernalha de edição, o vídeo deve ser renderizado. Há um botão para renderizar, que gera o arquivo swf e, automaticamente, o arquivo HTML correspondente. Este arquivo pode ser lido a partir de qualquer navegador com o plugin do flash. Porém, opcionalmente, o Wink pode renderizar (em flash) para um arquivo executável do windows (*.exe). Opcionalmente, o projeto ainda pode ser exportado para PDF ou Post Script.
Lembre-se de que estes formatos (PDF e PS) vão perder as características de interatividade do Flash, mas, por outro lado, podem ser abertos em outros aplicativos, como o Gimp, se necessário, e transformados em vídeo Mpeg, que podem ser editados no Kino ou outro aplicativo, ou reconvertidos para outros formatos.
Um tutorial que fiz (e procurei ser bem completo) sobre tratamento de vídeos no Linux usando a ferramenta ffmpeg encontra-se aqui.


Conclusão

O Wink é uma ferramenta de qualidade, bem completa, que oferece à captura de tela em imagem ou vídeo uma nova dimensão: a da interação e edição, com botões, caixas de texto personalizadas, edição de frames, etc. É um programa gratuito, pequeno e interessante, fácil de instalar e de usar. Assim, pode ser uma grande alternativa simples e eficiente a programas comerciais.

Gostou?? Detestou?? Adorou ou odiou o Pajézinho?? Não importa: COMENTA LOGO!!!! :-)

quarta-feira, 26 de agosto de 2009

Entrando no Jogo: Palestra sobre Game Design na UFRN

A pedido de amigos, estou divulgando...

PALESTRA: Entrando no Jogo: O que fazer e o que não fazer ao criar uma proposta de jogo para um game publisher ou para participar de um concurso

PALESTRANTE: Prof. Dr. Lauro Kozovits (Departamento de Informática e Matemática Aplicada, Universidade Federal do Rio Grande do Norte - DIMAp/UFRN).
Doutor em Computação Gráfica e Jogos pela PUC-RJ, finalista do concurso mundial de Game Design "NGage Game Challenge 2008" da Nokia entre outros de TI em geral e premiado pela mesma empresa com o título Nokia Champion em 2006, 2007 e 2008 por sua atuação na área.

RESUMO: Numa breve palestra, o autor irá compartilhar sua experiência na escrita de documentos de game design tanto por já ter trabalhado em uma comissão avaliadora de proposta de jogos, quanto por ter sido ele próprio finalista em concurso mundial de Game Design. A palestra irá apresentar uma visão pessoal sobre o tema e não algo já consolidado na literatura, o que é, portanto, um convite para uma discussão e troca de experiências.

LOCAL: Auditório do Departamento de Artes da Universidade Federal do Rio Grande do Norte (DEART/UFRN), no Campus de Lagoa Nova, próximo à BR-101.

DATA/HORÁRIO: 04/09/2009, sexta-feira, às 15:30 (como parte do evento Tecnosextas).

É isso aí, pessoal!! Está divulgado!! Boa palestra e troca de experiência a todos!!! No que eu puder ajudar, ou se gostaram da palestra e querem dizer alguma coisa: passem aqui e COMENTEM!!!

terça-feira, 11 de agosto de 2009

Desenhos do Duke: O Mascote do Java é Open Source!!

Todo mundo já deve ter visto ao menos uma vez o Duke, aquele camaradinha em forma de gota, de corpo branco e cabecinha preta, com um narigão vermelho impressionante (nem sei como ele enxerga!!). Pois é, o Duke é open source!! Isto quer dizer que você pode desenhar, distribuir e utilizar o desenhozinho do Duke em seus programas e trabalhos livremente!! Ao menos é o que nos contam os próprios camaradas da Sun (veja aqui).
O Duke foi criado por Joe Palrang, um artista e animador de grande envergadura, que trabalhou na Sun de 1992 a 1994 e já trabalhou inclusive na Dreams Works. Na ocasião, o Duke foi criado para o Green Project, da Sun, de onde o Java se originou. Assim que anunciaram o lançamento da primeira versão do Java, na mesma época em que criaram a famosa xícara de café, lá estava o Duke como mascote do Java!!
Hoje, com o Duke open source, já temos uma recente mas fiel leva de animadores, artistas gráficos e entusiastas desenhando e contextualizando o Duke das mais diversas maneiras possíveis!! Vejamos algumas imagens do Duke...


No início, era só um Dukerino...


O Duke num momento de lazer (afinal, ninguém é de ferro!!)



Duke pronto para mais uma missão interestelar!!



Porque o Duke também é Brasileiro!!


Mamãe Duke e seu filhinho...


...e enquanto isso, o papai Duke só enchendo a cara!!


Duke de férias em Natal, RN, bebendo água de côco em Ponta Negra!!


Êta Duke bão dimais, Sô!!


Como o Duke influenciou Da Vinci...


Amigos para sempre, Duke e Tux Forever!!


Ufa!! Alguém precisava salvar o mundo dos tenebrosos usuários!!

Mais um monte de imagens gratuitas do Duke podem ser encontradas na página dele, no Projeto Kenai, da Sun: clique aqui!! Inclusive se vê por lá esta última aí em cima, numa versão gigante de fundo de tela com quase 4 megas (sim, eu a diminuí com pena de você, pelo quão que sofreria para baixar 3,8 megas de apenas 1 figura...).
Gostou?? Detestou?? Adorou?? Com corda ou sem corda?? Então COMENTE!!!!!!

domingo, 9 de agosto de 2009

HTML 5: Um Novo Paradigma Para a Web

O Que é o HTML 5 e de Onde Ele Vem??

Todos sabemos que a chamada web, ou seja, todo o conjunto de tecnologias usadas para transferir, carregar e visualizar páginas da internet, é inevitavelmente baseada na linguagem HTML. O HTML (HyperText Markup Language) é a linguagem básica que os navegadores entendem, carro-chefe da revolução da internet. Isso quer dizer que tudo que é visto em um navegador é baseado em HTML. É e sempre foi assim, desde há muito tempo, quando as máquinas só "entendiam" textos e imagens simples...
Mas há um problema: hoje em dia, precisamos de muito mais (digo, vídeos, animações, interações, chamadas remotas e assícronas, etc.). Assim, há muito tempo, o HTML já não é mais suficiente para compor tudo o que se precisa numa página web. Assim, surgiram várias novas tecnologias, no intuito de completar o HTML, sem substituí-lo, entretanto. São algumas delas: JavaScript (originalmente LiveScript, criado pelo Netscape), CSS (Cascade Style Sheets, ou folha de estilo), o XML e o XHTML, uma tentativa de "organizar" mais formalmente o HTML, o AJAX (e o XMLHttpRequest, objeto do navegador no qual as chamadas assíncronas são gerenciadas) dentre muitas outras. Hoje, o HTML e a maioria dos padrões relacionados a ele são mantidos e desenvolvidos pela World Wide Web Consortium (W3C).
Devido ao franco desenvolvimento das tecnologias web e da estagnação do HTML, há (realmente!) muitos anos parada na versão 4.0.1, a W3C tem empreendido um grande esforço para desenvolver a nova versão desta importante linguagem: o HTML 5, que conterá uma série de melhorias importantes, e está anunciada para lançamento talvez somente em 2012. Na verdade, esta nova versão tem sido desenvolvida por um grupo denominado Web Hypertext Application Technology Working Group (WHATWG), organizada pelo W3C e contando com colaboradores de diversas empresas de desenvolvimento de navegadores, como o Opera e o Mozilla.
Para se ter uma idéia do que vem por aí no HTML 5, podemos citar que estão sendo desenvolvidas as seguintes funcionalidades:

  • Controle embutido de conteúdos multimídia;
  • Nova API para desenvolvimento de gráficos 2D, em especial SVG;
  • Aprimoramento do uso off-line;
  • Melhoria na depuração de erros;
  • Suporte a Drag & Drop e Métrica de Progressão de fluxo de dados;
  • Eventos do DOM recebidos pelo servidor;
  • Etc...

As novas perspectivas do HTML 5 estão presentes nas versões mais recentes dos principais navegadores, como Firefox, Opera, IE 8, etc.


Uso de Canvas e desenhos bidimensionais (2D)

"Canvas" é uma tag desenvolvida pelo Mozilla e usada no Firefox para criar desenhos 2D (semelhantes a gráficos SVG) dentro da área especificada. Como o desenho pode ser criado/manipulado dinamicamente via Javascript, estes desenhos podem ser um grande adversário ao JavaFX, Flash e Siverlight, no tocante a manipulação dinâmica de gráficos. Esta funcionalidade nova está sendo implementada no HTML 5 e funcionará da seguinte maneira:

1- Crie uma área para o seu desenho (substitua os colchetes por símbolos de maior e menor, para as tags):

[canvas id="canvas" width="100" height="100"]

2- Para criar o desenho, é preciso se obter o contexto do canvas:

[script]
var context = document.getElementById("canvas").getContext("2d");
[/script]

3- Agora, basta fazer o desenho que quiser!! Pode-se inclusive alterá-lo dinamicamente, via Javascript.

if (context != null) { // Descobre se o navagador o suporta!!
context.fillRect(25, 25, 50, 50); // Faz um quadradão :-)
}

Bem fácil, né?? Fizemos um quadrado preto sem usar DIV!! Para quem sabe alguma coisa de Java2D, vai sentir que é bem parecido em vários pontos.
As ferramentas que estão sendo anunciadas pretendem carregar imagens SVG e poder editá-las. Isto pode levar a grandes transformações tecnológicas nas áreas de animação e jogos!!


Web Forms 2.0

Forms são os elementos presentes em formulários em HTML. Isto inclui botões, campos de texto, caixas de seleção, checkboxes, dentre várias outras coisas.... o problema do Web Forms 1.0 é que as ferramentas declaráveis nas tags de validação são muito simples e, por isso, as validações são praticamente todas feitas via javascript. Com o Web Forms 2.0, algumas novidades surgirão:

  • Presença de novos atributos de validação, como required, min e max;
  • Lançamento do evento invalid pelo DOM;
  • Atributo validity;
  • Atributo list, indicando ao navegador quando e quais elementos devem ser lembrados ou autocompletados;
  • Atributo autofocus, para dar foco a um elemento quando do carregamento da página;
  • Atributo inputmode, que detalha alguma formatação/validação desejada para entrada de texto em um formulário;
  • Aprimoramento no upload de arquivos, permitindo filtros de tipo e tamanho do arquivo a ser enviado;
  • Novos input types: datetime, number, range, email, e url, facilitando a formatação e validação dos mesmos.

Claro que muitas outras melhorias estão sendo providenciadas, e aos poucos, especialmente com as suas implementações pelos navegadores, teremos informações mais sólidas e confiança no seu uso intensivo.
Este artigo foi útil?? Aprendeu com ele?? Então... COMENTE!!!!!!!

Bibliografia

Documento Formal do W3C e dos desenvolvedores do HTML 5 e das novas especificações.
Exemplo da IBM de uso de Canvas e SVG.
HTML 5 na Wikipedia.

segunda-feira, 20 de julho de 2009

Ativando e Desativando Serviços no Linux e no Ubuntu Com Upstart

  • Atenção!! - Acrescentado em 10/12/2009
Se você roda Ubuntu/Kubuntu 9.10, este artigo não vai te ajudar tanto, mas os comentários sim. Vá direto a eles. Para versões anteriores do Ubuntu e outras tantas distribuições, mesmo as mais recentes, o artigo mantém-se válido e certo.


  • Como desligar o modo gráfico nos sistemas Linux tradicionais??
"No início, não havia nada. Então, Deus carregou o INIT..."

Desligar o modo gráfico é uma das coisas mais antigas de sistemas linux e pode ser feito tradicionalmente no arquivo /etc/inittab. Ou podia... já que nas versões mais novas do Ubuntu a coisa mudou de figura!! Como é isso?? Bom, vamos aos poucos...
Primeiro, é preciso saber como isto tudo funciona. No Linux, o primeiro processo a rodar é um programa chamado INIT. O INIT é o responsável por carregar todo o sistema, roda com prioridade de root e é o primeiro a iniciar e o último a terminar. Se você tem dúvidas, digite:

ps -e | grep in


e veja quem é o processo de número "1". Isto mesmo, o INIT!! É Deus no céu e o INIT na Terra.
O INIT opera tradicionalmente em 7 diferentes modos, chamados runlevels, a saber:

0 - halt;
1 - Inicia normalmente, porém em monousuário. Usado para manutenção pesada na máquina;
2-5 - Multiusuário, sendo 3 = modo texto e 5 = modo gráfico;
6 - Encerra todos os aplicativos e reinicia a máquina.

Quando queremos mudar o modo em que o INIT está rodando, basta digitar "init [modo]". Assim, se queremos desligar a máquina, basta digitar "init 6", por exemplo!! Bem simples e fácil!!
Existe uma maneira de se selecionar um modo padrão para a inicialização do sistema. Basta irmos no arquivo /etc/inittab e vermos o que tem nele. Ali se encontram uma série de informações para configurar cada modo. É possível que se encontre uma linha parecida com esta:

# The default runlevel.
id:5:initdefault:

Isto indica que o padrão do sistema é iniciar em modo 5 (multiusuário e modo gráfico). Imagine que queremos configurar um servidor e, portanto, não precisamos do modo gráfico, mas apenas modo texto (o servidor vai ser acessado remotamente, sem necessidade da telinha bonitinha de login do KDM ou GDM). Basta trocar o modo de "5" para "3":

# The default runlevel.
id:3:initdefault:

Antigamente bastava isto e pumba: estamos em modo texto!! Mas observe que isto não funciona diretamente no Debian (ou distros baseadas nele)... por quê??


  • Onde Estão os Scripts do INIT?

O INIT tem, para cada modo, uma série de links simbólicos para os executáveis de serviços do sistema. Estes executáveis ficam todos amontoados no diretório:

/etc/init.d/


Mas cada modo (runlevel) do init tem um diretório a parte, contendo os seus links para suas configurações próprias dos executáveis de serviços do sistema. Estes diretórios são:

/etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/
/etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/
/etc/rc6.d/

Até aí, tudo certo. O problema é que, no Debian, estes links simbólicos dizem algo mais: se eles começam com a letra "S", significa "Start", ou seja, o serviço será forçosamente iniciado. Para pará-lo, é preciso renomear o arquivo do link simbólico de modo que ele inicie com a letra "K" (de "Kill").
Assim, simplesmente mudar para o modo 3 não retira o carregamento do KDM (ou GDM), por exemplo... é preciso, além disto, renomear o link simbólico respectivo (algo como "S30kdm") para "K30kdm".
Fazendo isto, você acaba de configurar seu sistema para iniciar em modo texto. Parabéns!!


  • O Ubuntu e Outros Com Upstart

A partir das novas versões do Ubuntu (e Kubuntu, etc.), o iniciador não é mais o nosso bom e velho conhecido e camarada, o INIT, mas sim o novo Upstart. Desenvolvido inicialmente para o Ubuntu, o Upstart se propõe a ser mais eficiente e seguro que o INIT. Isto muda algumas coisas... a primeira delas é que não há mais o arquivo /etc/inittab, obviamente, já que não temos INIT nenhum. Outro problema é como ativar ou desativar o carregamento automático de serviços durante o boot.
Para resolver estes problemas insanos, apresento um comando muito simples e amigo de todas as horas, o update-rc.d, que não é exclusivo destas distros e já existe mesmo no Debian.
O update-rc.d se propõe a ativar ou desativar serviços dos scripts de inicialização do sistema de maneira mais fácil e automática. Seu uso é feito da seguinte maneira:

update-rc.d -f [servico] remove


Imagine que instalamos o SSH no Debian. Por padrão, qualquer serviço instalado no Debian é ativado automaticamente para inicialização nos modos 2-5. Assim, para que ele não carregue no boot, precisamos digitar:

update-rc.d -f ssh remove


O parâmetro "-f" significa "force" e força a remoção do link simbólico, mesmo existindo seu alvo correspondente em /etc/init.d.
Para reativar o carregamento do serviço durante o boot, basta digitar:

update-rc.d ssh defaults


Simples, né?? Vamos complicar um pouquinho então... imagine que você agora quer reativar o serviço, mas quer definir exatamente o momento em que ele vai ser carregado. Isto é definido pelo número inteiro de 2 dígitos logo após a letra "S", no nome do link simbólico. Este número define a prioridade, ordem de carregamento dos serviços. Assim, se o nosso SSH deverá ser carregado na posição 20 (antes do item de posição 21 e após o de posição 19), basta digitar:

update-rc.d ssh defaults 20

Isto criará o arquivo "S20ssh" em todos os /etc/rcX.d, sendo X entre 2 e 5 (inclusive).
Nota: para o SSH, que não é um serviço tão essencial e usualmente pode necessitar de outros serviços, isto pode ser um número muito pequeno. Tente 40 ou 50. ;-)
É possível também se definir uma prioridade diferente para a ativação e desativação do serviço. Imagine que nosso serviço deverá ser ativado na posição 20, mas desativado na posição 70 (para desativação, é considerada a ordem inversa, ou seja, são desativados os itens dos números maiores para os menores). Assim, definimos:

update-rc.d ssh defaults 20 70

Podemos ainda definir quais modos (runlevels) terão nosso serviço ativo ou não, informando os números dos modos e a nossa opção de Start ou Kill, conforme a seguir:

update-rc.d ssh start 20 2 3 4 5 . kill 70 0 1 6 .


Ou ainda, mudando de prioridade (ordem) entre os modos:

update-rc.d ssh start 20 2 4 . start 50 3 5 . kill 70 0 1 . kill 90 6 .

Isto inicia o SSH nos modos 2 a 5 e o pára nos modos 0, 1 e 6. No segundo comando, a prioridade não é a mesma para todos os modos. Serão iniciados com maior prioridade (20) apenas os modos 2 e 4, enquanto o 3 e 5 serão iniciados na posição 50, ou seja, posteriormente. Pode ser que estes modos tenham mais serviços, e acabem "empurrando" o SSH mais para a frente. Analogamente, nos modos 0 e 1, o SSH morre com prioridade 70, enquanto que no modo 6, onde talvez mais serviços serão desativados, ele morre com prioridade 90.


  • Enfim, Como Desativar o Modo Gráfico no Linux?

Como o modo gráfico é um serviço, basta desativar este serviço. Se seu Gerenciador de Janelas é o KDE, o serviço é o KDM (K Desktop Manager). Se é o Gnome, então o serviço será o GDM (Gnome Desktop Manager). Se não é nenhum destes, então informe-se com sua distro qual é o seu gerenciador de janelas e qual o serviço que ele dispara... Mas, para desativá-lo, utilize, genericamente, o comando:

update-rc.d -f kdm remove [ou]
update-rc.d -f gdm remove


  • Conclusão

Ativar ou desativar o modo gráfico no Linux é apenas compreender que o modo gráfico é um serviço, e este pode ser cadastrado via links simbólicos nos diversos modos de carregamento do sistema, assim como todos os outros serviços (como o ssh, seu servidor de e-mail, de impressão, de som, banco de dados, firewall, DHCP, FTP, servidor HTTP, etc.). Se seu gerenciador de inicialização é o INIT, isto pode ser feito de duas maneiras: manualmente, ou com o comando update-rc.d. Se você usa o Upstart em lugar do INIT (que é opção padrão no Ubuntu 9.04), então o melhor e mais prático é usar o comando update-rc.d.
O Upstart é uma opção ao INIT, desenvolvida para o (e pelo pessoal do) Ubuntu. É mais moderno e seguro, de arquitetura orientada a eventos. Está presente desde o Ubuntu 6.10, Fedora 9, no Debian (como opção), dentre outras distros. Porém, é mais chatinho de configurar os serviços. Assim, a melhor opção é utilizar o comando update-rc.d.

O objetivo deste artigo é ajudar tanto a quem está configurando seus serviços pela primeira vez quanto àqueles que sempre o fizeram manualmente e, de repente, sentiram-se inseguros com o Upstart.
Espero ter ajudado a todos!! E, como sempre, não fique calado diante do Pajé!!!! COMENTE!!!!!

domingo, 28 de junho de 2009

Qual a Resolução de Vídeo e Som do Youtube?

Recentemente, publiquei (ampliei e revisei algumas vezes) um artigo sobre o programa ffmpeg, uma excelente ferramenta gratuita para manipular vídeos, sons e legendas. Desde então, muitas pessoas têm me procurado (inclusive pessoalmente) pedindo dicas sobre como fazer um vídeo para colocar no Youtube (ou em outro portal de difusão de vídeos). Logo, para colaborar com nossos amigos, resolvi colocar aqui algumas dicas sobre os procedimentos necessários para fazer uma boa gravação de vídeo (com som) para divulgar no Youtube.


  • Gravação
Não é mistério para ninguém, mas preciso salientar que os vídeos destes portais de streaming não são lá de grande resolução, então tente fazer uma gravação que contenha boa luminosidade, com foco sempre bem controlado, e excelente captação de som. Tente usar microfones e uma mesa de som, se for possível. Os microfones devem ser próprios para o tipo de captação que você quer: seja direcional ou de ambiente. Evite usar microfones embutidos nas máquinas, especialmente se for webcam... mesmo que a gravação do som esteja com boa qualidade, o microfone certamente não lhe vai prouver a captação que você precisa.
Para o vídeo, evite cenas muito rápidas ou tremer a câmera, pois isto pode superar o frame rate (a "velocidade" da gravação, ou seja, a quantidade de quadros por segundo) e acabar sujando a tela com sombras e traços desfocados. Se a filmagem for em local aberto ou em um espaço muito grande (igrejas, teatros, salões, quintais, etc.), evite que seu objeto fique muito distante, porque pode sumir dentro do vídeo. Lembre-se de que, ao descer a resolução, coisas muito pequenas podem virar manchinhas ininteligíveis. Assim, não dá para filmar uma partida de futebol, por exemplo, de muito longe, e esperar que, no filme, você veja o número de cada jogador...
Importantíssimo: os vídeos devem ser sempre gravados mantendo (independente da resolução) a proporção de 4/3, que é a proporção das TVs antigas. Nunca grave seu vídeo em proporção de cinema, aquela 16/9, pois vai ser duro de encaixar no formato desejado, e você vai acabar perdendo conteúdo, ou ficando com as bordas superior e inferior pretas, diminuindo ainda mais o tamanho de seu vídeo...

  • Conversão
Quando colocamos os vídeos no Youtube, eles são convertidos para resoluções e dimensões padronizadas, procurando, no entanto, respeitar as proporções do original. Vamos aos detalhes técnicos:

SOM: É possível usar a freqüência de 44100 Hz, som estéreo. Esta é uma freqüência ótima e presente em muitas outras gravações consideradas de boa qualidade. Use esta configuração para gravar seu vídeo. Todavia, se o som não for importante, pode diminuir a freqüência para 22050 Hz e mono.

VÍDEO: É permitida a escolha do frame rate, ou 25fps ou 29,97fps. A diferença é pequena, então utilize o padrão que mais lhe agrade ou que lhe seja mais fácil de configurar, dependendo do seu sistema (PAL-M, NTSC, etc.). Muita importância há na resolução do vídeo: resoluções comuns são: 320x238, 450x360, 480x360, 320x240. Os vídeos em formato de cinema podem ser baixado em MP4 e ficam a 320x240.
A janelinha do Youtube é de tamanho fixo (630x360), e o seu vídeo terá uma das resoluções acima (ou alguma próxima), adaptando-se para caber nesta janela...

  • Como Baixar Vídeos do Youtube??
De maneira bem simples e rápida, e ainda podendo escolher entre o formato FLV (baixa resolução) e o MP4 (com melhor resolução), utilize o portal http://keepvid.com. Basta entrar nele, tendo saído de uma página do Youtube, que ele já captura aquele vídeo, converte e te dá os 2 links de download: o de baixa e o de alta resolução.

  • Como Examinar as Streams Presentes no meu Vídeo??
Para examinar detalhes sobre as streams de vídeo e áudio, baixamos alguns vídeos e utilizamos o programa ffmpeg, com a opção "ffmpeg -i [nome do arquivo]". Você pode utilizar qualquer editor de vídeo para colher estas informações. Observe que o ffmpeg também informa o codec de gravação do som e do vídeo, além de reconhecer facilmente o padrão FLV (Flash Vídeo), ao contrário de muitos editores de vídeo.

  • Conclusão...
Estas breve dicas são direcionadas para quem quer publicar no Youtube (ou outros portais de vídeos) gravações de reuniões, aulas, apresentações, palestras, encontros, experimentos, eventos, etc., que, sendo caras, necessitam ser bem gravadas e publicadas adequadamente. Espero ter ajudado!!

E, como sempre: gostou?? Detestou?? COMENTE!!!!!!