Autor Tópico: Vamos criar scripts úteis aqui!?  (Lida 41957 vezes)

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #30 Online: 20 de Dezembro de 2009, 15:20 »
Não esqueçam que os scripts do Nautilus-scripts precisam de permissão de executável...
Obrigado, tava quebrando aqui a cabeça pra fazer funfar...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline Cálcio

  • Usuário Ubuntu
  • *
  • Mensagens: 213
  • Ubuntu 14.04
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #31 Online: 24 de Dezembro de 2009, 22:11 »
Boa noite...
Crei um script com (ajuda da galera daqui do forum e apostilas online) para me facilitar na execução da minha webcam no skype.


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

« Última modificação: 02 de Janeiro de 2010, 11:39 por Cálcio »

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #32 Online: 25 de Dezembro de 2009, 02:34 »
...

Código: [Selecionar]
#! /bin/bash
### Renomeia o skype para skype.bkp
sudo mv /usr/bin/skype /usr/bin/skype.bkp

### Cria o arquivo skype novo
sudo gedit /usr/bin/skype

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

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


Código: [Selecionar]
### Cria o arquivo skype novo
sudo touch /usr/bin/skype
sudo gedit /usr/bin/skype

Esqueci como fazer para escrever algo no arquivo... Mas, se não me engano:
Código: [Selecionar]
sudo "bla bla bla" > /usr/bin/skype
Espero que seja algo parecido com isso, se não, não entendi sua dúvida.
O "touch" cria um arquivo em branco...
« Última modificação: 25 de Dezembro de 2009, 02:36 por bred81 »
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline nemex1975

  • Usuário Ubuntu
  • *
  • Mensagens: 55
  • Somos Ubuntu. Somos legião. Não desistimos.
    • Ver perfil
    • Minha página
Re: Vamos criar scripts úteis aqui!?
« Resposta #33 Online: 25 de Dezembro de 2009, 08:07 »
Copiar & Mover para...

Primeiro Copiar para...

Crie um documento de texto só com o nome "Copiar para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker copy $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora Mover para...

Crie um documento de texto só com o nome "Mover para..." abra e insira esse codigo
Código: [Selecionar]
#!/bin/bash

script-worker move $NAUTILUS_SCRIPT_SELECTED_URIS
E salve na Pasta /home/Seu_usuario/.gnome2/nautilus-scripts

Agora é só clicar em um item com o botão direito e escolher se quer mover ou copiar ele para algum lugar, muito util!!

Bom.. Acho que é isso! ;D



[]'s



Alyscom

Bom dia.

Eu fiz da forma indicada, tornei executável, as abas dos scripts estão no menu do Nautilus, mas ele não copia/move/cria atalho para nada.

Quando clico em um arquivo qualquer com o botão direito e seleciono qualquer das três opções nada acontece.

O menu do Nautilus simplesmente fecha, os arquivos selecionados não são copiados/movidos/criado atalhos e tudo fica como antes.

O que está errado nisso que fiz? Tem funcionado para todos?
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re: Vamos criar scripts úteis aqui!?
« Resposta #34 Online: 25 de Dezembro de 2009, 17:28 »
Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline nemex1975

  • Usuário Ubuntu
  • *
  • Mensagens: 55
  • Somos Ubuntu. Somos legião. Não desistimos.
    • Ver perfil
    • Minha página
Re: Vamos criar scripts úteis aqui!?
« Resposta #35 Online: 26 de Dezembro de 2009, 06:56 »
Instale os pacotes "gksu" e "gnomesu" que eu acho que funciona, heheheh...

Bom dia.

O gksu já está instalado, mas "gnomesu" não está nos meus repositórios. Onde eu o consigo? Ele não foi substituído pelo gksudo ou faz a mesma coisa (fonte: http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-17)?
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Offline nemex1975

  • Usuário Ubuntu
  • *
  • Mensagens: 55
  • Somos Ubuntu. Somos legião. Não desistimos.
    • Ver perfil
    • Minha página
Re: Vamos criar scripts úteis aqui!?
« Resposta #36 Online: 26 de Dezembro de 2009, 07:08 »
Bom dia.

Eu pesquisei aqui no fórum e achei a resposta abaixo para este script.

Dessa forma funcionou, pois eu notei que o velox256 substitui o termo "move" por "mv", que é o código usado no Terminal.

Fiz a mesma coisa, copiei todo o script mudando "mv" para "cp" e também funcionou como "copiar para", sem necessitar instalar o gnomesu.

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

O amigo acima não entendeu a pergunta, há diferenças entre "mover" e "mover para". Vc pode usar um script para criar itens como Copiar Para ou Mover Para, ou usar um programa chamado Nautilus Actions que também faz a mesma coisa. Pra criar os Copiar Para e Mover para, abra o Terminal e digite:

Citar
gedit .gnome2/nautilus-scripts/mover para

No arquivo aberto, copie e cole o seguinte texto:

Citar
#!/bin/bash
#########################################################
#                     #
# This are NScripts v3.5            #
#                     #
# Licensed under the GNU GENERAL PUBLIC LICENSE 3   #
#                     #
# Copyright 2007 - 2008 Christopher Bratusek      #
#                     #
#########################################################

if [[ -x /usr/bin/gksu || -x /opt/gnome/bin/gksu ]]; then
   sudotool="gksu -u root"
elif [[ -x /usr/bin/gnomesu || -x /opt/gnome/bin/gnomesu ]]; then
   sudotool=gnomesu
fi

destination=$(zenity --file-selection --directory --title "Where to move files?")

echo $NAUTILUS_SCRIPT_SELECTED_URIS > ~/.gnome2/temp_move_list

for file in $(cat ~/.gnome2/temp_move_list); do \

   file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g')
   short_file_name=$(echo $file | sed -e 's#.*/##g' -e 's/\%20/\ /g')

   if [[ -w $destination && -a $destination/$short_file_name ]]; then \
      confirm=$(zenity zenity --question --text "Overwrite File $destination/$short_file_name?"; echo $?)
      if [[ $confirm == 0 ]]; then
         mv "$file_name" $destination
         if (( $? != 0 )); then
         zenity --info --text "Something went wrong" --title "Failure"
         fi
      fi
   elif [[ -w $destination ]]; then \
      mv "$file_name" $destination
      if (( $? != 0 )); then
      zenity --info --text "Something went wrong" --title "Failure"
      fi
   elif [[ -a $destination && $sudotool != "" ]]; then
      $sudotool "mv \"$file_name\" $destination"
   else   zenity --info --title "Failure" --text "$destination does either not\nexist or is not writable"
   fi; \
done

rm -f ~/.gnome2/temp_move_list

Salve o arquivo, feche o Gedit e digite no Terminal:

Citar
chmod a+x .gnome2/nautilus-scripts/mover para

Pronto, ao clicar em uma pasta ou arquivo, aparecerá um novo menu chamado Scripts onde vc verá dentro dele o item mover para, é só clicar nele, vc escolhe o destino e pronto. Uma outra forma é vc instalar o pacote nautilus-scripts através do Synaptic.
« Última modificação: 26 de Dezembro de 2009, 07:19 por nemex1975 »
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #37 Online: 26 de Dezembro de 2009, 14:36 »
...

Qual o código para criar atalhos (link) pelo Terminal? O código é "link" mesmo ou é outro? Seja qual for, no meu caso eu teria de substituir "mv" pelo código de criação de link/atalho e acho que também funcionaria.
Abs.,
Nemex1975

...
Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline nemex1975

  • Usuário Ubuntu
  • *
  • Mensagens: 55
  • Somos Ubuntu. Somos legião. Não desistimos.
    • Ver perfil
    • Minha página
Re: Vamos criar scripts úteis aqui!?
« Resposta #38 Online: 30 de Dezembro de 2009, 20:28 »

Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
« Última modificação: 30 de Dezembro de 2009, 20:30 por nemex1975 »
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Offline Alyscom

  • Usuário Ubuntu
  • *
  • Mensagens: 774
  • Apenas me dê o feijão!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #39 Online: 31 de Dezembro de 2009, 05:33 »
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)



[]'s



Alyscom
O álcool é o photoshop da vida real
 

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #40 Online: 31 de Dezembro de 2009, 09:49 »

Código: [Selecionar]
ln -s arquivo lugar cria um link simbólico, se você mover o arquivo de origem, o link para de funcionar.
Código: [Selecionar]
ln arquivo lugar cria um hard link, que seria um ponteiro do arquivo original, você pode mover o arquivo para onde quiser que continua funcionando.
Não sei qual utilidade existe nos dois, mas sei que têm essa diferença...

Bom dia.
O script não aceitou o comando ln... tive de colocar ln -s, mas está funcionando.

Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios, só funcionando em diretórios com nomes simples e sem separação (ex.: /home/usuário/Documentos).

O que precisa ser mudado nos scripts para eles conseguirem apontar para um diretório com nome composto?
Abs.,

Nemex1975
Aproveita também, para mudar o nome do diretórios.
Apesar de funcionar com: "nome\ comportos" fica muito mais fácil se separa-los por um underscore ou um hífen simplismente...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline nemex1975

  • Usuário Ubuntu
  • *
  • Mensagens: 55
  • Somos Ubuntu. Somos legião. Não desistimos.
    • Ver perfil
    • Minha página
Re: Vamos criar scripts úteis aqui!?
« Resposta #41 Online: 04 de Janeiro de 2010, 08:44 »
Mas tem um problema: tenho diretórios com nomes compostos (ex.: /media/COPIAS/Programas Gerais/) e os scripts não tem funcionado quando direciono para estes diretórios
Tente fazer assim (ex.: /media/COPIAS/Programas\ Gerais/) e ver se da certo!! :)

[]'s

Alyscom

Bom dia Alyscom.

Fazer dessa forma, ou colocar os nomes compostos entre aspas, funciona se eu digitar o comando para mover no Terminal, mas eu gostaria de saber se existe alguma forma de fazer o script já interpretar corretamente o destino do arquivo, da cópia ou do atalho para ficar mais fácil o manuseio, senão aparecerá mensagem de erro o tempo todo.
Abs.,
Nemex1975
Perfil: http://goo.gl/uu7qc
Core2Quad 2.33GHz, 8 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i5-450M, 2.3 GHz, 4 GB RAM, Ubuntu 12.04 LTS 64 bits; Core i3-2310M, 2.1 GHz, 4 GB RAM, W7 64 bits; iPhone 5 iOS 7.0.2, 1 GB RAM, 16 GB; Samsung Galaxy S3 Android OS 4.1.2, 1 GB RAM, 32 GB; Milestone2, 4.1.2 CM10

Offline sboorbou

  • Usuário Ubuntu
  • *
  • Mensagens: 385
  • LPIC 2 - LPI 000180523 - Linux user 490229 - MCITP
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #42 Online: 15 de Janeiro de 2010, 09:27 »
Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
duvida eu em você sinto... duvida a raiva leva, raiva ao ódio leva, ódio é o lado negro da força - Mestre Yoda

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #43 Online: 15 de Janeiro de 2010, 16:49 »
Boas?

Alguem poderia me ajudar?

http://ubuntuforum-br.org/index.php?topic=61407.new#new

caso esteja meio confuso, eu posso explicar novamente...........
Ao invés de usar "find", usa "locate"
Código: [Selecionar]
locate arquivo.txtEle vai te mostrar aonde estão todos os arquivo.txt
Acho que vai continuar criando um monte de entrada pra mesma pasta, mas não custa nada tentar...
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline sboorbou

  • Usuário Ubuntu
  • *
  • Mensagens: 385
  • LPIC 2 - LPI 000180523 - Linux user 490229 - MCITP
    • Ver perfil
Re: Vamos criar scripts úteis aqui!?
« Resposta #44 Online: 15 de Janeiro de 2010, 17:32 »
na verdade, eu estou usando o find para criar uma lista de diretorios, para dentro de cada um deles executar algumas tarefas....

vou testar seu exemplo...
duvida eu em você sinto... duvida a raiva leva, raiva ao ódio leva, ódio é o lado negro da força - Mestre Yoda