Scripts criados para o Nautilus Gnome 48 - Criou algum, informe aqui! - 8 scripts

Para KDE 6.4

Precisa do pacote zenity.

Os scripts foram criados baseados nos scripts do KDE.

Converter imagens para PDF

#!/bin/bash
# Converter grupo imagens para PDF
#

nomedoarquivo=` zenity --entry --title="Adicionar nome do arquivo" --text="Digite um nome aquivo:" --entry-text "nomepadrão"`

if [ ! -z $nomedoarquivo ]; then
  convert "$@" "$nomedoarquivo.pdf"
else
  convert "$@" "nomepadrão.pdf"
fi

Converter para JPG

#!/bin/bash
#
# Converter PDF para JPG
#

arquivo=$(basename "$1")
mkdir -p "Imagens exportadas"
echo -e "$@" | sed 's/\....$//'| xargs -i pdftoppm -jpeg  "{}.pdf"  "Imagens exportadas/$arquivo"

Escanear com antivirus

#!/bin/bash
#
# Verificar com clamtk
#

clamtk "$1"

Mostrar hash

#!/bin/bash

# Gera uma lista com hash informados
hash=("md5sum" "sha256sum" "sha512sum");for i in ${hash[@]} ; do echo "#####################[ $i ]#####################"| tr '[a-z]' '[A-Z]'; $i  "$@";done  | zenity  --width=1024 --height=600  --text-info --title="Verificando hash... de $(for i in $@;do echo "$i";done | wc -l) arquivo(s)"

Multiplas imagens para PDFs

#!/bin/bash
# Multiplas imagens para multiplos PDFs
#


mogrify -format pdf "$@"

Otimizar PDF

#!/bin/bash

mkdir -p otimizado
arq=(`basename -a "$@"`)
for j in "$arq" ; do ps2pdf -dPDFSETTINGS=/ebook "$j" otimizado/"$j"; done

Ver permissão do arquivo

#!/bin/bash
#
#

stat --printf " tipo=(%F) \n arquivo=%n \n usuário=%U \n grupo=%G \n permissão=%a %A\n" "$1" >  /tmp/info.txt

permissaonumerica=`stat --printf "%a\n"  "$1"`

## Informações
# r w x
# 4 2 1
# rwx = 7 (ler,escrever,executar)
# rw- = 6 (ler,escrever)
# r-x = 5 (ler,executar)
# r-- = 4 (ler)
# -wx = 3 (escrever,executar)
# -w- = 2 (escrever)
# --x = 1 (executar)
# --- = 0 (não tem permissão)
#

numerop=`echo "$permissaonumerica"  | sed ':a;s/\B[0-9]\{1\}\>/,&/;ta'`

nproprietario=`echo "$numerop" | awk -F "," '{print $1}'`
ngrupos=`echo "$numerop" | awk -F "," '{print $2}'`
noutros=`echo "$numerop" | awk -F "," '{print $3}'`

nomepro=`stat --printf "%U" "$1"`
nomegrupo=`stat --printf "%G" "$1"`

leg-humanos () {
echo -e "\n[[[[      Permissões legíveis para humanos      ]]]]\n"

if [ "$nproprietario" == 7 ]; then
echo " O propritario $nomepro pode ler, escrever e executar"
elif  [ "$nproprietario" == 6 ]; then
echo " O propritario $nomepro pode ler e escrever"
elif  [ "$nproprietario" == 5 ]; then
echo " O propritario $nomepro pode ler e executar"
elif  [ "$nproprietario" == 4 ]; then
echo " O propritario $nomepro pode ler"
elif  [ "$nproprietario" == 3 ]; then
echo " O propritario $nomepro pode escrever e executar"
elif  [ "$nproprietario" == 2 ]; then
echo " O propritario $nomepro pode escrever"
elif  [ "$nproprietario" == 1 ]; then
echo " O propritario $nomepro pode e executar"
elif  [ "$nproprietario" == 0 ]; then
echo " O propritario $nomepro não tem permissão alguma"
fi


if [ "$ngrupos" == 7 ]; then
echo " O grupo $nomegrupo pode ler, escrever e executar"
elif  [ "$ngrupos" == 6 ]; then
echo " O grupo $nomegrupo pode ler e escrever"
elif  [ "$ngrupos" == 5 ]; then
echo " O grupo $nomegrupo pode ler e executar"
elif  [ "$ngrupos" == 4 ]; then
echo " O grupo $nomegrupo pode ler"
elif  [ "$ngrupos" == 3 ]; then
echo " O grupo $nomegrupo pode escrever e executar"
elif  [ "$ngrupos" == 2 ]; then
echo " O grupo $nomegrupo pode escrever"
elif  [ "$ngrupos" == 1 ]; then
echo " O grupo $nomegrupo pode e executar"
elif  [ "$ngrupos" == 0 ]; then
echo " O grupo $nomegrupo não tem permissão alguma"
fi

if [ "$noutros" == 7 ]; then
echo " Os outros podem ler, escrever e executar"
elif  [ "$noutros" == 6 ]; then
echo " Os outros podem ler e escrever"
elif  [ "$noutros" == 5 ]; then
echo " Os outros podem ler e executar"
elif  [ "$noutros" == 4 ]; then
echo " Os outros podem ler"
elif  [ "$noutros" == 3 ]; then
echo " Os outros podem escrever e executar"
elif  [ "$noutros" == 2 ]; then
echo " Os outros podem escrever"
elif  [ "$noutros" == 1 ]; then
echo " Os outros podem e executar"
elif  [ "$noutros" == 0 ]; then
echo " Os outros não tem permissão alguma"
fi

}

leg-humanos >>  /tmp/info.txt

zenity  --width=512 --height=410  --text-info  --filename="/tmp/info.txt"

rm -r  /tmp/info.txt

Verificar hash com arquivo checksum

#!/bin/bash

# Cria uma lista radiolist informados, com valor padrão sha256sum
hash=`zenity --list --text="Escolha o hash a ser utilizado:" --radiolist --column="Selecione" --column="Hash" FALSE "md5sum" TRUE "sha256sum"  FALSE "sha512sum"`

# Se clicar em cancelar saí
if [ $? -eq 1 ]; then
    exit 0
fi

# pega o nome do arquivo
nomearquivo=$(basename "$1")

# Gera um dialog para selecionar um arquivo
arquivoselecionado=`zenity --file-selection .  --title="Selecione um arquivo"`

# Se clicar em cancelar sai
if [ $? -eq 1 ]; then
  exit 0 #
fi

# Lê o arquivo selecionado
cat "$arquivoselecionado"  | tee  /tmp/arquivohash.txt

# Na saída do aquivo pega somente a linha com o nome do arquivo iso
"$hash" --ignore-missing  -c /tmp/arquivohash.txt | grep -i $nomearquivo | tee -a  /tmp/saída.txt

if [ -z "$(cat "/tmp/saída.txt")" ]; then
# Gera uma janela informativa com o resultado
  echo "Aconteceu algo errado. Verifique se o arquivo é compativel com a imagem iso" > /tmp/infotexto.txt
 zenity  --width=512 --height=200  --text-info  --filename="/tmp/infotexto.txt"
  rm /tmp/infotexto.txt
else
# Gera uma janela informativa com o resultado
 zenity  --width=512 --height=200  --text-info  --filename="/tmp/saída.txt"
  rm /tmp/saída.txt
fi

# Apaga o arquivo temporário criado
rm /tmp/arquivohash.txt



exit 0

corrigido texto do script " Verificar hah com arquivo checksum "

Usuário @Suporte converteu para o yad

Atualizei para ficar genérico sem depender de KDE ou kdialog

Testei no Thunar.

Verificar no Dolphin

github.com

GitHub - tuxslack/acoes-personalizadas: Ações personalizadas para gerenciadores de…

Ações personalizadas para gerenciadores de arquivos.

Os scripts usa Yad.