Questo errore puo' capitare dopo un upgrade di roundcube.
Verificare che tutti i file della directory /etc/roundcube abbiano permessi settati a 644
sabato 1 ottobre 2016
lunedì 28 settembre 2015
Ubuntu: dove e' finito il mio Guake????
A volte capita che dopo aver minimizzato la finestra di Guake non sia piu' possibile aprirla.
Niente panico...anzi...NIENTE PANICO!!!!!
Usiamo il comando xwininfo per trovare la root window a cui dovrebbe essere collegato il nostro guake:
xwininfo -name 'Guake!' -int -tree
xwininfo: Window id: 60817461 "Guake!"
Root window id: 143 (the root window) (has no name)
Parent window id: 143 (the root window) (has no name)
1 child:
60817462 (has no name): () 1x1+-1+-1 +64+23
Niente panico...anzi...NIENTE PANICO!!!!!
Usiamo il comando xwininfo per trovare la root window a cui dovrebbe essere collegato il nostro guake:
xwininfo -name 'Guake!' -int -tree
xwininfo: Window id: 60817461 "Guake!"
Root window id: 143 (the root window) (has no name)
Parent window id: 143 (the root window) (has no name)
1 child:
60817462 (has no name): () 1x1+-1+-1 +64+23
Memorizzate il Parent window id
Utilizziamo il comando xdotool (se non c'e', installatelo con il comando sudo apt-get install xdotool):
xdotool search --name 'Guake!' windowreparent 143
mercoledì 6 maggio 2015
Esclusione di directory nel comando tar
Lanciando il comando:
tar cvf dest_file.tar --exclude dir1/dirB -exclude dir1/dirA dir1
ottengo erroneamente un archivio contenente la copia della directory dir1 con l'esclusione del contenuto della sua sottodirectory dir1/dirB.
La sottodirectory dir1/dirB (che io avevo chiesto di escludere) e' stata inserita nella copia.
Per risolvere questa anomalia (presente in diverse relesase del comando tar) bisogna modificare il comando iniziale in:
tar cvf dest_file.tar dir1 --exclude dir1/dirB -exclude dir1/dirA[INVIO]
In pratica bisogna tener conto di queste due cose:
- La directory principale deve precedere le sottodirectory escluse
- Dopo l'ultima sottodirectory da escludere non ci possono essere spazi , quindi premere subito il tasto INVIO
mercoledì 31 dicembre 2014
Magento: notifica su header negozio in modalita' demo
Dopo aver clonato un negozio magento puo' essere opportuno metterlo in stato DEMO (con relativa notifica sull'header della home page). Un esempio del frontend:
e uno del backend:
(la funzione demo e' automaticamente settata in caso di una nuova installazione di Magento)
Per abilitarla (o disabilitarla) bisogna entrare nel backend di Magento e selezionare SI o NO dalla voce:
Sistema - Configurazione - Generale - Design - HTML Head - Visualizza notifica Negozio Demo
Confermare la scelta cliccandi sul bottone SAVE CONFIG in alto a destra.
e uno del backend:
(la funzione demo e' automaticamente settata in caso di una nuova installazione di Magento)
Per abilitarla (o disabilitarla) bisogna entrare nel backend di Magento e selezionare SI o NO dalla voce:
Sistema - Configurazione - Generale - Design - HTML Head - Visualizza notifica Negozio Demo
Confermare la scelta cliccandi sul bottone SAVE CONFIG in alto a destra.
martedì 25 novembre 2014
Guake: modificare la larghezza della finestra
Editare /usr/bin/guake
Trovare il blocco di codice
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
# modificata larghezza finestra guake
# width = 100
width = 90
halignment = self.client.get_int(KEY('/general/window_halignment'))
Trovare il blocco di codice
screen = self.window.get_screen()
height = self.client.get_int(KEY('/general/window_height'))
# modificata larghezza finestra guake
# width = 100
width = 90
halignment = self.client.get_int(KEY('/general/window_halignment'))
e cambiare
width = 100
in
# width = 100
width = 90
Il valore della variabile width esprime la larghezza della finestra espressa in percentuale rispetto alla larghezza dello schermo.
N.B. in alcune distribuzioni il file da modificare e' /usr/lib/guake.py
in
# width = 100
width = 90
Il valore della variabile width esprime la larghezza della finestra espressa in percentuale rispetto alla larghezza dello schermo.
N.B. in alcune distribuzioni il file da modificare e' /usr/lib/guake.py
giovedì 9 ottobre 2014
ispconfig3: disabilitare filtri antivirus e antispam
vi /etc/postfix/main.cf
Commentare le due linee:
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
che diventano quindi:
# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings
Far ripartire postfix:
/etc/init.d/postfix restart
Rimettere in coda le eventuali mail in sospeso:
postsuper -r ALL
(questo ultimo comando serve ad evitare l'errore "postfix/qmgr[xxxx]: warning: connect to transport private/amavis: Connection refused"
Disabilitare servizi antispam e antivirus:
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop
Dopo aver verificato che tutto funzioni corretamente, disabilitare l'avvio automatico al boot dei servizi antispam e antivirus:
update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
Commentare le due linee:
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
che diventano quindi:
# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings
Far ripartire postfix:
/etc/init.d/postfix restart
Rimettere in coda le eventuali mail in sospeso:
postsuper -r ALL
(questo ultimo comando serve ad evitare l'errore "postfix/qmgr[xxxx]: warning: connect to transport private/amavis: Connection refused"
Disabilitare servizi antispam e antivirus:
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop
Dopo aver verificato che tutto funzioni corretamente, disabilitare l'avvio automatico al boot dei servizi antispam e antivirus:
update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
lunedì 25 agosto 2014
sed: sostituire tutti gli spazi a inizio riga con un altro carattere
Se vogliamo sostituire, ad esempio, tutti gli spazi a inizio riga con il carattere underscore ('_'), possiamo usare questo comando:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' file
Se vogliamo mantenere l'indentazione di un blocco di codice in formato testo dopo averlo messo su un server http possiamo sostituire gli spazi iniziali con il codice HTML corrispondente allo spazio:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' file
Se vogliamo mantenere l'indentazione di un blocco di codice in formato testo dopo averlo messo su un server http possiamo sostituire gli spazi iniziali con il codice HTML corrispondente allo spazio:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1 /;ta' file
Etichette:
html,
leading spaces,
linux,
sed,
substitute,
text
giovedì 21 agosto 2014
Linux: conversione da WAV a MP3
Installiamo il software necessario
sudo apt-get install lame
Spostiamoci nella cartella contenente i file .wav da convertire e lanciamo il comando seguente:
for f in *.wav; do lame -V 1 "$f" "${f%.wav}.mp3"; done
sudo apt-get install lame
Spostiamoci nella cartella contenente i file .wav da convertire e lanciamo il comando seguente:
for f in *.wav; do lame -V 1 "$f" "${f%.wav}.mp3"; done
php: visualizzare gli eventuali errori nell'esecuzione di una query mysql
Inserire la linea di codice seguente subito dopo la query da controllare:
echo mysql_errno() . ": " . mysql_error() . "\n";
echo mysql_errno() . ": " . mysql_error() . "\n";
Etichette:
debug,
mysql,
mysql_errno,
mysql_error,
php
venerdì 15 agosto 2014
Convertire tutte le immagini PNG di una cartella in formato JPG
mogrify -format jpg *.png
Etichette:
conversione,
convert,
imagemagick,
jpg,
linux,
mogrify,
png
venerdì 18 luglio 2014
Aggiungere un timbro ad un PDF da linea di comando
Se abbiamo un documento (ad esempio documento.pdf) e un file pdf tutto traspartente a parte il timbro da applicare al documento (ad esempio timbro.pdf) possiamo lanciare il comando:
Otterremo un nuovo file (documento_timbrato.pdf) contenente il documento iniziale con sovrapposto il timbro)
pdftk documento.pdf stamp timbrp.pdf output documento_timbrato.pdf
Otterremo un nuovo file (documento_timbrato.pdf) contenente il documento iniziale con sovrapposto il timbro)
lunedì 7 luglio 2014
Backup di un account imap con imapsync
Cominciamo installando il software necessario:
e ancora:
Scarichiamo i sorgenti dell'ultima versione di imapsync
Compiliamo i sorgenti:
Se ricevete degli errori causati dalla mancanza di alcune librerie Perl sul vostro sistema, provate a lanciare il comando seguente:
Se tutto va bene dovreste vedere qualcosa del genere:
A questo punto vi consiglio un'occhiatina alla man page di imapsync:
Per il mio test iniziale replica di un account imap tra 2 server Debian Wheezy con Dovecot Imap ho usato questo comando:
apt-get install libdate-manip-perl libterm-readkey-perl libterm-readkey-perl libdigest-hmac-perl libdigest-hmac-perl libdate-manip-perl libmail-imapclient-perl
e ancora:
apt-get install makepasswd rcs perl-doc libmail-imapclient-perl make git-core git-doc git-svn git-gui gitk
Scarichiamo i sorgenti dell'ultima versione di imapsync
cd /tmp
git clone git://github.com/imapsync/imapsync.git
Compiliamo i sorgenti:
cd imapsync
make install
Se ricevete degli errori causati dalla mancanza di alcune librerie Perl sul vostro sistema, provate a lanciare il comando seguente:
perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL \
-mDigest::HMAC_MD5 -mAuthen::NTLM -e -mTime::HiRes \
-mData::Uniqid -mURI::Escape -mFile::Copy::Recursive -mIO::Tee ""
Se tutto va bene dovreste vedere qualcosa del genere:
A questo punto vi consiglio un'occhiatina alla man page di imapsync:
man imapsync
Per il mio test iniziale replica di un account imap tra 2 server Debian Wheezy con Dovecot Imap ho usato questo comando:
imapsync --host1 alderan --host2 tatooine --user1 c3po --user2 r2d2 --tls1 --noauthmd5 --authmech1 CRAM-MD5 --authmech2 LOGIN
lunedì 9 giugno 2014
Formattare il codice per blogspot
Per poter formattare il codice da inserire nel vostro blog Blogspot usate il formattatore online all'indirizzo
Etichette:
blospot,
code,
codice,
formattatore,
formatter
openssl: generare in casa certificati per VPN
Attenzione, a partire dalla release 5.15 RouterOS supporta il formato di chiavi pkcs8.
Se utilizzate una release precedente e volete importare le chiavi pkcs8 lanciate il comando:
poi copiate l´output in un file e lo uploadate sul vostro router.
Cominciamo preparando una coppia chiave/certificato per la nostra CA (Certificate Authority):
Durante il processo dovrete inserire alcune voci (Common Name (CN), Organization, State or province .. etc). La coppia chiave/certificato generata avra' una validita' di 10 anni (3650 giorni).
Ora passiamo a generare una coppia chiave/certificato per il nostro server (ad esempio il router Mikrotik a cui ci vogliamo collegare in VPN)
Di nuovo, durante il processo dovrete inserire alcune voci.Al momento di inserire CN ricordate che deve essere diverso da quello del certificato della CA e da quello del client (che andremo a generare tra poco) per evitare collisioni nei nomi.
Attenzione: Il Common Name (CN) nel certificato del server dovrebbe corrispondere all'IP address del server altrimenti verra' generato un messaggio di warning al momento della connessione.
Se il client saranno solo macchine Windows il CN puo'tranquillamente essere un nome DNS.
La generazione del paio chiave/certificato per il client e'mlto simile a quella per il server, ricordatevi di usare un CN univoco.
Per esaminare e verificare il certificato usate il comando seguente:
Se utilizzate una release precedente e volete importare le chiavi pkcs8 lanciate il comando:
openssl rsa -in myKey.key -text
poi copiate l´output in un file e lo uploadate sul vostro router.
Cominciamo preparando una coppia chiave/certificato per la nostra CA (Certificate Authority):
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
Durante il processo dovrete inserire alcune voci (Common Name (CN), Organization, State or province .. etc). La coppia chiave/certificato generata avra' una validita' di 10 anni (3650 giorni).
Ora passiamo a generare una coppia chiave/certificato per il nostro server (ad esempio il router Mikrotik a cui ci vogliamo collegare in VPN)
openssl genrsa -des3 -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
Di nuovo, durante il processo dovrete inserire alcune voci.Al momento di inserire CN ricordate che deve essere diverso da quello del certificato della CA e da quello del client (che andremo a generare tra poco) per evitare collisioni nei nomi.
Attenzione: Il Common Name (CN) nel certificato del server dovrebbe corrispondere all'IP address del server altrimenti verra' generato un messaggio di warning al momento della connessione.
Se il client saranno solo macchine Windows il CN puo'tranquillamente essere un nome DNS.
La generazione del paio chiave/certificato per il client e'mlto simile a quella per il server, ricordatevi di usare un CN univoco.
openssl genrsa -des3 -out client.key 4096
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
Per esaminare e verificare il certificato usate il comando seguente:
openssl x509 -noout -text -in server.crt -purpose
mikrotik: usare il nome delle interfacce VPN nelle regole del firewall
Se usate un'interfaccia VPN dinamica il suo nome sara', ad esempio:
Il segreto per ovviare a questo inconveniente e' creare un'interfaccia dedicata a quell'utente:
[SIMBOLO DI MINORE]ovpn-nome_utente[SIMBOLO DI MAGGIORE]e non vi sara' permesse utilizzarla nelle regole del firewall.
Il segreto per ovviare a questo inconveniente e' creare un'interfaccia dedicata a quell'utente:
/interface ovpn-server add name=ovpn-nome_utente user=nome_utenteCosi' facendo il nome dell'interfaccia sara':
ovpn-nome_utentee potra' essere usato nelle regole del firewall.
Etichette:
firewall,
interfaccia,
interfaces,
IP,
mikrotik,
openvpn,
routeros,
rules,
static,
vpn
mercoledì 4 giugno 2014
Analisi log: cercare tutte le ricorrenze di un parametro
Ipotizziamo un log che contenga linee del tipo:
DATA ORA CODICE I=dfjhsdf U=root O=eruyer
DATA ORA CODICE I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=mario O=eruyer
Vogliamo estrarre la lista degli utenti (nell'esempio il parametro U), possiamo usare questo comando:
grep -o "\ U=.*\ " FILE_DI_LOG | cut -f 2 -d\
DATA ORA CODICE I=dfjhsdf U=root O=eruyer
DATA ORA CODICE I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=utente O=eruyer
DATA ORA CODICE S=hdhgfgd I=dfjhsdf U=mario O=eruyer
Vogliamo estrarre la lista degli utenti (nell'esempio il parametro U), possiamo usare questo comando:
grep -o "\ U=.*\ " FILE_DI_LOG | cut -f 2 -d\
mercoledì 28 maggio 2014
lunedì 26 maggio 2014
Nautilus: non funziona piu' la funzione SELECT ALL
Soluzione:
sudo apt-get install --reinstall nautilus
nautilus -q
Etichette:
apt-get,
ctrl+a,
linux,
select all,
ubuntu
Tastiera: AltGr non funziona piu' dopo aggiornamento sistema
Dopo un aggiornamento del mio portatile a Ubuntu 14.04 non mi funzionava piu'il tasto AltGr (quindi per esempio non potevo usare il catattere € per l´Euro.
Le istruzioni che si trovano in rete fanno riferimento a utility di configurazione della tastiera che non sono piu'presenti sulle nuove versioni di Ubuntu.
Il problema si risolve lanciando da linea di comando il seguente:
sudo dpkg-reconfigure keyboard-configuration
e selezionare la giusta configurazione (Asus laptop + English (US) international
giovedì 22 maggio 2014
vim: schema colori piu' leggibile
Inserire nel file /etc/vim/vimrc.local la riga seguente:
colorscheme koehler
Iscriviti a:
Post (Atom)


