XFCE/Thunar – Integrare i comandi per la criptazione e la decriptazione di file

Gli utenti di Gnome e KDE possono godere di azioni di crittazione/decrittazione di file direttamente dai rispettivi filemanager, cliccando con il tasto destro del mouse sul file interessato.
Thunar, il FileManager di Xfce, non presenta questa funzionalità integrata ma, grazie alle “Azioni personalizzate”, è possibile estenderne il comportamento; vediamo come fare.

Prerequisiti

Innanzitutto è necessario installare i pacchetti necessari; per Debian/Ubuntu il comando da dare è:

[email protected]:~$ sudo apt install seahorse seahorse-nautilus seahorse-daemon

Seahorse è un’interfaccia grafica per gestire le chiavi GPG negli ambienti Gnome/Gtk, mentre del pacchetto seahorse-nautilus ci serve il binario seahorse-tool, come vedremo più avanti.

Azione personalizzata “Cifra..”

Aprire Thunar e selezionare il menu Modifica > Imposta azioni personalizzate, quindi:

  • Premere sul pulsante +
  •  Nel campo Nome inserire “Cifra…”
  • Nel campo Descrizione inserire “cifra con GPG”
  • Nel campo Comando inserire “seahorse-tool -e %F”
  • Selezionare un’icona a proprio piacimento
  • Nel tab “Condizioni di visibilità” selezionare tutte le tipologie di file, escludendo le cartelle e come “Schema del file” mantenere il predefinito “*”

Dato che un video vale più di mille parole, ecco qui sotto il riepilogo di quanto fatto:

Azione personalizzata “Decifra..”

Aprire Thunar e selezionare il menu Modifica > Imposta azioni personalizzate, quindi:

  • Premere sul pulsante +
  • Nel campo Nome inserire “Decifra…”
  • Nel campo Descrizione inserire “decifra con GPG”
  • Nel campo Comando inserire “seahorse-tool -d %f”
  • Selezionare un’icona a proprio piacimento
  • Nel tab “Condizioni di visibilità” selezionare solo “Altri file” e come “Schema del file” impostare “*.gpg;*.pgp”

Anche in questo caso ecco qui sotto il riepilogo a video di quanto fatto:

Calendari CalDav sincronizzati e gestiti da terminale

2016-12-16: ATTENZIONE, questo articolo è obsoleto.

Leggi l’articolo aggiornato:
Calendari CalDav sincronizzati e gestiti da terminale [Update]

Questo articolo è rivolto a tutti coloro che non vogliono usare client dispendiosi di risorse e/o troppo legati ad un Desktop Environment, ma vogliono comunque poter sincronizzare, gestire ed editare i propri calendari remoti, pubblicati con CalDav.
Per i più pigri, e per quelli che amano le interfacce ‘easy and fancy’ invece consiglio i soliti programmi, ovvero:

Tutti client belli, completi, eleganti, pesanti, avidi di risorse e legati a doppio filo a qualche ambiente o applicazione.

C’è però una speranza anche per gli utenti che usano ambienti leggeri (xfce, icewm, fluxbox, blackbox…mi fermo, sono davvero innumerevoli) o addirittura per chi usi “solo” le tty.
I software (sono due, uno per il sync e uno per la gestione dei calendari) sono khal e vdirsyncer.

Installazione

L’installazione in Debian è semplicissima, basta installare da pacchetti il software python-pip

sudo apt-get install python-pip

e quindi con quest’ultimo installare khal (vdirsyncer verrà installato come dipendenza):

sudo pip install khal

Configurazione

Innanzitutto occorre mettersi il cuore in pace: non esistono semplici wizard per la configurazione dei due software, i cui file di configurazione devono essere creati ed editati a mano. Fortunatamente, è tutto molto semplice.

Partiamo dal file di configurazione di vdirsyncer, che deve essere creato nella posizione ~/.vdirsyncer/config (create la directory .vdirsyncer se necessario).
Qui sotto un semplice file di esempio dove vengono sincronizzati due calendari remoti pubblicati da un server owncloud:

[general]
# A folder where vdirsyncer can store some metadata about each pair.
status_path = ~/.vdirsyncer/status/


# CALDAV
[pair bob_calendar]
a = bob_calendar_local
b = bob_calendar_remote
collections = ["personal", "shared"]

[storage bob_calendar_local]
type = filesystem
path = ~/.calendars/
fileext = .ics

[storage bob_calendar_remote]
type = caldav
url = https://owncloudserver.local/remote.php/caldav/
username = user
password = password

(Questo è un esempio semplificato del più articolato file di esempio reperibile qui)
Come si può notare la sintassi è molto semplice; val la pena fare notare che se ci si collega a servizi via https con certificato self-signed è necessario aggiungere una riga alla sezione contenente le direttive per il collegamento a caldav, con la variabile verify_fingerprint valorizzata al fingerprint SHA1 del certificato self-signed.

Salvato il file (e creata la directory ~/.calendars) è possibile lanciare il primo sync, verificandone il funzionamento, con il comando

vdirsyncer sync

Ora non resta che scrivere la configurazione di khal (da creare nel file ~/.khal); per l’esempio riportato qui sopra il rispettivo file di configurazione di Khal sarà

[calendars]

[[personal]]
path = ~/.calendars/personal/

[[Condiviso]]
path = ~/.calendars/shared/

[locale]
local_timezone= Europe/Rome
default_timezone= Europe/Rome
timeformat= %H:%M
dateformat= %d.%m.
longdateformat= %d.%m.%Y
datetimeformat= %d.%m. %H:%M
longdatetimeformat= %d.%m.%Y %H:%M

Visualizzazione e gestione dei calendari

Con khal è possibile visualizzare e gestire i propri calendari, direttamente da terminale; khal prevede diversi comandi (khal –help per vederli tutti, naturalmente), ma il più interessante è probabilmente khal interactive che permette la visualizzazione e la gestione interattiva dei propri calendari (compresa l’aggiunta e rimozione di eventi).
Vale la pena ricordare che khal crea e modifica gli eventi in locale; il sync con il calendario remoto si ottiene lanciando successivamente il comando vdirsyncer sync.

Uno script per automatizzare il tutto

A chiusura di articolo propongo un semplice script (da associare magari a un lanciatore .desktop da tenere a portata di click) che si occupa di sincronizzare i calendari e di lanciare khal in modalità interattiva.
Lo script è pensato per l’ambiente Xfce4, ma è facilmente personalizzabile con altri ambienti ed emulatori di terminali.

#!/bin/bash
#Simple script to mantain up-to-date CalDav resources with vdirsyncer and khal
#By Franco 'frakbe' Bersani

#Perform first sync
vdirsyncer sync

#exec xfce4-minimal terminal
xfce4-terminal --hide-menubar -T "Calendario" --hide-toolbar --geometry=80x25 -x khal interactive

Nota: probabilmente può comunque valere la pena spostare il comando di sync al di fuori dello script e farlo girare con cron, ma sono valutazioni personali 🙂

Khal in azione

Uno screenshot di khal in azione in una finesta di xfce4-terminal.
khal

Clamav: integrazione con Thunar per scansioni su richiesta

Clamav è un famosissimo antivirus per sistemi Gnu/Linux; in questo articolo vedremo come installarlo su un sistema Ubuntu, e come impostare un’azione di Thunar per richiedere una scansione a richiesta di uno o più files e directories.

Installazione di ClamAV

L’installazione di ClamAV è molto semplice; basta digitare, da terminale

sudo apt-get install clamav

Il pacchetto porta con sé alcune dipendenze, tra cui il pacchetto clamav-freshclam che installa un demone per il download automatico delle nuove firme virali dai mirror di ClamAV. Per chi volesse fare del fine-tuning, il file di configurazione di freshclam è in /etc/clamav/freshclam.conf; come configurazione automatica, comunque, il demone è configurato per cercare aggiornamenti sui mirror 24 volte al giorno (ovvero, una volta l’ora).

Scansione da linea di comando

Il comando clamscan permette di eseguire scansioni su files e directories da linea di comando. Passando varie opzioni è possibile configurarne il comportamento secondo le nostre necessità. L’azione per Thunar che andremo ad impostare si basa proprio su clamscan, con l’evidente comodità di utilizzare un rapido link grafico, al posto della linea di comando, con tutti i parametri già impostati e configurati per una scansione significativa.

Script Shell Viruscheck.sh

Lo script bash Viruscheck.sh è il motore dell’azione che andremo a configurare in Thunar. Aprite il vostro editor preferito e copiate/incollate lo script seguente:

#!/bin/bash
#Check di un path per rilevare virus

PROGNAME="$0"

#Controllo che esista clamscan
if [ ! -x "/usr/bin/clamscan" ]; then
    echo "Errore. Manca eseguibile clamscan"
    exit 1
fi

#Se lanciato senza argomenti, mostro utilizzo
if [ ! $1 ]; then
    echo "$PROGNAME scansiona una o più directories/files specificati come argomenti"
        echo "Uso: $PROGNAME /path1 /path2 /path3 /path/file1"
        exit 0
fi

#Eseguo il check delle directory/file
(
clamscan --recursive --max-filesize=1000M --infected $* |grep FOUND > /tmp/.foundviruses
)|zenity --progress --no-cancel --pulsate --auto-close --text "Scansione delle minacce in corso...."
virus=`cat /tmp/.foundviruses|wc -l`
if [ $virus -gt 0 ]; then
    zenity --error --text "Attenzione\!\nTrovati Virus\!\nNumero di minacce rilevate: $virus\n\nREPORT\n____________\n`cat /tmp/.foundviruses`"
else
    zenity --info --text "Files/Directory scansionati.\nNessuna minaccia rilevata."
fi
rm -f /tmp/.foundviruses
exit 0

Salvatelo in una directory appartenente al vostro PATH e rendetelo eseguibile con

chmod +x /path/viruscheck.sh

Azione VirusCheck in Thunar

Ora non resta che aggiungere un’azione personalizzata in Thunar per eseguire la scansione su richiesta. Dal menu Modifica, scegliere la voce Imposta azioni personalizzate.

Dalla nuova finestra scegliere il pulsante “+” per aggiungere una nuova azione, quindi compilare i campi del Tab Base nel modo seguente:
Nome: VirusCheck
Descrizione: Scansiona gli elementi per rilevare minacce
Comando: viruscheck.sh %F
Icona: [sceglierne una di proprio gradimento]

Il tab Condizioni di visibilità deve avere impostato * come Schema del file, e la spunta su tutti i tipi di files e cartelle:

Una volta confermato, la nuova azione è subito disponibile dal menu contestuale di Thunar per tutti i files e le directories. È possibile selezionare files e directories multipli per la stessa scansione.

Se vengono rilevati files compromessi, viene riportata una finestra d’errore con il path completo dei files virati; nell’esempio, VirusCheck ha trovato due file compromessi con l’eicar test virus.

 

EyeCandy your Xfce

Da un pò di tempo ho iniziato ad utilizzare, con molta soddisfazione, Xfce (http://xfce.org).

Desktop leggerissimo e funzionalità complete; un mix che mi ha convinto ad adottarlo come desktop di elezione.

Per chi già usa, o si accinge a provare, Xfce segnalo un iconset e un tema non compresi di default, ma recuperabili ed installabili da xfce-look.org.

IconSet

Come tema di icone segnalo, e consiglio, l’ottimo Nitruxos; un tema di icone completo e con varianti per desktop a colori scuri e desktop a colori chiari.

La pagina di presentazione su xfce-look.org è la seguente: http://xfce-look.org/content/show.php/Nitrux+OS+Icons?content=154497

Come segnalato sulla pagina stessa, per l’installazione su Ubuntu e derivate esistono dei ppa; per aggiungerli ed installarli, digitare da terminale i seguenti comandi:

sudo add-apt-repository ppa:upubuntu-com/themes
sudo apt-get update
sudo apt-get install nitruxos

Nitruxos sarà disponibile, nelle diverse varianti, nella lista delle icone disponibili, all’interno di Gestore delle Impostazioni > Aspetto > Icone.

Tema Gtk

Esistono molti temi per cambiare lo stile di Xfce; uno molto particolare, e che val la pena menzionare, è Victory.

Il tema è disponibile su xfce-look.org (http://xfce-look.org/content/show.php/Victory+%28Strikes+Again%29?conten…), e per l’installazione è sufficiente scompattare quanto contenuto nel tar.gz fornito all’interno della directory $HOME/.themes; se tale directory non esiste, è sufficiente crearla.

Il nuovo tema Gtk sarà disponibile da Gestore delle Impostazioni > Aspetto > Stile.