Category: Mac

  • ZIP Puliti con Mac OS-X

    Comprimendo una cartella con il vostro PC Mac avrete notato che vengono inclusi anche dei file nascosti tipo 

    .svn
    .git
    .DS_Store
    Thumbs.db

    Ecco come risolvere il problema in 2 minuti:

    Aprite l'applicazione Automator

    Alla richiesta del modello da creare selezionate Servizio e confermate con il tasto Scegli

    In alto come ricezioni impostate "Documenti e Cartelle" in "Finder"

    Dall'elenco sulla sinistra selezionate dalla categoria "Utility" l'azione "Esegui Apple Script" e trascinatela nell'area di destra

    Troverete gia' scritto del codice di esempio :

    on run {input, parameters}
        (* Your script goes here *)
        return input
    end run

    Cancellate tutto e incollate il codice seguente:

    on run {input, parameters}
        tell application "Finder"
            set n to count of input
            set oggetto to (first item of input as string)
            set Dir to ((container of item oggetto) as string)
            set cartella to quoted form of POSIX path of Dir
            set nome to ""
            repeat with i in input
                set nome to (quoted form of ((name of i) as string) & " " & nome)
            end repeat
            if n = 1 then
                set nome_se to my nome_senza_estensione(oggetto)
            else
                set nome_se to "Archivio"
            end if
            if item (Dir & nome_se & ".zip") exists then
                set theDate to current date
                set theYear to year of theDate as text
                set theMonth to (month of theDate as integer) as text
                if length of theMonth < 2 then
                    set theMonth to ("0" & theMonth)
                end if
                set theDay to (day of theDate) as text
                if length of theDay < 2 then
                    set theDay to ("0" & theDay)
                end if
                set theTime to (characters 1 thru 2 of time string of theDate) & (characters 4 thru 5 of time string of theDate) & (characters 7 thru 8 of time string of theDate)
                set nome_se to (nome_se & "_" & theYear & theMonth & theDay & "-" & theTime)
            end if
            do shell script "cd " & cartella & "; zip -r --exclude=*.DS_Store* --exclude=*.svn* --exclude=*.git* --exclude=*Thumbs.db* " & quoted form of nome_se & " " & nome 
        end tell
        return input
        
    end run
    
    on nome_senza_estensione(an_item)
        tell application "Finder"
            set theName to (name of item an_item) as text
            set theExtension to (name extension of item an_item) as text
            if theExtension is not "" then
                set x to the offset of theExtension in theName
                set theName to text 1 thru (x - 2) of theName
            end if
            return theName
        end tell
    end nome_senza_estensione

    Ora salvare il tutto ed assegnare un nome appropriato al Servizio, es: "Crea Zip Pulito"

    A questo punto "cliccando col tasto destro" su una cartella oppure su un insieme di file troverete la funzione "Crea Zip Pulito" che genererà un archivio di tipo .zip senza i classici file nascosti generati da OS-X 

  • Installazione Python e Plone 4 da sorgenti

    Ecco un video di 5 minuti che mostra come installare in un sistema Unix-like Python e Plone 4 da file sorgenti:

    [youtube]DtYwZOedlcI[/youtube]

    I requisiti di sistema sono:

    • Strumenti per la compilazione (il pacchetto build-essential per Linux Debian o Ubuntu per esempio)
    • Subversion per il download da repository svn

    La procedura da linea di comando:

    Creo una cartella dove metto tutto il necessario (in questo modo non modifico minimamente le impostazione del sistema e posso fare tutto senza i permessi di root)

    cd ~
    mkdir plone
    cd plone

    Scarico Python e una libreria necessaria a Plone per la gestione delle immagini

    wget http://www.python.org/ftp/python/2.7/Python-2.7.tgz
    wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz

    Scompatto Python e PIL

    tar xvzf Python-2.7.tgz
    tar xvzf Imaging-1.1.7.tar.gz

    Creo una cartella dove installare Python

    mkdir -p ~/plone/python/2.7

    Configuro Python per l’installazione nella cartella predisposta (specificare il percorso assoluto)

    cd ~/plone/Python-2.7
    ./configure --prefix=/Users/fc/plone/python/2.7/

    Compilo e installo Python

    make
    make install

    Installo PIL

    cd ~/plone/Imaging-1.1.7
    ~/plone/python/2.7/bin/python2.7 setup.py install
    cd ~/plone/

    Scarico il buildout di Plone 4 dal repository svn

    svn co http://svn.plone.org/svn/plone/buildouts/plone-coredev/branches/4.0/ plone4

    Installo Plone 4

    cd plone4
    ~/plone/python/2.7/bin/python2.7 ./bootstrap.py

    Modifico eventualmente il file buildout.cfg

    vi ./buildout.cfg

    Scarico tutti i pacchetti necessari

    ./bin/buildout

    Avvio il server Zope per generare l’instanza Plone

    ./bin/instance.fg

    Dal mio Browser visito la pagina: http://localhost:8080

  • Configurazione Alfa Network AWUS036H con chip RTL8187L su OS-X 10.6

    L’installazione del potente adattatore USB wifi AWUS036H, su Mac Os-X 10.6 può presentare dei problemi. In particolare puo’ risultare che il driver /System/Library/Extensions/RTL8187l.kext non venga installato correttamente o con tutti i permessi giusti.

    Ecco come sono riuscito a bypassare il problema:

    Ho scaricato l’ultimo driver disponibile direttamente dal sito REALTEK.

    Ho provato l’installazione ed ho riavviato il comuper come indicato dall’installazione

    Lanciando l’apposito programma di gestione dalle Applicazioni Mac non funzionava allora ho spostato il driver nel mio desktop e installato tramite l’utility Kext Helper:

    Ho scaricato Kext Helper ed ho lanciato l’utility

    Dopo aver spostato il driver nel mio desktop da riga di comando e con permessi di amministratore:

    sudo -s
    mv /System/Library/Extensions/RTL8187l.kext /Users/fc/Desktop
    

    ho trascinato il driver nel programma Kext Helper, impostata la password di amministratore e avviato l’installazione.

    Riavviato il computer e il programma ha cominciato a funzionare ! 🙂

    Schermata Utility Realtek WLANAllego nel caso servisse il mio RTL8187l.kext

  • Squid Proxy behind another Proxy

    Dopo aver cercato parecchio ho trovato come poter configurare un Proxy Squid che potrà accedere a internet solo tramite un altro Proxy a cui non avete accesso.

    In particolare la mia situazione e’ questa: terrò un corso presso un istituto che non vuole autenticare nel suo server proxy direttamente tutti i partecipanti al corso ma fornirà un unico accesso al docente. Ecco allora che ho pensato di gestire tramite un SME Server Virtuale nel mio MacBook Pro, una sottorete con un altro Server Squid che autentichi i partecipanti in una rete diversa e gestita appunto dal server virtuale.

    L’installazione di Sme Server è come al solito banale, unico accorgimento nella macchina virtuale è stato associare una scheda di rete del server alla mia scheda wired ed una nuova scheda di rete virtuale alla mia interfaccia wifi entrambe in modalità bridged, utilizzerò poi questa interfaccia per fornire connettività ai partecipanti in modalià Access Point.

    Una volta installato il Server SME (7.5), ho potuto da subito creare gli utenti e installare dansguardian per gestire in modo peculiare i permessi.

    Il punto per me particolare e’ stato come istruire il mio virtual server SME, ad accedere ad internet tramite il proxy dell’istituto che ci ospita. Dove metto username e password che mi forniranno dopo avermi severamente interrogato, scannerizzato e identificato tramite carta d’identità passaporto ecc.. ?

    Inizialemente pensavo di utilizzare delle variabili di sistema in questo modo come indicato qui:

    #proxy.sh
     export http_proxy=http://username:password@ip_host:port/
     export ftp_proxy=http://username:password@ip_host:port/
     export no_proxy=.domain.com
     export HTTP_PROXY=http://username:password@ip_host:port/
     export FTP_PROXY=http://username:password@ip_host:port/

    ma questo funziona solo da riga di comendo del mio server ma non per gli utenti dietro il mio proxy

    Alla fine ho trovato che SME Server aveva giaà pensato a poter configurare squid per collegarsi ad un proxy padre (parent proxy). Ho dovuto solo aggoungere un parametro per specificare nome utente e password.

    Ecco i passi da fare:

    mkdir -p /etc/e-smith/templates-custom/etc/squid/squid.conf
    cp /etc/e-smith/templates/etc/squid/squid.conf/10ParentCache /etc/e-smith/templates-custom/etc/squid/squid.conf/

    modificare /etc/e-smith/templates-custom/etc/squid/squid.conf/10ParentCache in questo modo:

    {
     $OUT = "";
    
     if (defined $SquidParent && $SquidParent)
     {
     $OUT .= "cache_peer $SquidParent parent ";
     $OUT .= $SquidParentPort || "3128";
     $OUT .= " 7 no-query default";
     $OUT .= " login=$SquidUser";
     }
    }

    da riga di comando digitare:

    db configuration set SquidParent ip_proxy
    db configuration set SquidParentPort porta_proxy
    db configuration set SquidUser username:password

    (SquidUser è una variabile non definita di default in SME, in alternativa si possono inserire questi valori direttamente nel file di configurazione)

    Dove:

    ip_proxy = ip o nome del server proxy dell’istituto ospitante

    porta_proxy = porta del proxy dell’istituto ospitante

    username:password = credenziali ottenute (con molta fatica 🙂 ) dall’Istituto

    In seguito dare i comandi:

    expand-template /etc/squid/squid.conf
    signal-event proxy-update
    signal-event post-upgrade; signal-event reboot
  • Aprire il Terminale da Finder in OS/X

    Ecco una breve guida su come aprire il terminale da Finder di Mac OS/X nella posizione corrente:

    Lanciare l’applicativo AppleScriptEditor (cmd+spazio e digitare applescript)

    Copia e incolla nell’editor il seguente codice:

    tell application "Finder" to set currentPath to insertion location as text
    set posixPath to POSIX path of currentPath
    tell application "Terminal"
    	activate
    	if not (exists front window) then do script ""
    	do script "cd \"" & posixPath & "\"" in front window
    end tell
    

    Salvare lo script come “Applicazione” in una cartella a piacere (ad esempio ~/Apps)

    Registra come Applicazione

    Se lo desiderate, modificate l’cona dell’applicazione come spiegato qui

    Sempre dalla cartella dove avete salvato l’applicazione trascinate l’applicazione nella parte alta della finestra e otterrete il comodo link:

    Esempio di toolbar modificata

    Se desiderate avere già l’applicazione pronta potete scaricarla da qui: OpenTerminal