Mostrando postagens com marcador linux. Mostrar todas as postagens
Mostrando postagens com marcador linux. Mostrar todas as postagens

sexta-feira, 22 de agosto de 2008

Manipulando arquivos começados por hifen no Linux


Compare preços de


No Linux (e provavelmente FreeBSD e outros sistemas Unix) arquivos que têm o nome iniciado por hífen acabam virando problema. Isso porque os comandos normalmente aceitam parâmetros iniciados por hífen, e acham que o nome do arquivo é na verdade um parâmetro inválido.

Por exemplo, veja o que ocorre quando se tenta remover um arquivo chamado -teste-:

$ rm -teste-
rm: invalid option -- t
Try `rm ./-teste-' to remove the file `-teste-'.
Try `rm --help' for more information.


Existem duas opções para resolver:

  • Usar dois hífens ("--") para indicar o fim dos parâmetros.
    Qualquer coisa depois disso normalmente é tratado como nome de arquivo.
    $ rm -- -teste-

  • Usar ./ para indicar o arquivo.
    Um ponto significa o diretório local, então ./-teste- referencia o mesmo arquivo.
    $ rm ./-teste-

No exemplo foi usado o comando rm, mas praticamente qualquer comando segue o mesmo padrão.


Compare preços de

segunda-feira, 11 de agosto de 2008

Fim do suporte ao PHP 4


Depois de vários anos após o lançamento do PHP 5, terminou o suporte oficial ao PHP 4, coexistindo pacificamente desde então.

PHP

A notícia foi dada juntamente com o release 4.4.9 do PHP, que corrige algumas falhas. Adicionalmente foi informado que seria o último release.

Mesmo após todo esse tempo, isso pode acabar incentivando que projetos finalmente migrem para o PHP 5, que embora não seja tão bom quanto poderia, é um avanço imenso na linguagem. Essas migrações poderiam ter acontecido a qualquer tempo, mas talvez o fim das atualizações do PHP 4 dê um susto em quem ainda depende dele.

Outro efeito natural que pode contribuir é a probabilidade de que as próximas versões das distribuições Linux parem de trazer o PHP 4, dificultando ainda mais a vida de quem fizer questão de usar a versão antiga me seus servidores.

No entanto, a maioria dos desenvolvedores deve concordar: Já vai tarde, PHP4. Já vai tarde...

segunda-feira, 4 de agosto de 2008

Baixando videos no YouTube com confirmação de idade


Leia também: Como baixar videos do YouTube.

Há algum tempo publiquei post dizendo como usar o programa youtube-dl para fazer download de videos do YouTube. Mas quando o video exige login e confirmação de idade o programa acusa que o video não existe. O que fazer então?

YouTube

Para assistir a esses vídeos no site do YouTube, você deve criar um login. Estando logado, ele permite que você confirme que é maior de 18 anos, e então o vídeo é liberado. É possível então informar ao youtube-dl que deve usar esses dados para efetuar login e confirmar a idade. O comando fica desse jeito:

youtube-dl -u USERNAME -p PASSWORD URL-DO-VIDEO

Você verá pelas mensagens na tela que o programa está fazendo alguns passos a mais (login e confirmação de idade).

Outras formas de usar o youtube-dl

Aproveitando o assunto, alguns outros modos de usar o programa além do básico.

Retornar a URL do video

Útil para usar em outros programas de download (como o wget).

youtube-dl -g URL

Ver o título do vídeo

Retorna a URL de download de vídeo e também o título. Muito bom para quando você recebe um link para um vídeo e quer saber o que é antes de ver ou baixar.

youtube-dl -g -2 URL

Baixar com limite de velocidade

É possível combinar a dica anterior com um recurso do wget para baixar com limite de velocidade. Útil por exemplo quando há mais computadores utilizando a mesma conexão com a internet.

wget --limit-rate=15k `youtube-dl -g URL`

No exemplo acima, limitei o download em 15kB/s.
Importante: o comando está envolvido em crases, não em aspas.

Leia também: Como baixar videos do YouTube.

sexta-feira, 1 de agosto de 2008

10 truques para administradores de sistemas Linux


Um bom artigo da IBM DeveloperWorks com 10 dicas para o administrador de sistemas Linux. Mas mesmo que você não trabalhe com administração de sistemas Linux pode se deparar com alguns dos problemas.

Vale a pena a leitura, nem que seja pela curiosidade. Para os preguiçosos, segue a lista de truques (em inglês):


Link para o artigo: Lazy Linux: 10 essential tricks for admins.

sábado, 19 de julho de 2008

Como formatar um pen drive


Se por algum motivo seu pen drive (ou MP3 player, ou MP4 player) tiver sido corrompido e precisar formatar, no Linux, use o comando abaixo:

# mkfs.vfat /dev/sdb
Lembrando que o comando deve ser executado como root e /dev/sdb deve ser trocado pelo dispositivo correto, se for diferente. No Ubuntu e similares, você pode usar o comando sudo para não precisar logar como root:
$ sudo mkfs.vfat /dev/sdb

IMPORTANTE: esse comando NÃO vai restaurar os dados perdidos no seu pen drive, vai apenas recriar o sistema de arquivos VAZIO. Se você ainda tiver esperança de recuperar os arquivos, não o execute e entregue a alguém que entenda de recuperação de dados.

quarta-feira, 16 de julho de 2008

Tim Web no Linux - conecta mas não navega


Leia também:
Calendário da portabilidade numérica
Ringtone MP3 no celular sem usar cabo
Celular como controle remoto do PC

Utilizo o Tim Web, serviço da Tim para acesso à internet móvel. Uso no Linux, e de alguns dias para cá, a conexão é estabelecida mas não consigo navegar em nenhum site. Para tirar a dúvida, vi que no Windows, conectando com o programa fornecido tudo continua perfeito.

Notei então que ao conectar, os endereços de DNS atribuídos eram sempre 10.11.12.13 e 10.11.12.14, provavelmente endereços default que não fazem nada.

O problema se resolve apenas mudando para algum servidor de DNS conhecido, como os do OpenDNS, que são 208.67.222.222 e 208.67.220.220.

PS: usando um aparelho celular servindo como modem (como o Nokia N80 Nokia N95 ou iPhone) o problema não ocorre.

Leia também:
Calendário da portabilidade numérica
Ringtone MP3 no celular sem usar cabo
Celular como controle remoto do PC

terça-feira, 24 de junho de 2008

Usando dois monitores no Linux


Depois de muito me matar tentando colocar meu notebook para funcionar com um monitor externo (como extensão do desktop, não como clone; também conhecido como Dual Head), acabei chegando a uma solução muito simples. Segue a solução, para quem sabe servir a alguém mais.

O processo foi realizado no Kubuntu 7.10, mas deve funcionar em outros sistemas (o guia que eu tomei como base era para o Debian; clique aqui para lê-lo).

Monitor LCD

Hardware usado

O hardware usado:

  • Notebook com placa de video Intel 915GM
  • Um velho monitor LG de 15" de tubo
Um detalhe a se notar é que as resoluções máximas da tela do notebook e do monitor externo são diferentes (1280x800 e 1024x768 respectivamente).

Como fazer?

  • Faça um backup do arquivo de configuração do Xorg (/etc/X11/xorg.conf). Assim, se algo der errado, terá para onde voltar.
  • Se você tem dois monitores lado a lado, digamos, com 1024 pixels de largura em cada, você terá um total de 2048 pixels de largura, e normalmente o X não permite uma coisa dessas. Altere o arquivo xorg.conf adicionando a opção Virtual LARGURA ALTURA (onde LARGURA e ALTURA são as dimensões em pixels do seu desktop virtual) na subseção Display, como no exemplo:
    Section "Screen"
            Identifier      "Default Screen"
            Device          "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
            Monitor         "Generic Monitor"
            DefaultDepth    24
            SubSection "Display"
                    Modes           "1024x768"
                    Virtual         2560 1024
            EndSubSection
    EndSection
        
  • Conecte o cabo do monitor na saída VGA do notebook e reinicie o X (Ctrl+Alt+Backspace faz o serviço).
  • A tela de login deve aparecer com a imagem duplicada na tela do notebook e no monitor, e possivelmente com a resolução errada. Isso é normal, efetue o login.
  • Abra um terminal e execute o comando xrandr -q. Você deve ver informações sobre os monitores, como a seguir:
    $ xrandr -q
    Screen 0: minimum 320 x 200, current 2304 x 800, maximum 2560 x 1024
    VGA connected 1024x768+1280+0 (normal left inverted right) 270mm x 195mm
       1024x768       60.0*+   59.9
       832x624        74.6
       800x600        84.9     72.2     75.0     60.3     59.9     56.2
       640x480        85.0     84.6     75.0     72.8     66.7     60.0
       720x405        69.6
       720x400        70.1
    LVDS connected 1280x800+0+0 (normal left inverted right) 304mm x 190mm
       1024x768       60.0 +
       1280x800       59.9*+   60.0     59.9*
       1280x768       60.0
       800x600        60.3
       640x480        59.9
    TV disconnected (normal left inverted right)
        
  • É agora que vamos ajeitar as coisas. Abra um terminal e execute os comandos:

    $ xrandr --output LVDS --mode 1280x800
    Ajusta a resolução da tela do notebook. Substitua 1280x800 resolução correta

    $ xrandr --output VGA --right-of LVDS
    Posiciona o monitor à direita da tela principal. --right-of pode ser substituído por --left-of, --above ou --below.

    $ xrandr --output VGA --mode 1024x768 --rate 75
    Ajusta a resolução do monitor externo. Note que nesse caso, o refresh rate também é ajustado para 75Hz.
  • Os passos tendo dado certo, você pode criar um script e criar um atalho, ou configurá-lo para ser executado na inicialização do ambiente gráfico (usuários de KDE, salvem o script no diretório ~/.kde/Autostart). Não esqueça de dar permissões de execução ao script (chmod +x SCRIPT).

O que mais dá para fazer?

Além de estender o desktop a mais de um monitor, dá para fazer outras brincadeiras, como inverter ou rotacionar uma das telas, muito útil para quem tem daqueles monitores que podem ser postos na vertical. Veja o manual do xrandr, opção --rotate.

Não sei se é possível trocar o monitor conectado e reconfigurar tudo com o X rodando, mas acredito que não seja possível ainda com a versão do X do Ubuntu 7.10. Talvez isso até já seja possível, mas acredito mais que isso venha a ser possível num futuro próximo (ou até mesmo na versão atual).

Mas tem que ficar executando os comandos toda hora?

Existem tutoriais na internet ensinando como configurar o recurso de dual-head alterando o xorg.conf, e então a configuração fica fixa. Já vi funcionar dessa forma, é verdade. Mas as configurações são meio obscuras, e além de tudo, não consegui fazer funcionar com esse monitor, mesmo seguindo os mesmos passos do outro que funcionou.

Essa configuração com o xrandr, além de ter funcionado comigo de forma simples, ainda tem o benefício de poder alterar as configurações (posição das telas, resolução, refresh rate) em tempo real, sem ter que alterar o arquivo e reiniciar o X (fica mais parecido com a forma que o Windows lida com vários monitores sim, isso é uma boa coisa).

Além do mais, criar um script, como já falei, facilita a vida. Imagine que se você usa em monitores diferentes, ou sem monitor externo, pode ter um script para cada ocasião.

Esse negócio de dois monitores não é frescura?

Não. Pode parecer bobeira, que só é bonitinho de ver funcionar, mas no faz mágica para aumentar sua produtividade. Se tiver condições de ter, experimente. Mas já te adianto que vicia...

terça-feira, 17 de junho de 2008

Lançado o Wine 1.0


Hoje, depois de 15 anos de desenvolvimento, é lançada oficialmente a versão 1.0 do Wine. Para quem não sabe, o Wine é um software que permite rodar softwares para Windows em plataformas Unix-like, como o Linux. O Wine não é classificado como emulador, e sim uma camada de compatibilidade para possibilita chamadas de sistema que apenas o Windows implementa.

Wine 1.0

Em um projeto como esse, o lançamento da versão 1.0 é mais uma formalidade do que uma grande mudança. Mas mesmo que a compatibilidade completa com o Windows ainda não tenha sido alcançada (como tudo deve ser feito por engenharia reversa, estão sempre "um passo atrás"), essa versão promete compatibilidade com vários programas populares, como Photoshop CS2 e os visualizadores do Excel, Word e PowerPoint.

Embora usar programas de Windows pelo Wine para tarefas do dia-a-dia não seja o mais produtivo a fazer, ele é muito útil para programas que são usados apenas de vez em quando, como webdesigners e desenvolvedores web que precisam testar seus trabalhos no Internet Explorer (para tal, veja também o projeto ies4linux).