segunda-feira, 26 de março de 2012

Use e abuse da área de transferência no shell

Salve pessoal!

Para copiar uma saída de texto para a área de transferência basta utilizar o comando
xsel --clipboard --input

E para colar
xsel --clipboard --output

Exemplo:

Você deseja copiar para área de transferência uma lista com os nomes de todos os pacotes RPM instalados em seu sistema.

rpm -qa | xsel --clipboard --input

Se quiser colar o resultado no shell

xsel --clipboard --output

Ou se deseja concatenar o conteudo da área de transferência pra algum arquivo

xsel --clipboard --output > arquivo.txt

O comando xsel só funciona se estiver rodando em um terminal, dentro de uma sessão X ativa. Mas o que fazer se for no terminal puro?

Para isso temos o screen.

Dentro do terminal, execute o comando screen. Você perceberá uma piscada na tela.

Nesse momento você estará rodando um shell no modo screen.

Para iniciar o modo copy pressione Ctrl+A e [

Movimente-se pelo texto usando as setas de navegação ou as teclas H, J, K e L
H (esquerda)
J (baixo)
K (cima)
L (direita)

Inicie a seleção pressionando a tecla ESPAÇO. Depois que tiver selecionado tudo o que queria, pressione ENTER.

Para colar, basta pressionar Ctrl+A e ]

[ ] ' s

Aparência dos apps QT4 uniforme ao Gnome 3

E aí povo, beleza?

Eu estava enfrentando aquele velho dilema: KDE ou GNOME?

Bom, cada um com suas vantagens. Não sei por que, mas me adapto mais facil ao GNOME apesar de saber que o KDE é muito mais completo e customizável.

Utilizando o GNOME 3, percebi que os aplicativos escritos em QT4 utilizavam uma aparência feia padrão GTK+ e isso me incomodava muito, pois sou adepto da uniformização da interface geral de um sistema.

Como eu gosto do K3B, VLC e VirtualBox, corri atrás da informação e a encontrei no wiki do ArchLinux.

Muito fácil. Instale os pacotes abaixo:
aldabra-theme-gnome
gnome-tweak-tool
libgnomeui

O aldabra-theme-gnome serve para manter a aparência uniforme entres os apps GTK2 e GTK3. Esse tema nada mais é do que uma cópia quase idêntica do ADWAITA (GTK3), baseada na engine Murrine, para GTK2.

O gnome-tweak-tool é uma ferramenta indispensável para os usuários do GNOME 3. Através dela o usuário é capaz de alterar configurações que não estão disponíveis no Centro de Controle padrão. É aqui que vamos definir o tema Aldabra para GTK.

E por fim, o libgnomeui. Este é o principal componente necessário para que os apps em QT4 consigam utilizar o tema GTK2 (no nosso caso, o Aldabra).

Por hjoje é só.

[ ] ' s

domingo, 25 de março de 2012

Saída de audio HDMI no Mplayer

E ai pessoal, tudo certo?

Você que possui um dispositivo com saída HDMI e curte utilizar o excelente mplayer pela linha de comando já deve ter se perguntado: Como direciono a saída de audio pela HDMI?

Simples!

METODO 1 (recomendado)

1. Execute o comando
$ aplay -L


default
    Default
sysdefault:CARD=SB
    HDA ATI SB, ALC272X Analog
    Default Audio Device
front:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    Front speakers
surround40:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output

Observe acima a saída hdmi:CARD=HDMI,DEV=0

O primeiro campo hdmi significa o nome (ou alias) dado pelo alsa ao dispositivo. Usaremos esse nome.

2. Execute o mplayer passando os parametros
$ mplayer -ao alsa:device=hdmi arquivo


METODO 2


1. Execute o comando
$ aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC272X Analog [ALC272X Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Observe acima a saída card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]

Precisaremos do campo card 1 e device 3

2. Execute o mplayer passando os parametros
$ mplayer -ao alsa:device=hw=1.3 arquivo

FACILITE SUA VIDA CRIANDO UM SCRIPT

1. Crie o arquivo com o nome desejado. Exemplo "mhdmi"
# touch /usr/local/bin/mhdmi

2. Insira o conteúdo abaixo
#!/bin/bash
mplayer -ao alsa:device=hdmi "$@"

ou

#!/bin/bash
mplayer -ao alsa:device=hw=1.3 "$@"

3. Salve o arquivo e ative a permissão de execução
# chmod +x /usr/local/bin/mhdmi

DICA PARA A RADEON

Vi num forum (infelizmente não me lembro onde) uma dica para as pessoas que possuem placas RADEON (AMD/ATI), e não conseguem de forma alguma executar o som pela saída hdmi.

Acrescente a opção radeon.audio=1 nos parametros do kernel

No caso do grub2, edite o arquivo /etc/default/grub, acrescente a opção acima em GRUB_CMDLINE_LINUX e confirme a alteração executando o comando

# grub2-mkconfig -o /boot/grub2/grub.cfg

Espero ter ajudado!

[ ] ' s

sábado, 24 de março de 2012

Acessando o GMAIL pelo Konqueror.

Simples: Acesse pela URL http://mail.google.com/mail?nocheckbrowser ;-)

quinta-feira, 8 de março de 2012

SSH no Fedora 16: No route to host. WTF!!!

Hoje quebrei a cabeça para conseguir copiar um arquivo do meu Desktop para o Notebook, no Fedora 16.
Primeiro passo foi criar um dispositivo de rede virtual para ambas as máquinas.
Eu uso uma conexao compartilhada por um vizinho, através de uma rede sem fio, e o IP é fornecido pelo servidor dele. Ou seja, se eu fosse fazer uma troca de dados utilizando o escopo da rede fornecida por essa conexão seria muito lento por causa da quantidade de rotas e firewalls que ele utiliza.

Para criar o dispositivo virtual e colocar os dois computadores na mesma rede foi simples.
No PC
ifconfig eth0:1 10.0.0.2 up

No Notebook
ifconfig p4p1:1 10.0.0.1 up

* sendo eth0 o nome do dispositivo de rede no meu PC e p4p1 o nome do dispositivo de rede no meu notebook.

Depois disso, fui executar a conexão. BOMBA!!
Aparecia uma "bendita" mensagem No route to host.

Verifiquei o status do serviço sshd e estava tudo ok.
service sshd status

Reiniciei o serviço por precaução
service sshd restart

Acrescentei o IP do PC no arquivo /etc/hosts.allow no Notebook. Fiz o mesmo processo no PC.

Não funcionava. Depois descobri que não há necessidade (nesse caso) de mexer nesses arquivos.

Procurei no google e segui algumas instruções.
Verifiquei o serviço pelo netstat -a | grep ssh
tcp    0   0   *:ssh   *:*   LISTEN

Tambem o netstat -an | grep :22
tcp    0   0   0.0.0.0:22   0.0.0.0:*   LISTEN
tcp    0   0   :::22             :::*   LISTEN

E o cat /etc/services | grep ssh
ssh    22/tcp     # The Secure Shell (SSH) Protocol
ssh    22/udp     # The Secure Shell (SSH) Protocol


No final, analisei o IPTABLES e ENCONTREI O PROBLEMA!

iptables -L -n

Simplesmente não havia nenhuma regra definida para o ssh. Porta 22 bloqueada.

Chain INPUT (policy ACCEPT)
target     prot opt source       destination        
ACCEPT     all  --  0.0.0.0/0    0.0.0.0/0     state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0    0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0    0.0.0.0/0          
REJECT     all  --  0.0.0.0/0    0.0.0.0/0     reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source       destination        
REJECT     all  --  0.0.0.0/0    0.0.0.0/0     reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source       destination


SOLUÇÃO:

Adicionar uma regra para a porta 22 editando o arquivo /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp -dport 22 -j ACCEPT




Antes do

-A INPUT -j REJECT --reject-with icmp-host-prohibited

Salve o arquivo e reinicie o serviço com o comando
service iptables restart

Ou reinicie o PC, se precisar.

Fonte: http://nixcraft.com/linux-hardware/6366-no-route-host.html
Dica postada pelo usuário Andrew Burdyug

Esqueça o ntsysv... agora é chkconfig!!

Só estou postando isso como um lembrete.

Acostumado a utilizar o ntsysv para definir as configurações relacionadas
aos serviços (daemons / scripts no init.d) nas versões anteriores do fedora, sempre perco
alguns minutos queimando neurônios tentando lembrar do atual comando
padrão para tal função: chkconfig

chkconfig
chkconfig
chkconfig
...

Espero não esquecer mais! ;-)
Follow Me on Twitter