Executando arquivos jnlp no Linux

janeiro 17, 2014

Estava precisando executar uma aplicação Java, porém ao entrar na URL desejada o browser (tanto Firefox quanto Chrome) baixavam o arquivo ao invés de executar a aplicação. Atualizei para o Java 7, update 51. Porém mesmo assim não funcionou.

Para funcionar usei a linha de comando e usei o programa javaws:

$ javaws URL

Porém mesmo assim ele dava uma mensagem “missing required permissions manifest attribute”.

Essa página aqui explica o erro e sugere que o ideal é que os desenvolvedores da aplicação façam um upgrade na mesma. Porém existe uma maneira de ignorar o erro.

No Linux, na mesma pasta do javaws, existe um aplicativo ControlPanel. Executando esse aplicativo, basta ir na aba Segurança e depois editar o campo “Lista de exceções de sites”.

Após fechar o ControlPanel basta executar novamente o javaws e a aplicação deve funcionar conforme esperado.

Instalar Rails usando RVM

dezembro 20, 2013

RVM é o Ruby Version Manager, com ele podemos ter múltiplas versões do Ruby e das suas gems instaladas na nossa máquina. Atualizar o Ruby também se torna trivial com RVM. Na dúvida use RVM se pretende trabalhar com Rails.

Para instalar o RVM digite:

$ curl -sSL https://get.rvm.io | bash -s stable

Isso irá instalar a versão estável mais recente do RVM. Após executar esse comando (pode demorar um pouco), abra um novo terminal e digite:

$ which rvm

Se o RVM tiver sido instalado com sucesso será retornado o caminho do mesmo.

Depois já podemos instalar a versão desejada do Ruby:

Por exemplo, o comando abaixa instala o Ruby 1.8.7 da implementação REE (Ruby Enterprise Edition)
$ rvm install ree-1.8.7

O comando abaixo mostrará a versão do Ruby se tudo tiver dado certo.

$ ruby -v

O próximo passo é instalar o RubyGems.

$ rvm rubygems current

O comando acima instala o RubyGems na versão mais recente também.

Também podemos verificar se tudo deu certo com:

$ gem -v

Por fim, é só instalar a versão da gem desejada (no caso Rails 3.2.11):

$ gem install rails –version 3.2.11

O comando abaixo mostra a versão do Rails se tudo estiver bem.

$ rails -v

A princípio parece complicado, mas vale a pena quando se deseja testar algum feature de outra versão do Ruby ou atualizar algo no sistema.

O RVM tem saídas de erro bem informativas, se algo der errado leia com atenção a saída do comando mais recente pois ali certamente haverá alguma dica importante para resolver problemas.

Por fim, consulte sempre o site oficial do RVM. Esse guia tem como objetivo principal dar uma idéia do workflow da instalação com o RVM e servir como referência rápida. Algumas mudanças podem ocorrer em versões futuras.

Site do RVM: https://rvm.io/

Montar compartilhamento automaticamente ao iniciar o computador

dezembro 20, 2013

Primeiro crie a pasta onde o seu compartilhamento será montado.

$ sudo mkdir /mnt/samba

Teste se o seu compartilhamento está sendo montado corretamente.

$ sudo smbmount \\ifs00sv009\\Dados /mnt/samba/ -o username=USERNAMEREMOTO,rw,uid=UIDLOCAL

Na linha acima, estamos montando na pasta /mnt/samba o compartilhamento Dados, que está no servidor ifs00sv009. USERNAMEREMOTO é o nome de usuário no servidor, e UIDLOCAL é o uid do seu usuário local.

Para saber seu uid, você pode digitar na linha de comando:

$ id USERNAMELOCAL

Tente acessar o compartilhamento usando o navegador de arquivos. Se estiver tudo ok, podemos prosseguir e realizar a montagem automaticamente ao iniciar o computador.

Adicione a linha abaixo no arquivo /etc/fstab:

//ifs00sv009/Dados /mnt/samba/ smbfs  auto,gid=GRUPOLOCAL,file_mode=0664,dir_mode=0775,iocharset=iso8859-15,credentials=/root/smbpasswd 0 0

Substitua GRUPOLOCAL pelo grupo de usuários que você deseja que tenha permissão de escrita na pasta.

Observe que o parâmetro credentials indica um arquivo onde está o usuário e senha do usuário remoto que será usado para autenticar no servidor de arquivos e montar o compartilhamento.

Um exemplo da sintaxe do arquivo está abaixo:

username=USERNAMEREMOTO
password=PASSWORDREMOTO

Para testar desmonte o compartilhamento (caso esteja montado):

$ sudo umount /mnt/samba

Depois monte o compartilhamento novamente a partir das entradas do fstab:

$ sudo mount -a

Verifique se o compartilhamento foi montado com sucesso. Caso contrário verifique os passos acima.

Referência:

http://www.cyberciti.biz/faq/access-windows-shares-from-linux/ (Existem alguns erros de sintaxe no link que estão corrigidos acima)

Problema de acesso no puppet agent

novembro 18, 2013

Se ao rodar o puppet agent nas máquinas clientes você estiver obtivendo um erro referente a permissão de acesso não esqueça de verificar o arquivo /etc/puppet/fileserver.conf

Eu estava obtendo uma mensagem de erro que começava com “err: Could not run Puppet configuration client: Error 400 on SERVER: Not authorized to call find on”.

O problema é que eu estava servindo arquivos para duas sub-redes distintas e só lembrei de autorizar o acesso para uma delas.

Por exemplo para autorizar o acesso na sub-rede 192.168.0.0/24 basta adicionar a linha abaixo no arquivo /etc/puppet/fileserver.conf

allow 192.168.0.0/24

Converter PDF para imagem no Linux

junho 17, 2013

Podemos usar o comando convert do Linux para isso:

$ convert arquivo.pdf arquivo.jpg

Fazendo isso a qualidade da imagem resultante pode não ser a ideal. O parâmetro density (por padrão é 72) pode ajudar:

$ convert -density 300 arquivo.pdf arquivo.jpg

Fonte: http://www.cyberciti.biz/faq/howto-convert-a-pdf-file-to-an-image/

Salvar gems em um cache local

maio 22, 2013

Para não ficar dependendo das gems instaladas em um servidor remoto é possível fazer um cache das gems usadas em uma aplicação Rails.

Para isso na máquina de desenvolvimento use:

$ bundle package

Ao fazer isso uma pasta vendor/cache será criada contendo as gems usadas na sua aplicação.

Após fazer o upload da pasta de cache no servidor remoto utilize:

$ bundle install –local –deployment

O parâmetro local fará o bundler usar a cache das gems e a opção deployment dirá para instalar as gems em vendor/bundler

http://gembundler.com/

Usando Bundle atrás de um proxy autenticado

fevereiro 22, 2013

Mais uma dica rápida:

Se você estiver atrás de um proxy o comando bundle não vai funcionar.
Para resolver basta exportar a variável de ambiente HTTP_PROXY.

No Linux:

$ export HTTP_PROXY=http://USUARIO:SENHA@ENDERECO:PORTA

Fonte: http://sudhirchauhan.net/tag/rails-bundle-install-proxy

Encontrando arquivos pelo conteúdo no Linux

julho 5, 2012

Dica rápida só para tirar a poeira do blog.

Comando mágico para encontrar um texto em um arquivo via linha de comando:

$ find . -type f -iname “*.txt” | xargs grep -s -a -i padrao

Ali onde diz “*.txt” diz para procurar somente em arquivos de texto terminados com a extensão .txt, para outros tipos é só alterar. E o texto ‘padrao’ é o padrão à ser procurado.

O mais estranho é que notei agora que ao menos no Ubuntu 12.04 não existe mais como procurar arquivos pela interface gráfica informando o conteúdo do arquivo, então a saída é apelar para a boa e velha linha de comando que está sempre disponível. Pena que quem não entende muito de linha de comando não vai mais poder fazer isso. Ou ao menos a opção está tão escondida que eu não consegui encontrar.

Como converter chave do Putty para OpenSSH

fevereiro 8, 2012

Um cliente me enviou uma chave pública gerada no Putty para que eu conectasse em um host remoto, mas a chave não funcionava, quando eu tentava conectar via ssh, me era pedida uma “senha”, porém o cliente não tinha me informado senha nenhuma.

Dando um cat nas chaves vi que o formato era diferente das chaves geradas com o ssh-keygen.

Dando uma procurada no Google vi que eu não era o único com o problema [1]. O porém era que era necessário ter o Putty instalado, mas eu queria fazer isso a partir do Linux.

Usando o Google de novo descobri[2] que existe um pacote chamado “putty-tools” que prove no Linux alguns aplicativos do Putty.

Foi só preciso executar:

$ puttygen chave-putty.ppk -O private-openssh -o chave-openssh.key

Com isso consegui conectar via ssh usando a chave.

$ ssh -i chave-openssh.key user@host

E viva o Google!

[1] http://leadingedgescripts.co.uk/server-administration/how-to-convert-your-putty-ppk-private-key-to-a-normal-ssh-key-you-can-use-on-an-apple-mac/

[2] http://superuser.com/questions/232362/how-to-convert-ppk-key-to-openssh-key-under-linux

Técnica Pomodoro com Tomighty

agosto 9, 2011

A técnica Pomodoro é uma tática de gerenciamento do tempo que consiste em definir uma tarefa, configurar um relógio para ela e executar a tarefa dentro daquele período de tempo.

Ela busca combater aquela máxima de que uma atividade tende a ocupar todo o tempo disponível para ser realizada[1].

Geralmente é utilizado um timer de mesa que nem esse aqui[2]:

Timer em formato de tomate

Para quem não consegue encontrar para vender um desses ou fica meio envergonhado de usar um, agora pode usar um software de timer Pomodoro.

O software é o Tomighty (http://www.tomighty.org/).

Ele é muito simples de utilizar.

Na versão para Linux baixe o arquivo jar e execute no terminal:

$ java -jar tomighty-0.7.jar

No Ubuntu 10.10 eu precisei fazer o seguinte para executar em modo gráfico:

1) Clicar com o botão direito no arquivo, ir nas propriedades do arquivo e verificar se a caixa “Permitir execução do arquivo como um programa” está marcada conforme a figura abaixo.

Permissão de execução

2) Depois de fechar a janela, clicar com o botão direito no arquivo novamente e escolher “Abrir com OpenJDK Java 6 Runtime” e vai aparecer um tomatinho na barra superior.

O programa é bem intuito. Com um clique inicia ou para a contagem e botão direito no ícone para configurar.

Um detalhe legal é que o desenvolvedor é brasileiro.

Comecei a usar faz pouco tempo mas estou achando bem legal. Acho que vou usar também quando for organizar um Coding Dojo[3] por aqui.

[1] http://www.efetividade.net/2007/10/29/gerenciamento-de-projetos-cuidado-com-a-lei-de-parkinson/

[2] http://www.efetividade.net/2009/12/09/rapidinha-efetiva-007-automacao-do-amigo-secreto-tecnica-pomodoro-e-mais/

[3] http://pet.inf.ufsc.br/dojo/o-que-eh-dojo/


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.