Tutti gli articoli di Marco

Localizzazione delle cartelle

Uno dei punti di forza di Mac OS X, dal punto di vista di un programmatore, è senza dubbio il sistema di localizzazione integrato in esso. Il Sistema Operativo offre allo sviluppatore una serie di strumenti che facilitano l’integrazione delle proprie applicazioni nella lingua usata dall’utente. Questi strumenti possono essere estesi non solo alle applicazioni, ma anche alle cartelle del filesystem. Se con il Finder apriamo la nostra Home, troviamo al suo interno le cartelle Documenti, Filmati e Musica. Ma se andiamo ad esplorarla attraverso il Terminale, ci accorgeremo che tali cartelle corrispondono alle directory Documents, Movies e Music.
Attraverso questo sistema, è possibile semplificare le operazioni sulle cartelle rendendole più user-friendly all’utente, senza complicare troppo la vita al programmatore, dal momento che egli, potrà sempre e comunque, fare riferimento alle path di queste cartelle attraverso il nome reale, senza preoccuparsi di come queste vengono chiamate dall’utente nella sua lingua.
Vediamo come possiamo personalizzare i nomi di queste cartelle, o meglio ancora, aggiungerne di altre.

Metodo 1

Questo metodo prevede la modifica della configurazione del Finder e, affichè la nostra cartella venga localizzata, occorre ripetere l’operazione sotto descritta in ogni singola installazione di Mac OS X. Questo approccio viene usato per le cartelle di sistema predefinite.
Andiamo nella nostra Home e creiamo la cartella Projects.
Quindi da terminale, attraverso il nostro editor di testo preferito (io uso vi) editiamo il file contenente le stringhe di localizzazione per l’italiano (ovviamente la regola vale per qualunque lingua, basta modificare il file corretto!):

$ sudo vi /System/Library/CoreServices/SystemFolderLocalizations/it.lproj/SystemFolderLocalizations.strings

e andiamo ad aggiungere la seguente riga:

"Projects" = "Progetti";

Salviamo il file e poi digitiamo il seguente comando:

$ touch Projects/.localized

Quest’ultimo crea un file all’interno della nostra cartella che indica al Finder di localizzarla usando la stringa che abbiamo impostato.
Per rendere effettive le modifiche dobbiamo disconnetterci e effettuare di nuovo il login, oppure riavviare il sistema.

Metodo 2

Questo metodo segue invece un approccio leggermente diverso in quanto le stringhe di localizzazione risiedono all’interno della cartella stessa. Per fare ciò dobbiamo innanzitutto aggiungere l’estensione .localized al nome della cartella. Questa volta creeremo la relativa directory direttamente da Terminale:

$ mkdir Projects.localized

Noterete fin da subito che il Finder mostrerà solo la prima parte del nome, nascondendone l’estensione.
Adesso creiamo la subdirectory .localized:

$ mkdir Projects.localized/.localized

Quindi creiamo al suo interno il file per la localizzazione in italiano:

$ vi Projects.localized/.localized/it.strings

e inseriamo la traduzione:

"Projects" = "Progetti";

Salvate le modifiche; dopodiché rifate il login oppure riavviate il sistema, al termine del quale troverete il nome della vostra cartella localizzata.

I metodi descritti in questo articolo sono validi purché nelle preferenze del Finder non sia stata spuntata l’opzione Mostra tutte le estensioni dei documenti (Menù Finder > Preferenze > Avanzate).
La localizzazione delle applicazioni invece, benché si basi sullo stesso principio, merita senza dubbio un articolo a parte, vista la maggior complessità.

Come prevenire la creazione dei file .DS_Store sui dischi di rete

Mac OS X, quando monta un volume crea nel suo filesystem un file nascosto denominato .DS_Store dove memorizza alcune informazioni usate poi dal Finder. Questo sistema risulta a volte antipatico se un utente si connette ad una condivisione SMB all’interno di una rete ibrida. In questi casi infatti il file risulta visibile agli altri utenti Window e Linux.
Questo meccanismo può essere disattivato per le sole connessioni SMB/CIFS, AFP, NFS e WebDAV.
Aprite il terminale e digitate il seguente comando, seguito da Invio:

$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Questo comando modifica le impostazioni dell’utente che si è loggato. Pertanto, in caso di più utenti registrati sul Mac, accedete e per ognuno di essi ripetete la procedura sopra descritta.
La disattivazione della creazione dei file .DS_Store sui dischi di rete non permetterà la gestione dei commenti del Finder su di essi.
Per ulteriori informazioni potete consultare il sito di supporto Apple, in particolare l’articolo HT1629 e 107822.

Stampare con CUPS da Windows

Ho una stampante installata e funzionante sul mio server linux attraverso il sistema di stampa CUPS. Come faccio a stamparci da un client Windows senza passare da una condivisione Samba?

E’ più semplice di quel che sembra. Basta creare una nuova stampante di rete attraverso l’apposito wizard Installazione guidata stampante e selezionare l’opzione Connetti a una stampante in internet o della rete domestica o aziendale, quindi inserite , nell’apposito box, l’url della nostra stampante, che sarà
http://nomeoipdelmioserver:631/printers/nomedellacodaostampantecups

A questo punto proseguite selezionando il driver di stampa adatto alla vostra stampante e terminate la procedura di installazione. Fatto, adesso sarete in grado di stampare su CUPS!

Nel mio caso, l’url che ho inserito era http://mrserver:631/printers/ML-1710. Ovviamente ho configurato il firewall del mio server affinché accettasse le connessioni esterne sulla porta 631 che, per chi non lo sapesse, è la predefinita sulla quale il demone di CUPS resta in ascolto. Volete fare una prova?! Sul vostro server aprite un browser (ad esempio Firefox) e andate all’url http://localhost:631, e divertitevi! Sempre per i più curiosi, CUPS utilizza un protocollo di rete standard chiamato ipp (Internet Protocol Printing) che permette la stampa attraverso una rete locale LAN o WAN.