Translate

Visualizzazione post con etichetta Linux. Mostra tutti i post
Visualizzazione post con etichetta Linux. Mostra tutti i post

16 gennaio 2010

Network printing and scanning (NeXT/Win32/Linux)

In questo post riassumerò in breve i passi principali per poter condividere in rete una stampante e uno scanner USB collegati ad un server Linux.

Configurazione del server.

Le modifiche ai file di configurazione che vado a descrivere dovrebbero applicarsi alla maggior parte dei sistemi Unix in uso, se non è così: man man .

Scanner - configurazione di saned.

Modificate il file /etc/sane.d/saned.conf in modo tale che il demone ascolti in LAN, aggiungendo l'ip, o la classe di ip, della vostra rete:

## Access list
# A list of host names, IP addresses or IP subnets (CIDR notation)

# are permitted to use local SANE devices. IPv6 addresses must be

# in brackets, and should always be specified in their compressed.

#

# The hostname matching is not case-sensitive.

#scan-client.somedomain.firm

#192.168.0.1

192.168.1.0/24

#[2001:7a8:185e::42:12]

#[2001:7a8:185e::42:12]/64


privo di commento (#), come da esempio.

Scanner - Configurazione di inetd.

Inetd si occupa di gestire le richieste di rete, smistandole ai demoni corretti in base alla porta di connessione. Per saned, aggiungerete una linea simile a questa:

6566 stream tcp nowait root /usr/sbin/saned saned

6566 è il numero della porta utilizzata da sane per le comunicazioni di rete.

Stampante - Configurazione di CUPS

In questo caso il file da modificare è /etc/cups/cupsd.conf, anche lui deve ascoltare in rete, quindi modifichiamo la sezione Location come segue:

# Allow shared printing...

Order Deny,Allow

Deny From all

Allow From 127.0.0.1

Allow From 192.168.1.*



Fatto ciò dobbiamo abilitare la stampa raw in CUPS modificando /etc/cups/mime.types e /etc/cups/mime.conf eliminando il commento (#) dalla stringa seguente:

application/octet-stream

Stampante - Configurazione di inetd (NeXT)

La povera NeXTstation, a causa della sua età, ha bisogno di un piccolo trucco per stampare sul server Linux. Facciamo credere a NeXTStep che il server CUPS in Linux sia un server JetDirect, modificando /etc/inetd.conf come segue:

9100 stream tcp nowait lp /usr/bin/lp-cups lp-cups -d nomedellavostrastampate

Riavviamo quindi i demoni inetd e cupsd (con un killall -HUP oppure usando gli script di sistema).

Configurazione dei client.

NeXT.

Aggiungiamo una stampante JetDirect usando il wizard di configurazione che trovate in /NextApps (vedi screenshot).

Windows.


Anche in Windows le cose non sono complicate, se non per un fastidioso bug che ci costringe ad usare driver generici PostScript (li trovate qui: http://www.adobe.com/support/downloads/product.jsp?platform=win&product=pdrv) se usate una stampante HP (in due parole, usando i driver HP, le immagini e il testo viene stampato ruotato di 180°, come riflesso). Per aggiungere la stampante usate il wizard che da versioni ci accompagna (vedi screenshot).

Per usare lo scanner in rete con SANE, andate qui: http://www.xsane.org/xsane-win32.html




07 novembre 2009

The NeXT thin client - Remote web browsing

Qualche mese fa, la NeXTstation, collegata in rete, era in grado di stampare in remoto sul server Linux, rendendola, perché no, un editor di testi molto affascinante (http://download.tuxfamily.org/greedydotfly/ns/ap/WordPerfect.app.compressed.zip).

Oggi vi propongo un altro utilizzo del Black Hardware collegato alla vostra LAN: la navigazione web.

Le limitazione della NeXTstation Mono.

Gli 8 bit di profondità dell'immagine. L'hardware di quindici anni fa. Il software di dodici anni fa.
La prima limitazione va ad inficiare in primis la scelta dell'applicazione da usare: in particolare le applicazioni Gtk+ che dipendono ormai da Cairo, risentono proprio di un bug di quest'ultimo: http://bugs.freedesktop.org/show_bug.cgi?id=19528.
Le limitazioni hardware derivano dalla bassa velocità del processore,dalla ram e dalla componentistica di rete (limitata a 10 Mbit), mentre quelle software non ci permettono di utilizzare un browser abbastanza moderno per navigare con piacere. Le opzioni sono OmniWeb, ormai vetusto per le pagine html moderne, o browser testuali da usare in terminale...

...O usare la workstation Linux come server remoto.

Per fare ciò dobbiamo ottimizzare al meglio le risorse a disposizione, software in questo caso. La connessione tra NeXTstation e Linux sarà in chiaro, useremo telnet, per evitare al processore tempi di elaborazione troppo lunghi.
Attiviamo telnet: aggiungete a /etc/inetd.conf questa linea: telnet stream tcp nowait root /usr/sbin/in.telnetd -debug e riavviate il superdemone inetd: killall -HUP inetd (naturalmente avete telnet installato nel vostro sistema).
La scelta del browser andrà a ricadere in un'applicazione non Gtk+, e abbastanza snello da permetterci una navigazione più fluida possibile: Arora, in QT, utilizza il motore di rendering WebKit.

La preparazione di NeXTStep.

Per poter utilizzare un'applicazione grafica Linux da remoto, dobbiamo avere a disposizione un server X. Qui trovate la release 5.0 di CubX Window, un server X per NeXTStep. Una volta installato, non ci resta che avviarlo. Configurate CubX per accettare connessioni da tutti gli host, o dalla vostra workstation.
Una volta in esecuzione, si aprirà sul desktop un emulatore di terminale (xterm) dal quale dare i comandi necessari per avviare il browser remoto.

>telnet $ipdelvostroserver
login: $vostroutente
password:

$>export DISPLAY=$ipnextstation:0.0
$>cd /dove/si/trova/il/programma
$>./arora




18 aprile 2009

Logitech Quickcam E2500 e Linux

Questa per capirci. Qui tratterò i kernel >= al 2.6.27.x.

Caricamento dei moduli.

Senza riavviare, è sufficiente dare un: modprobe gspca_zc3xx e in /var/log/messages vedremo qualcosa del tipo:

gspca: main v2.4.0 registered
gspca: probing 046d:089d
gspca: probe ok
zc3xx: Sensor MC501CB
usbcore: registered new interface driver zc3xx
zc3xx: registered


Controllate che il device venga creato correttamente con ls /dev/video*.

Usare la webcam.

I kernel recenti sono da poche release passati alla versione 2 dei driver Video for Linux (v4l2), ma non tutte le applicazioni hanno seguito la stessa roadmap di rilasci. Quindi, prima di provare il vostro programma preferito di videoconferenza, siate sicuri di aver installato nel vostro sistema le libv4l nella versione >= a 0.5.2. Questo installerà nel vostro sistema dei wrapper in userspace per poter usare programmi non ancora pronti a v4l2.

I software.

aMsn: funziona out of the box.

Skype: è sufficiente caricare un wrapper di cui sopra prima dell'avvio: LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype

MPlayer: come sopra, solo che il wrapper ora è: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so mplayer tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480

VLC: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so vlc

Da notare che ancora non funzionano il led di attività e il bottone nel retro della webcam.

19 gennaio 2009

Atari Portfolio as a Linux Terminal

Erano queste le parole da digitare sul motore di ricerca - un paio d'anni fa... - per trovare un interessante programma in Assembler, pensato appositamente per essere trasferito nell'Atari Portfolio via porta seriale ed essere usato come terminale seriale, appunto. Qui, mi limito a fare la copia della copia (le trovate su http://web.archive.org) delle pagine necessarie per trasferire il programma in binario nel Portfolio, e per compilare il sorgente in Assembler; il tutto rigorosamente da Linux.

http://download.tuxfamily.org/greedydotfly/atari/portfolio/n/apt_main.htm

http://download.tuxfamily.org/greedydotfly/atari/portfolio/n/apterm_l.htm


http://download.tuxfamily.org/greedydotfly/atari/portfolio/n/apterm.com (il binario di cui sopra)

Come potrete immaginare, sono anch'io un felice possessore di un Atari Portfolio del 1989 (HPC-006, numero seriale illeggibile) dotato di interfaccia seriale HPC-102, numero di serie: X22241007565, con tastiera QUERTZ (ebbene sì, un po' tedesco).
Da bambino avevo anche un Atari 2600 jr, ormai perso nella soffitta del nonno materno... Ma questa è un'altra storia!

WindowMaker corner

Website: www.windowmaker.info

Mailing list:
Up

Dev:
https://hg.windowmaker.info/wmaker/

IRC: irc://irc.freenode.net/windowmaker

Version: 0.92.1 -pre1

Sources at: ftp://windowmaker.info/pub/source/snapshots/

Patches: N/A

Update #1

http://nextmaker.blogspot.com/


Update #2

http://repo.or.cz/w/wmaker-crm.git

Update #3

Lo sviluppo del tree ufficiale è stato ripreso, a giorni attendiamo una release stabile 0.92.1. Il team non è più lo stesso di un tempo, anche se Dan Pascu partecipa attivamente alle discussioni in mailing-list.

07 luglio 2008

WindowMaker: True Transparency

Anche WindowMaker può essere agghindato come i suoi cugini. Trasparenze e fade effects fanno buona mostra assieme alla Dock, e con un può di buon senso, ne guadagna anche l'usabilità.

Di cosa abbiamo bisogno?

Estensione Composite di X.Org attiva:
michele@lounge:~$ cat /etc/X11/xorg.conf | grep -i composite
Option "Composite" "Enable"

Composite manager:
michele@lounge:~$ whereis xcompmgr
xcompmgr: /usr/bin/xcompmgr /usr/X11R6/bin/xcompmgr /usr/bin/X11/xcompmgr /usr/X11/bin/xcompmgr /usr/man/man1/xcompmgr.1.gz /usr/man/man1/xcompmgr.1 /usr/share/man/man1/xcompmgr.1.gz /usr/share/man/man1/xcompmgr.1 /usr/X11/man/man1/xcompmgr.1.gz /usr/X11/man/man1/xcompmgr.1

Transd - transparency daemon:
http://transd.berlios.de/

Do it for real!

Per prima cosa attiviamo il composite manager all'avvio di WMaker, e per fare ciò aggiungiamo una linea in ~/GNUstep/Library/WindowMaker/autostart, come questa:
xcompmgr -f & # Attiva il composite manager con effetti fade di base

Transd si compone di due elementi, un pseudo-demone (che non crea file .pid e muore spesso, ma ne parliamo poi) e di un file di configurazione: /etc/transd/transd.conf. In quest'ultimo possiamo modificare le proprietà di trasparenza delle finestre in focus e out focus. Una volta installato date un'occhiata al file di configurazione d'esempio.
Transd non è più mantenuto da qualche anno, e si porta ancora dietro problemi di giovinezza quali crash ad ogni chiusura di finestra su cui agisce, senza possibilità di riprendersi se non per via manuale. Non programmo in C, e di guardare il codice non ne ho voglia (se volete farlo voi accomodatevi pure e fatemelo sapere :) quindi ho creato uno script bash che fa da workaround ai continui crash. Eccovelo di seguito:

#!/bin/sh
PID=`pgrep -o transd-nocrash` # The old process
PID1=`pgrep -n transd-nocrash` # The new one
if [ "$PID" = "$PID1" ]; then echo "Ok"; # Check if it's the same process
else kill $PID; # else kill the old one
fi
transd # Run transd daemon
wait $transd # Wait for its crash
/usr/bin/transd-nocrash # Loop
Script che non fa altro che richiamare se stesso eliminando il precedente processo per non ingolfare l'output di ps. Le migliorie sono sempre ben accette.

Lo screenshot è d'obbligo e lo corredo delle impostazioni che uso io per i programmi in immagine:

# Xterm rules
ON Enter ( WM_CLASS == XTerm ) SET TO 0.8
ON Leave ( WM_CLASS == XTerm ) SET TO 0.3

# Audacious rules
ON Enter ( WM_CLASS == Audacious ) SET TO 0.8
ON Leave ( WM_CLASS == Audacious ) SET TO 0.3

(Per recuperare il valore di WM_CLASS usate il programma xprop)

12 aprile 2008

Un cestino per WindowMaker

Voglio un desktop moderno e semplice. Bello e intuitivo. Voglio che assomigli a NeXTStep!

Il window manager che farà da struttura portante è senza ombra di dubbio WindowMaker: siamo alla versione 0.92.0 da tre anni, ma le feature che abbiamo a disposizione sono più che sufficienti.
Adesso dobbiamo scegliere cosa usare come gambe della scrivania: un ambiente GNUStep (che ci offre applicazioni dal look e dal comportamento molto simile a NeXT/OPENStep) o utilizzare gli ambienti prediletti dell'utenza GNU/Linux, KDE e Gnome. Ho scelto la seconda via.
Perché assomigli a NeXTStep ci devono essere essenzialmente due elementi: la Dock e un Workspace Manager (il papà del moderno Finder). La scelta, per motivi di tempo e praticità, è ricaduta su Konqueror.
Avviato la prima volta, ho aggiunto l'appicon alla Dock e impostato per farlo partire ad ogni avvio di WMaker, come da figura.

L'aggiunta di altre dockapp e appicon è a vostra discrezione. Ve ne suggerisco giusto un paio che trovo molto utili e ben fatte: la prima, Docker, una system tray, e wmpinboard, il post-it per WM.

Manca ancora qualcosa: il cestino!

L'idea.

L'idea di un'implementazione del genere mi è venuta guardando l'immagine qui a fianco. Se notate il penultimo campo, leggete la dicitura: Command for files dropped with DND (Drag 'n Drop).
Quindi, se sopra un'appicon trascino un file da un file manager, posso far eseguire uno script che ha come argomento il nome del file in questione (tipo: mv nomefile ~.Trash).

La pratica.

Cosa ci serve? In primis, WindowMaker compilato col supporto (ancora sperimentale, ndS.) al DND.
Per fare ciò, dopo il configure dei sorgenti, bisogna modificare il file ../src/wconfig.h, in questo modo:

/*
* support for XDND drop in the Dock. Experimental
*/
#define XDND

e il file ../src/misc.c, pena la mancata compilazione di WM, come segue:

/* if (!dropped_thing) {
* dropped_thing = get_dnd_selection(scr);
* }
*/
make && make install (o vi create il pacchetto di binari con i tool della vostra distribuzione). Avviate WindowMaker, ora col supporto per il Drag 'n Drop attivo.
Ora non ci serve altro che uno script adatto allo scopo.
E siamo fortunati: trash! Una serie di script in python che si integrano con le specifiche FreeDesktop, e quindi anche con il cestino di KDE e degli altri desktop manager (leggi Gnome, XFCE, eccetera).
Cosa manca? Un appicon che faccia quello che vogliamo. Createne una, magari prendendola in prestito da altre applicazioni e modificatela a vostro piacimento. Questa la mia, presa in prestito da Gimp:L'icona la scegliete voi, ricordando che rimarrà statica e non cambierà se svuotate il cestino. I comandi impostati sono abbastanza intuitivi: doppio click sinistro e apre Konqueror nella directory del cestino; click col tasto centrale e svuota il cestino utilizzando uno degli script in python di cui sopra; trascinamento di un file sull'icona e relativa cestinazione dello stesso, tramite script di cui sopra.

Bugs.

Ci sono. Personalmente ho verificato riavvii improvvisi di WindowMaker passando da console a X, e comportamenti strani del supporto DND: in particolare, prima devo avviare un file manager in GTK (Thunar), e usare il Drag 'n Drop prima che un'applicazione QT (Konqueror) sia in grado di utilizzarlo con successo. Qualche vostro feedback sarebbe utile.

[Update - 13/04/2008]
C'è anche un bug negli script in python: in particolare, il restore dei file dal cestino funziona solo da linea di comando con lo script restore-trash mentre da Konqueror non funziona.
[/Update]

[Update - 05/05/2008]

Dolphin è il file manager d'obbligo da usare con l'opzione columns, che lo rende molto simile all'originale Workspace Manager di NeXTStep. Aspettiamo il rilascio di KDE 4.1 per qualcosa di davvero stabile.
[/Update]

[Update - 11/11/2008]

I bug degli script in python sono stati corretti. Ora funzionano alla perfezione, grazie agli sviluppatori. Rimangono da risolvere due questioni: l'uso del Drag 'N Drop con le applicazioni QT (vedi sopra) e il comportamento di Dolphin che non aggiorna il contenuto della directory Trash in automatico.
[/Update]

Vi lascio con due screenshot :)

03 aprile 2008

Linux e la gestione della RAM difettosa

Avete crash improvvisi dei vostri programmi preferiti? Non riuscite a riprodurli per mandare un bug-report agli sviluppatori? Il make vi da sempre errori diversi ad ogni tentativo di compilazione?
Se avete risposto "sì" ad almeno una di queste domande, prendete in seria considerazione il fatto che la vostra RAM sia andata a donna di facili costumi.

Che fare?
  • Comprare altra RAM.
Se siete fortunati come me, e avete una motherboard che supporta solo memorie Rambus (sì, ho un sistema un po' vecchietto), diventa complicato aspettare che su Ebay compaia l'asta che fa per voi.

  • "badram" @ google.it
E anche qui le opzioni sono due. Quella usata da me, per questioni di tempo, è stato quella di passare l'opzione mem al bootloader (in LILO: append = "mem=xM" dove x è il valore in MegaByte).
Dalla man page di LILO:
mem=###[,K,M,G]
Specifies the maximum memory in the system in bytes, kilobytes,
megabytes, or gigabytes. This option is not removed from the
command line, and is always passed to the kernel.
Prendiamo come esempio pratico quello del mio sistema. Avendo notato che i problemi nascevano quando l'utilizzo della memoria raggiungeva livelli elevati (grazie WMMemLoad!) ho prima escluso l'ultimo banco di memoria (la mia configurazione è 4*256, quindi 1024-256), e successivamente il secondo. Ora mi trovo con un giga di RAM dei quali ne posso utilizzare la metà.

L'altro metodo, stilisticamente più corretto ma un poco più macchinoso, è quello di usare la patch BadRAM per il kernel Linux: in questo caso non viene limitato l'uso a un certo numero di MegaByte di memoria, ma si suggerisce al kernel quali sono i blocchi danneggiati da evitare.

Make your choice!

29 ottobre 2007

Memor aka Soundwave: dalle musicassette del 1984 alle miniSD del 2007


Esco un po' fuori tema, anche se parlare di Transformers porta la mente ad una ventina di anni fa. Si respira aria vintage.

Ecco come si presentava Soundwave (Memor in Italia), il Decepticon più fedele a Megatron. Era un bello stereo per il tempo, con le sue musicassette che diventavano robot animali e spie adatte ad ogni occasione! Era il 1984.

Nel 2007 Soundwave si presenta con la stessa aria cattiva e possente di un tempo, ma di tecnologia rinnovata.

Il mangiacassette ha lasciato il posto ad un lettore di memory card (miniSD, personalmente non ne ho testate di dimensioni maggiori di 1 Giga).
Sì, la domanda è lecita: cosa se ne fa Soundwave di una miniSD nel petto? La usa come memoria per leggere gli mp3 (fino a 128 kb di bitrate: non è un iPod)!

Come miniSD ho scelto una SanDisk, mentre come lettore di memory card ho optato per quello che passa il convento (Carrefour di Portogruaro): SBS Card Reader 29 in 1 USB 2.0 GDR007 http://sbs-power.com/product_detail.asp?pID=312 .
Nonostante quello che riporta il sito, la compatibilità con i sistemi operativi va aggiornata anche a Linux 2.6 e udev/hal/dbus. Una volta collegato il dispositivo alla porta usb (da cui succhia energia per vivere) del pc, questo viene riconosciuto come periferica di archiviazione di massa e Nautilus, o chi per lui, ce lo mostra tra i dispositivi collegati al computer:


Fin troppo facile, una volta c'era più gusto a fare queste cose.
Che altro dire? Soundwave funziona con una batteria ministilo (AAA) e ha un led blu che indica il funzionamento durante l'uso come lettore mp3. I pulsanti presenti sotto il coperchio dove si inserisce la memory card, consentono di saltare tra un brano e l'altro, alzare e abbassare il volume, e naturalmente far partire e fermare la riproduzione. Nella confezione ci sono solo istruzioni in giapponese (giapponese stretto, non provate a decifrare gli ideogrammi!).
Vi lascio con l'immagine della confezione come l'ho vista io appena scartata dall'imballo, con Soundwave Spark Blue in riposo tra cartone e plastica.

Soundwave, sounds good!

27 marzo 2007

Su Slackware, Gnome, e la pigrizia: la via della sperimentazione

Da pochi giorni, Volkerding ha messo mani al changelog di Slackware -current, e io da bravo bleding edger quale sono ho masturbato la mia vetusta installazione (non ripulivo l'hard disk da Slackware 9.1) aggiornando al solito, vecchio e sensuale modo, come piace alla mia donna preferita: con le mani.
Scarico i pacchetti, è una domenica sera uggiosa, violentata dai pensieri di quell'idiota che è riuscito a farmi incazzare il pomeriggio prima... Intanto guardo la tv, spenta, visto che non trasmettono un emerito cazzo da mesi nell'etere.
Torno dalla scorribanda televisiva, è tardi, il giorno dopo avrò il turno mattutino (bene, tempo per le bisite il pomeriggio!): sono indeciso se dare l'upgradepkg ora o domani, ripetendomi l'UPGRADE.TXT in testa più volte:

repeat
begin

0) init 1 ;
1) upgradepkg glibc-solibs-* ;
2) upgradepkg pkgtools[TAB]
(magie di bash_completion) ;
stachezza:=stanchezza+1;
end;
until stanchezza=11;


Me, disgraziato:
Upgrade your glibc shared libraries. This is important, or things
might go haywire during the first part of the upgrade.

root@lounge# upgradepkg *.tgz
[CTRL+C] [CTRL+C] [CTRL+C]

root@lounge# ls
Segmentation fault
root@lounge#


A nulla sono serviti i miei tentativi di "bootare" da cd, usare chroot: le cose non si fanno a caso, la teoria non basta.

"It's time to back-up!"
Gigabytes di perversioni salvate. E con loro tutta la mia vecchia /home/michele.
La fedeltà alla mia regina, mi ha portato all'acquisto del cofanetto di sei cd di Slackware Linux 11.0: li ho usati.
La fedeltà di cui sopra mi aveva anche costretto, non senza sommo piacere, a tenere alla larga dal mio sistema tool automagici che tanto ricordavano quelli propagandati dal lato oscuro della forza(Debian, NdS.). Tuttavia, questioni di tempo, e soprattutto di merging nel tree ufficiale della distribuzione, mi hanno spinto a provarli.

Slackpkg, funziona. Confronta il changelog di Slackware -current (o delle altre versioni, previa configurazione, a mano) con i pacchetti installati, e propone aggiornamenti, e installazione di nuovo software. Dall'interfaccia in ncurses, è possibile selezionare pacchetto per pacchetto in base alle proprie esigenze di aggiornamento. Quello che trovo di estremo interesse in questa dis-utility è il comando: slackpkg clean-system, che elimina dal sistema i pacchetti non più presenti in Slackware. Penso non ne farò a meno.

Portpkg, funziona anche lui. Non è altro che un sistema di ports per Slackware. La cosa interessante (un po' come per i ports di diabolica memoria (BSD, NdS.) o il portage di Gentoo (ma guarda un po')) è che l'amministratore di sistema può mettere mano a tutti gli Slackbuild a disposizione, e crearsene di nuovi. Un buon metodo se volete usare sempre l'ultima versione dei vostri programmi preferiti, senza dare ad ogni release gli stessi comandi per la compilazione. Con lui ho ridotti i tempi di una compilazione manuale di Gnome, utile.

Con il sistema installato e pronto all'uso, mi preparo a rimettere in piedi una brutta copia del sistema che ero riuscito a costruire in tre anni di isolazionismo dalle tentazioni di un desktop environment: il mio WindowMaker riusciva a conciliare orpelli moderni con il suo dannato fascino vintage. Per fare ciò, mi appoggiavo alle librerie di Gnome, tra le innocue Gtk+ e le decine di viziose dipendenze che ogni programma con la "G" davanti, si portava dietro. All'inizio usando ancora l'installazione di Gnome 2.6 di un'imprecisata versione di Slackware, poi aggiornando a mano (portpkg invero mi ha aiutato con qualche automatismo) pacchetto per pacchetto a Gnome 2.16.
La via scelta in questi giorni è stata diversa: automatismi o binari. Fallita la prima strada (http://www.mkanet.de/data/faq/faq.html), troppo tedesca, al via la prova delle distribuzioni Gnome per Slackware:
- Freerock Gnome (GSB - Gnome SlackBuilds): ricordo di aver prelevato da loro pacchetti binari di pregevole fattura, purtroppo però la versione attuale stabile è la 2.14.3;
- Dropline Gnome: manie di protagonismo che vanno ad intaccare troppe cose della mia donna: è più sexy quando è pulita piuttosto che truccata;
- GWare: la scelta che ho fatto: gli unici pacchetti che ha sovrascritto sono stati le GTK+ (con atk, pango, glib2, eccetera) e DBus. Stop.
Nonostante l'ottimo prodotto, ritrovare un sistema totalmente usabile con sottofondo Gnome, non è affatto immediato. Manca di linee guida basilari per la creazioni di applicazioni: chiunque può scegliere un linguaggio, scriverci dei bindings alle GTK+ e crearsi le proprie applicazioni: così, oltre a combattere con le dipendenze gnomiche, avrai anche quelle per Python, Perl, con i fastidi di un linguaggio interpretato. Senza contare la necessità di vivere in Slackware -current.

Ora basta, vado a prepararmi. Esco a cena con Qt. Probabilmente sarà solo una serata in compagnia di una bella donna, ma tanto basterà per farmi capire se tornare a casa per restare o per preparare le valigie.

28 giugno 2006

Samba? IPP dancing!

La scenografia è una LAN. I personaggi si caratterizzano assai bene, qualcuno a pelle può stare anche antipatico. La vicenda porta i nostri protagonisti a stampare: la stampante è collegata via USB al client Linux, che farà da server.

La stampa per Linux non è un problema. Un modulo fatto apposta per le stampanti USB (usblp), una stampante HP (hpjis) e tutto fila liscio con l'interfaccia web di CUPS. Ora, per portare la mia linux-box al rango di print-server occorre modificare il file di configurazione di CUPS per dirgli, semplicemente, di ascoltare in LAN:

< location >
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.*
< / location >

Windows si sente un po' retrò in questo periodo e decide di vestirsi come nel '98. Lui per stampare ha due strade: ballare la Samba o mettere un pizzico di modernità tra le pieghe del suo stack (TCP/IP nds.). Scarichiamo quindi l'estensione IPP per Windows 98 da: http://www.microsoft.com/Windows98/downloads/contents/WUPreviews/IPP/, installiamolo, scarichiamo i driver per Win32 relativi alla stampante, e procediamo all'installazione seguendo i cari wizard. Purtroppo i driver HP per Windows, nonostante la stessa HP abbia sviluppato assieme a Microsoft l'estensione IPP per Win32, non funzionano come devono, e stampano... come uno specchio! Corriamo ai ripari con i driver PostScript generici che fornisce l'Adobe stessa:
http://www.adobe.com/support/downloads/product.jsp?product=44&platform=Windows. Modifichiamo quindi il driver della stampante con quello PostScript generico, e tutto va alla perfezione.

Anche NeXTStep si sente retrò, ma al contrario di Windows, vuole mantenere a tutti i costi il suo alone di vintage. Lui vuole addirittura che si simuli un server HP JetDirect. La malleabilità di Linux in questo caso ci è di estremo aiuto: inseriamo in inetd.conf la seguente riga, e poi ricordiamo di avviare il superdemone:

9100 stream tcp nowait lp /usr/bin/lp lp -d < coda di stampa >

e con una modifica ai file mime.convs e mime.types di CUPS, per permettere la stampa in raw, abbiamo una NeXTstation che stampa nella nostra rete locale.

Più facile la vita per Tiger. MacOSX, per la sua natura diabolica (BSD nds.), viene già con CUPS installato. E' sufficiente quindi scaricare i driver ESP Ghostscript e HPJS per MacOSX (http://www.linuxprinting.org/macosx/hpijs/), installarli, e aggiungere una stampante dal wizard che gli esteti del buon Jobs ci propinano per la nostra causa.

Samba?

Links

#Linux-help @ irc.Azzurra.org: http://pollycoke.wordpress.com/

Rewriting WindowMaker: http://nextmaker.blogspot.com/

NeXT Computer forum: http://www.nextcomputers.org/forums/

02 gennaio 2006

Tips&Tricks

Indice:

CSH completion on NeXTStep 3.3
OpenOffice.org 2.0 e temi GTK+
Masterizzatore esterno USB: i moduli necessari
Aggiornamenti in Firefox ed estensioni
Ripristino delle configurazioni di default in NeXTStep
NTP client e fuso orario in NeXTStep
Firefox e Flashplayer Plugin



Da quanto ho visto, sembra che di default questa funzione non sia attiva. Per attivarla digitare:
set filec=1

e per rendere le impostazioni permanenti, modificate i file .cshrc nella home degli utenti. A questo punto premendo Escape o Ctrl+D avremo il completamento e le varie possibilità.

Per far usare i temi GTK+ anche a OpenOffice.org, esportate la seguente variabile nel file ~/.profile come segue:
export OOO_FORCE_DESKTOP="gnome"

quindi rileggete l'environment locale con:
. .profile


Da "lsmod":
[...]


usb_storage 33540 0
scsi_mod 99432 3 sg,sr_mod,usb_storage
usbcore 121084 6 ohci_hcd,ehci_hcd,usb_storage,uhci_hcd


[...]

in un kernel Linux 2.6.

Spesso, aggiornando a nuove minor release di Mozilla Firefox, le vecchie estensioni e temi non funzionano più. Questo è dovuto ad un mancato aggiornamento delle stesse, o se vogliamo, ad un ristretto range di compatibilità con le versioni del browser. Le estensioni non sono altro che archivi compressi con zip, quindi gestibili tranquillamente. Ma vediamo un esempio:

unzip it.xpi
Archive: it.xpi
creating: chrome/
inflating: chrome/chromelist.txt
inflating: chrome/it.jar
inflating: chrome.manifest
inflating: install.rdf

Il file che ci interessa è l'install.rdf, un file xml, facilmente interpretabile e modificabile. Noi dobbiamo mettere mani alla sezione <em:targetapplication> </em:targetapplication>, modificando i valori di:

<em:minVersion> 1.5 </em:minVersion>
<em:maxVersion> 1.5.0.1 </em:maxVersion>


secondo le nostre esigenze. Una volta salvato il file, possiamo ricreare l'archivio col comando zip.


A volte capita di sbagliare qualche configurazione, compromettendo il boot della macchina (in realtà si arriva comunque ad una shell root). Per ripristinare le configurazione di default sicuramente funzionanti è sufficiente eseguire i seguenti comandi: l'interpretazione degli stessi è elementare:

mv /etc/netinfo /etc/netinfo.OLD
mv /etc/hostconfig /etc/hostconfig.old
cp -rp /usr/template/client/etc/netinfo /etc
cp /usr/template/client/etc/hostconfig /etc




Una volta inserita una semplice riga in /etc/rc.local per la sincronizzazione via ntp al boot del sistema (vi rimando al man di ntp per la configurazione dello stesso), si dovrà selezionare nelle Preferenze per la data e l'ora di Preferences.app, il fuso orario CET - Europa Centrale. Al contrario, usando GMT+1 si sarebbe in ritardo di un'ora (http://it.wikipedia.org/wiki/GMT).

Firefox 3.0.3 e Shockwave Flash 10.0 r12 sono una configurazione funzionante. Tuttavia ho notato che dopo alcuni giorni di utilizzo, Firefox ha dei freeze quando si guardano filmati in flash dal browser che richiedono un kill all'applicazione. Se anche voi notate un comportamento del genere, la soluzione è abbastanza semplice: far rigenerare a Firefox i file ~/.mozilla/pluginreg.dat ~/.mozilla/firefox/profilo.default/pluginreg.dat e ~/.mozilla/firefox/profilo.default/xpti.dat. Quindi, una volta chiusa la sessione corrente del browser, rm $file_di_cui_sopra e avviare Firefox.