Una de les grans possibilitats que ofereix Nautilus (el navegador de fitxers de GNOME), és l’afegit de fer servir els anomenats scripts. Un script sol ser un mini-programa que permet fer tasques concretes com podrien ser conversions directes entre formats d’imatge o vídeo, descarregar subtítols d’un fitxer de vídeo, crear un paquet precompilat .deb o .rpm, etc.
Podeu veure i descarregar molts scripts a la pàgina Gnome-Look. En aquest cas ens centrarem en un script que permet escanejar per virus fitxers concrets. Per exemple, descarreguem un fitxer del Word i volem comprovar si té virus. Doncs només fent clic dret sobre el fitxer, podrem seleccionar l’opció d’escanejar el fitxer en cerca de virus.
La instal·lació requereix els següents passos:
- Instal·leu el paquet clamav i zenity des del vostre gestor de paquets (clamav és un antivirus per a GNU/Linux que també té versió per a Windows.
- Obriu una terminal i creeu el fitxer virus-scan:
- Copíeu a dins el següent:
- Per últim, doneu permisos d’execució al fitxer
gedit ~/.gnome2/nautilus-scripts/cerca-virus
#!/bin/bash
#
# Nautilus anti-virus scanner script v1.2 – Uses Clam Anti-virus
# Written by Robert Pectol, December 2005 – http://rob.pectol.com
#
# This program is free software. It is distributed in the hope
# that it will be useful, but WITHOUT ANY WARRANTY; without even
# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
####################################################################### Set some variables used in the script
files=$1
if [ “$NAUTILUS_SCRIPT_CURRENT_URI” == “x-nautilus-desktop:///” ]; then
files_path=$HOME”/Desktop”
else
files_path=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed -e ‘s/^file:////’`
fi
gui=`which zenity`
vscan=`which clamscan`# Function to scan file(s)
scan_it()
{
touch /tmp/scanresult
if [ “$files_path” = “” ]; then
# Script can run from launchers, scripts other than from Nautilus, etc. (doesn’t require $NAUTILUS_SCRIPT_CURRENT_URI)
result=`$vscan -r “$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
–text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
else
result=`$vscan -r “$files_path/$files” –log=/tmp/scanresult | $gui –title “Virus Scanner” –progress
–text=”Scanning $files…” –pulsate –auto-close; cat /tmp/scanresult` &> /dev/null
fi
rm -f /tmp/scanresult &> /dev/null
# Feedback – if scan ended with errors or was terminated prematurely…
if [ “$result” = “” ]; then
err_text=”S’han produït errors quan s’escanejava $files”
errors
fi
# Feedback – if scan completed successfully…
clean=`echo $result | grep ‘FOUND’`
# Alter gui feedback according to presense/absense of virus(s) found during scan
if [ “$clean” != “” ]; then
$gui –title “S’han trobat virus!” –error –text=”$result” &> /dev/null
else
$gui –title “Resultats de l’escaneig” –info –text=”$result” & &> /dev/null
fi
}
# Function to handle errors
errors()
{
$gui –title “S’ha produït un error” –error –text=”$err_text” &> /dev/null
exit 1
}# Check for presense of required utilities
if [[ -x “$vscan” && -x “$gui” ]]; then
scan_it
else
if [ -x “$vscan” ]; then
echo “No s’ha trobat Zenity al vostre sistema. Instal·leu-lo.”
exit 1
else
err_text=”No s’ha trobat Clam Anti-virus al vostre sistema. Instal·leu-lo.”
errors
fi
fi
exit 0
chmod 755 ~/.gnome2/nautilus-scripts/cerca-virus
Com podeu comprovar, els scripts de nautilus es desen a la carpeta .gnome2/nautilus-scripts del nostre usuari. Normalment podeu descarregar el fitxer d’script i desar-lo allà directament (sense necessitat de crear el fitxer vosaltres mateixos). Una vegada desat allà, us apareixerà directament la opció al menú del botó dret.
- Font | TuxTraining
2 comments
No hem dóna cap sortida aquest script. La versió anglesa de Trutraining funciona correctament. He provat de cercar algun detall potser descuidat en la traducció i no he trobat res.. Us passa el mateix?
Ummm, jo també ho vaig provar en anglès i després ho vaig traduir. Ha de ser algun detall, ho miraré més tard. Gràcies!