Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: Cálcio em 31 de Dezembro de 2009, 15:25

Título: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: Cálcio em 31 de Dezembro de 2009, 15:25
Boa tarde galera...
com um pouco de ajuda do pessoal aki e pesquisa fiz um script para automatizar a webcam no skype.

Mas estou com um problema em uma parte...

Código: [Selecionar]
#! /bin/bash
sudo chmod +x /usr/bin/skype

echo "Deseja executar o script de configuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Renomeia o skype para skype.bkp
sudo mv /usr/bin/skype /usr/bin/skype.bkp

### Cria e Atribui o conteúdo abaixo no arquivo skype
sudo cat /usr/bin/skype
sudo echo "#!/bin/bash" > /usr/bin/skype
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
sudo chmod  +x /usr/bin/skype

o problema é nessa parte:
Código: [Selecionar]
### Cria e Atribui o conteúdo abaixo no arquivo skype
sudo cat /usr/bin/skype
sudo echo "#!/bin/bash" > /usr/bin/skype
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

O que preciso com essa parte é criar um arquivo chamado skype em /usr/bin e adicionar essas 2 linhas de comando.

Agradeço desde já!
UA,
Cálcio
Título: Re: Script para habilitar webcam no skype
Enviado por: jeflui em 31 de Dezembro de 2009, 18:50
Código: [Selecionar]
sudo cat /usr/bin/skype
Citar
Vai querer exibir um arquivo que não existe mais?

errado
Código: [Selecionar]
sudo echo "#!/bin/bash" > /usr/bin/skype
certo
Código: [Selecionar]
sudo echo '#!/bin/bash' > /usr/bin/skype Note as aspas simples.

Citar
Aqui sim cria o arquivo já com o conteúdo do echo

Código: [Selecionar]
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype
Citar
Vai adicionar esse conteúdo no echo ao anterior

Obs. Se você executar o script com sudo não precisa do "sudo" em todos os comandos no script, pois já vai ter permissão de super usuário (root).


Título: Re: Script para habilitar webcam no skype (Gambiarra)
Enviado por: Cálcio em 01 de Janeiro de 2010, 19:22
jeflui, Obrigado pela ajuda!
Mas ainda sim ele cria o arquivo skype.

O uso do Cat foi uma forma desesperada de forçar a criação do arquivo. rs
Existe um comando que crie um arquivo, tipo que existe no PHP, ASP, .NET?

Eu fiz uma gambiarra digna de uma certificação Gambi Pattener Designer. kkkkk
Foi a seguinte criar o aquivo no local onde o script é executado e depois mover. O + estranho é q da forma que fiz ele cria o arquivo. só q qnd tento criar direto em /usr/bin ñ vai.

Seria o caso de no momento que rodo o script dar permissão de escrita nessa pasta para o usuário que está logado e depois voltar a permissão pro root?

Segue a gambi que fiz

Código: [Selecionar]
#! /bin/bash
#sudo chmod +x /skype

echo "Deseja executar o script de configuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Cria e Atribui o conteúdo abaixo no arquivo skype
sudo echo "#!/bin/bash" > skype
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> skype
sudo chmod  +x skype

### Renomeia o skype para skype.bkp
sudo mv /usr/bin/skype /usr/bin/skype.bkp

### Move aquivo criado para a pasta certa
sudo mv skype /usr/bin/skype

### Permissão para execução
#sudo chmod  +x /usr/bin/skype

Só que msm assim a webcam ñ funciona... rs
Título: Re: Script para habilitar webcam no skype
Enviado por: jeflui em 01 de Janeiro de 2010, 22:05
Então o comando touch cria um arquivo.
Exemplo:
Código: [Selecionar]
touch teste
Não entendi uma coisa, qual o problema do
Código: [Selecionar]
sudo echo '#!/bin/bash' > /usr/bin/skype??
Título: Re: Script para habilitar webcam no skype
Enviado por: Cálcio em 02 de Janeiro de 2010, 10:26
Então o comando touch cria um arquivo.
Exemplo:
Código: [Selecionar]
touch teste
Cria o arquivo mas ñ adiciona nenhum conteúdo

Não entendi uma coisa, qual o problema do
Código: [Selecionar]
sudo echo '#!/bin/bash' > /usr/bin/skype??
Cara sinceramente ñ sei. Simplesmente ele ñ cria o arquivo dentro de /usr/bin. Se eu colocar o caminho pra onde executo o arquivo ele cria numa boa.
Como na bambiarra que mostrei mais acima.
Título: Re: Script para habilitar webcam no skype
Enviado por: clcampos em 02 de Janeiro de 2010, 10:32
Então o comando touch cria um arquivo.
Exemplo:
Código: [Selecionar]
touch teste
Cria o arquivo mas ñ adiciona nenhum conteúdo

...

Não entendo o porque de se criar um arquivo usando o touch.

Para criar um arquivo eu uso o seguinte:

Citar
> Teste

ou

Citar
echo "" > Teste

ou

Citar
echo "Conteúdo" > Teste

Inclusive gasta menos processamento e tempo criando assim.
Título: Re: Script para habilitar webcam no skype
Enviado por: Cálcio em 02 de Janeiro de 2010, 10:45
Ola clcampos!

Então esse é meu problema. estou usando o codigo abaixo para isso e simplesmente na pasta que quero que execute ñ funciona.

Código: [Selecionar]
### Cria e Atribui o conteúdo abaixo no arquivo skype
sudo echo "#!/bin/bash" > /usr/bin/skype
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

Repare que esta como foi exemplificado. veja também que fiz uma gambiarra em um post acima. mas ñ queria deixar o script com gambiarra rs
Título: Re: Script para habilitar webcam no skype
Enviado por: clcampos em 02 de Janeiro de 2010, 10:54
Porque você coloca um sudo em cada comando?

Porque não chamar o script com sudo de uma vez? Assim todos os comandos serão executados assim.

E se seu usuário é admin do sistema não tem porque não funcionar.
Título: Re: Script para habilitar webcam no skype
Enviado por: Cálcio em 02 de Janeiro de 2010, 11:30
Finalmente consegui fazer funcionar..
Para variar o erro é o típico caso de T&C.

Eu ñ estava conseguindo executar pelo terminal e estava indo direto na pasta e executando pela opção executar pelo terminal e isso ñ sei por que ñ deixava a criação da pasta ser executada.
Então tentei executar direto pelo terminal mais uma vez, e ñ conseguia de jeito nenhum, por isso tentava rodar pelo método acima, só que lembrei que eu estava chamando o caminho errado.

valeu galera pela ajuda de vcs e irei colocar o script na área de scripts úteis.

Irei agora estudar ele para fazer algumas validações e deixar ele + organizado e estruturado!

Código: [Selecionar]
#! /bin/bash

echo "Deseja executar o script de configuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Renomeia o skype para skype.bkp
mv /usr/bin/skype /usr/bin/skype.bkp

echo "#!/bin/bash" > /usr/bin/skype
echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
chmod  +x /usr/bin/skype
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: cameloti em 21 de Fevereiro de 2010, 12:24
Peço desculpas pela minha ignorância, pois não sou programador, apenas um aficionado do Ubuntu.
Estou com problemas para fazer a minha webcam funcionar no skype e vi esta solução de script. só que não sei o que fazer com ele.
Isto é, o script está desenvolvido, mas o que fazer ? qual n ome dar ? acrescentar em que local ? vai ser um lançador ? ou toda vez que quiser utilizar o skype é necessário entrar no terminal e digitar tudo ?
às vezes as conversas de vocês ficam num nível por demais elevado e no final com a solução, nunca há uma dica utilizável por idiotas como eu.
Será que não há como vocês lembrarem destas pobres bactérias do universo Linux, que desejam utilizar o sistema, mas que nada entendem de linguagem e programação ?
Agradeço a atenção.
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: Kamei Hyoga em 21 de Fevereiro de 2010, 20:21
camelotl esse script você só vai utilizar uma vez. Pode dar o nome que você quiser, como "cameraskype", por exemplo. Pode salvar o programa dentro da sua pasta pessoal também.

Então vamos passo a passo:

1- Abra o Gedit e cole :

Código: [Selecionar]
#! /bin/bash

echo "Deseja executar o script de conficuração da webcam no Skype? [S/N]"
read resp
test "$resp" = "N" && exit

### Renomeia o skype para skype.bkp
mv /usr/bin/skype /usr/bin/skype.bkp

echo "#!/bin/bash" > /usr/bin/skype
echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
chmod  +x /usr/bin/skype

Salve na sua pasta principal (/home/camelotl - se for esse seu usuario) com o nome cameraskype.

2- Dê permissão de execução para o arquivo:

Vamos fazer isso graficamente? Clique com o botão direito no arquivo recem  criado e vá em propriedades. Depois, na aba permissões, marque a caixa "Permitir execução do arquivo como programa"

4- Rodando o programa:

Agora abra o terminal (Acessórios>Consola ou Acessórios>Terminal) e digite: sudo ./cameraskype

Responda "S" para a pergunta e está feito.
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: cameloti em 22 de Fevereiro de 2010, 18:49
Agradeço pelo tutorial, vocês deveriam fazer isso mais vezes. Funcionou perfeitamente.
Obrigado pela atenção às pobres bactérias do Universo Linux.
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: snell em 28 de MAR?O de 2010, 12:55
Demais!

Valeu, resolveu o problema do meu skype!

[]'s
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: rborowski em 31 de MAR?O de 2010, 02:07
Muito bom cara, parabéns mesmo! Simples e funcional, de lambuja ainda ganhamos uma aula grátis de script!!!
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: platao em 31 de MAR?O de 2010, 02:48
Ola companheiros, aqui eu fiz assim;

criei um arquivo de texto simples e dei o nome de .skype-start na minha home e colei o conteudo;

#!/bin/bash
export XLIB_SKIP_ARGB_VISUALS=1
env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

cliquei com o direito do mouse em propriedades e dei as permissoes

Depois fui nos menus e criei um novo lançador ocultando o original;

nome Skype
comando /home/seu nome aqui/.skype-start
cometario Voip
icone /usr/share/icons/skype.png

Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: setnarkt2 em 09 de Agosto de 2010, 23:18
Muito bom mesmo..fazia um tempo....
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: Cálcio em 03 de Novembro de 2011, 15:05
Fiz uma modificação no arquivo para automatizar o skype para webcam. Não está exatamente como eu queria, mas está mais amigável.

Abra o gedit Aplicativos > Acessórios > Editor de texto gedit ou qq editor de texto de sua preferência, e cole o comando abaixo:

Código: [Selecionar]
#! /bin/bash
# Autor: Cálcio Heavy Metal em 21 de Fevereiro de 2010

# Última Modificação por Cálcio Heavy Metal em 03 de Novembro de 2011
# Última Modificação por Cálcio Heavy Metal & platao em 04 de Novembro de 2011
#
#
# Esse script pode ser utilizado e modificado desde que mantenha
# o nome do(s) autore(s)

echo
echo -e "\033[0;31mPor favor, feche seu Skype antes de continuar.\033[0m"
echo
echo "Deseja executar o script de configuração da webcam no Skype? [Digite S ou N]"

read confirmaInstalacao

if [ $confirmaInstalacao = 's' ] || [ $confirmaInstalacao = 'S' ]; then

### Renomeia o skype para skype.bkp
mv /usr/bin/skype /usr/bin/skype.bkp

echo "#!/bin/bash" > /usr/bin/skype

#Ubuntu até 10.04 - 32 bits (PADRÃO)
echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Ubuntu até 10.04 - 64 bits
#echo "LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Ubuntu 11.10 - 32 bits
#echo "LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype.bkp" >> /usr/bin/skype

### Permissão para execução
chmod +x /usr/bin/skype

echo
echo "Configuração, executada com sucesso."
echo "Deseja abrir o Skype? [S ou N]"
##e fechar o terminal
##echo -e "\033[0;31mOBS: Esse comando fecha todas as janelas de terminal abertas.\033[0m"

read confirmaAbreSkypeFechaTerminal

if [ $confirmaAbreSkypeFechaTerminal = "s" ] || [ $confirmaAbreSkypeFechaTerminal = "S" ]; then

skype &

else
echo "Você digitou 'N' ou um valor diferente de 'S'."
echo
echo
exit
fi

else

echo "Você digitou 'N' ou um valor diferente de 'S'. "
echo
echo
exit
fi

Salve seu arquivo com o nome cameraskype.

Abra o Nautilus Locais > Pasta Pessoal (gerenciador de arquivos e pasta do Ubuntu) e vá até onde salvou o arquivo cameraskype, clique com o botão direito nele, propriedades, aba permissões e marque a opção execução.

Abra o terminal Aplicativos > Acessórios > Terminal e digite sudo ./camino_do_arquivo/cameraskype e responda as perguntas e fim.
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: platao em 03 de Novembro de 2011, 15:15
Muito legal o seu script Calcio, ja copiei pra mim :) para o Ubuntu 64 bits eu ja vi de tres modos.

desse modo;

sudo gedit /usr/share/applications/skype.desktop

Agora edite a linha 4 substituindo,

Exec=skype

Por:

Exec=bash -c 'LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype'

Para sistemas 64 bits:

Exec=bash -c 'LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype'

Para Ubuntu 11.10:

Exec=bash -c 'LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype'

Mas pra mim o Skype depois da versao 10.04 no Ubuntu 64bits nao tive mais que fazer a correção, foi direto. O curioso tbm que funciona aqui no meu note com os dois comandos, tanto com o lib32 quanto com o lib somente...funciona normal a camera.
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: Cálcio em 04 de Novembro de 2011, 12:29
@Platão, tentei usar dessa forma Exec=bash -c 'LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype' porem aquela tela de teste ñ exibiu a cam.
Eu testei esse script ontem no 11.04 e reconheceu ao fazer o teste, mas qnd fui usar a cam deu um chabu, reiniciei o PC e qnd testei de novo foi de boa. rs.

Na versão 64bits realmente precisa usar o LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so (não tinha testado ontem).

Modifiquei o script com sua dica. Foi de grande ajuda ela.
Valeu ;)

Coloquei seu nick daqui, sinta-se a vontade para colocar o seu nome lá certinho. 
Título: Re: Script para habilitar webcam no skype [RESOLVIDO]
Enviado por: platao em 04 de Novembro de 2011, 17:49
Obrigado Calcio, eu estou usando o 64bit 11.04 e aqui nesse hardware tanto os comandos usando lib32 quando somente lib ligam a webcam e funciona, o ultimo comando;

Exec=bash -c LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype

Eu nao testei ainda no 11.10, esse comando vi no forum skype(e acho que aqui no forum tbm tem) e o que relataram e que funciona...eu vou testar aqui, tenho o 11.10 no pen e reporto para ver funciona desse outro modo.

O ideal e pegar uma instalação em que o skype nao esta funcionando com video, aqui no 11.04 esta funcional entao nao sei se ele esta "ignorando" os comandos e simplesmente estartando a aplicação....o que posso afirmar para ajudar e que nessa camera descrita ai no lsusb esta funcional das tres formas tanto com o lib32,somente lib e i386-linux-gnu todas funcionam......no 11.04.

Código: [Selecionar]
platao@platao-laptop:~$ sudo lshw -short
[sudo] password for platao:
H/W path           Device      Class       Description
======================================================
                               system      Crestline & ICH8M Chipset ()
/0                             bus         SANTA ROSA CRB
/0/0                           memory      100KiB BIOS
/0/4                           processor   Intel(R) Core(TM)2 Duo CPU     T7700
/0/4/5                         memory      64KiB L1 cache
/0/4/6                         memory      4MiB L2 cache
/0/16                          memory      4GiB System Memory
/0/16/0                        memory      2GiB SODIMM DDR2 Synchronous 667 MHz
/0/16/1                        memory      2GiB SODIMM DDR2 Synchronous 667 MHz
/0/100                         bridge      Mobile PM965/GM965/GL960 Memory Contr
/0/100/2                       display     Mobile GM965/GL960 Integrated Graphic
/0/100/2.1                     display     Mobile GM965/GL960 Integrated Graphic
/0/100/1a                      bus         82801H (ICH8 Family) USB UHCI Control
/0/100/1a.1                    bus         82801H (ICH8 Family) USB UHCI Control
/0/100/1a.7                    bus         82801H (ICH8 Family) USB2 EHCI Contro
/0/100/1b                      multimedia  82801H (ICH8 Family) HD Audio Control
/0/100/1c                      bridge      82801H (ICH8 Family) PCI Express Port
/0/100/1c/0        wlan0       network     AR242x / AR542x Wireless Network Adap
/0/100/1c.1                    bridge      82801H (ICH8 Family) PCI Express Port
/0/100/1c.1/0      eth0        network     88E8039 PCI-E Fast Ethernet Controlle
/0/100/1c.2                    bridge      82801H (ICH8 Family) PCI Express Port
/0/100/1c.5                    bridge      82801H (ICH8 Family) PCI Express Port
/0/100/1d                      bus         82801H (ICH8 Family) USB UHCI Control
/0/100/1d.1                    bus         82801H (ICH8 Family) USB UHCI Control
/0/100/1d.2                    bus         82801H (ICH8 Family) USB UHCI Control
/0/100/1d.7                    bus         82801H (ICH8 Family) USB2 EHCI Contro
/0/100/1e                      bridge      82801 Mobile PCI Bridge
/0/100/1e/9                    bridge      PCIxx12 Cardbus Controller
/0/100/1e/9.1                  bus         PCIxx12 OHCI Compliant IEEE 1394 Host
/0/100/1e/9.2                  storage     5-in-1 Multimedia Card Reader (SD/MMC
/0/100/1e/9.3                  generic     PCIxx12 SDA Standard Compliant SD Hos
/0/100/1f                      bridge      82801HEM (ICH8M) LPC Interface Contro
/0/100/1f.2        scsi0       storage     82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE
/0/100/1f.2/0      /dev/sda    disk        250GB TOSHIBA MK2555GS
/0/100/1f.2/0/1    /dev/sda1   volume      44GiB Windows NTFS volume
/0/100/1f.2/0/2    /dev/sda2   volume      188GiB Extended partition
/0/100/1f.2/0/2/5  /dev/sda5   volume      144GiB HPFS/NTFS partition
/0/100/1f.2/0/2/6  /dev/sda6   volume      11GiB Linux filesystem partition
/0/100/1f.2/0/2/7  /dev/sda7   volume      32GiB Linux filesystem partition
/0/100/1f.2/1      /dev/cdrom  disk        DVD RW AD-7530B
/0/100/1f.3                    bus         82801H (ICH8 Family) SMBus Controller
/1                             power       Intel Corporation
/2                             system      
platao@platao-laptop:~$

platao@platao-laptop:~$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 05c8:0100 Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub