Stampare da Linux su una stampante non supportata
Introduzione:
Se avete una stampante, che non è supportata in Linux, con questo articolo scoprirete come poterla utilizzare. In esso illustro come sono riuscito a stampare con una Dell 962 su Debian Etch 4.0 sfruttando l'emulazione e la virtualizzazione. Naturalmente i concetti di questo articolo possono essere applicati a qualunque altro modello di stampante.
In generale in ambiente Linux per poter stampare è necessario avere una stampante con i driver sviluppati per Linux od una stampante postcript. Mancando entrambe queste caratteristiche non è normalmente possibile installare la stampante. Tuttavia, è possibile emulare una generica stampante postscript, in Windows, e condividere la stessa come stampante di rete, a cui si riesce ad accedere da Linux. Sfruttando la virtualizzazione è possibile installare il server windows, contenete la stampante in emulazione postcript, direttamente in Linux. Per cui con un unico pc sono in grado di stampare su di una stampante non direttamente supportata da Linux.
Quindi i passi necessari per stampare da Linux su una stampante non supportata, illustrati in questo articolo sono:
- installare Windows Server 2003 su una macchina virtuale;
- attivare l'emulazione postscript per una stampante windows
- condividere una stampante in una rete Windows e Linux
- installare una stampante di rete in Linux
Fonti e Ringraziamenti:
Ringrazio gli autori degli articoli seguenti per avermi fornito l'idea alla base di questo how-to:
Articolo originale: "PostScript Emulation for Network Printing"
Traduzione italiana: "OpenLinux - Emulazione PostScript su Windows per condividere una stampante in rete."
Inoltre molti dei comandi, qui indicati, sono stati estratti dal libro: "Integrare windows e linux" di Jeremy Moskowitz e Thomas Boutell edito da Tecniche Nuove.
Software necessario:
Prima di procedere all'installazione è necessario verificare che siano installati, sulla Suse 10.2, i seguenti pacchetti. Per far ciò lanciate l'applicativo "Software Management" da YaST. I pacchetti da verificare sono:
- gcc
- gcc-c++
- kernel-source
- kernel-syms
- make
- ncurses-devel
- qt3-devel
Scaricare VMware 6:
Collegarsi al sito della VMware a questa pagina: http://www.vmware.com/products/beta/ws/, verrà richiesta una semplice registrazione, inserire i propri dati. Selezionare la versione di VMware per linux e scaricare il file con estensione tar.gz .
All'inizio della pagina di download è specificato il numero seriale da utilizzare per attivare la macchina virtuale. Stampatelo perchè vi sarà richiesto in seguito.
Installare VMware 6:
Dopo aver scaricato il sorgente procede all'installazione degli stessi seguendo le istruzioni sotto:
- Aprite un terminale e collegatevi come root
- Andate alla directory dove avete scaricato il file sorgente di VMware ( cd direcory_di_download )
- Scompattate il file sorgente (tar xvzf nome_file_sorgente_da_VMware.tar.gz)
- Cambiate directory ( cd vmware_distrib)
- lanciate l'installazione di VMware (./vmware-install.pl)
- Seguite le istruzioni a video
Registrare VMware 6:
Dopo l'installazione si puo' lanciare VMware da riga di comando (digitando vmware) oppure selezionando dal K menu', sezione "applicazioni" --> "nuove applicazioni" .
Una volta aperto è necessario inserire il numero seriale, indicato nella pagina di download.
Il numero seriale si inserisce dal menù Help --> "Enter Serial Number..." , vedi figura sotto.

Conclusioni prima fase:
A questo punto l'installazione di VMware è terminata. I passi successivi illustrano come attivare le porte USB sulla macchina virtuale. Quindi se non avete necessità di collegare stampanti USB o chiavette USB potete saltare i passaggi successivi.
Compilare il kernel:
Con l'installazione classica di VMware su distribuzione SUSE non è possibile utilizzare i device USB (stampanti, dischi, ecc) in quanto VMware rileva questi device sfruttando le informazioni presenti in /proc/bus/usb, che per questioni di sicurezza non è abilitato, nella SUSE, quindi per aggirare il problema è necessario ricompilare il kernel abilitando questa opzione.
La metodologia per compilare il kernel SUSE, illustrata in questa guida, non è l'unica disponibile. Ne esistono altre, pero' non è scopo di questa guida illustrarle.
I passi per attivare i device USB sono i seguenti:
- Aprire un terminale e collegarsi come root
- Andiamo alladirectory che contieni i sorgenti del kernel (cd /usr/src/linux )
- Cancelliamo eventuali vecchie installazioni (make mrproper )
- Facciamo una copia del file di configurazione della Suse, da utilizzare come base per le nostre successive modifiche:
cp /boot/config-`uname -r` ./.config - Lanciamo l'interfaccia di configurazione dei parametri del kernel. In questo esempio utilizzo l'interfaccia X ( make xconfig ), ma in caso di problemi puo' essere utilizzata l'interfaccia a menù ( make menuconfig )
- Importiamo il file di configurazione della Suse, che abbiamo copiato prima (Il file si chiama .config). Per importare il file clicchiamo sull'icona gialla di apertura file e selezioniano la directory che contiene il file .config. Vedi immagini sotto.

- Modifichiamo il nome del kernel in modo che non vada a sovrascrivere il kernel attualmente in uso, così in caso di problemi possiamo comunque far partire il sistema con il vecchio kernel. Selezioniamo la voce "General Setup", doppio clik sulla voce "local version-append to kernel release:" ed inserite un nome a piacimento.

- Modifichiamo il Device USB necessario a VMware. Per far ciò premiamo CTRL-F, per per aprire la finestra di ricerca, e digitiano USB_DEVICEFS e spuntiamo la casella che compare

- Salviamo ed usciamo dalla finestra di configurazione
- compiliamo il kenrel con il comando:
make rpm
I tempi di attesa possono essere di alcune ore a seconda del tipo di pc. - Installiamo il kernel con i seguenti comandi:
cd /usr/src/packages/RPMS/i386/
rpm -ivh kernel-2.6.18.2lore.i386.rpm
mkinitrd - Ora è necessario configurare il bootloader GRUB in modo che si possa selezionare il nuovo kernel all'avvio del pc. Apriamo YAST e selezionando la voce "configurazione Boot loader". All'apertura della finestra sotto, selezioniamo "Open Suse 10.2" e poi premiamo il pulsante "Aggiungi" per inserire una nuova voce al boot del pc.
S - Selezioniamo "Clone selected section", per duplicare la configurazione attuale.

- In questa finestra inseriamo il nome della nuova voce che comparirà al boot del pc,
modifichiamo il "Kernel Image" e "initial Ram disk", selezionando i nuovi file che sono stati installati durante il passo 11. I file si trovano nella directory /boot

- Salviamo ed usciamo. Ora riavviando il pc, se tutto è andato bene, possiamo lanciare il nuovo kernel
Configurazione VmWare:
Eseguendo VmWare, ora, andrà in errore, in quanto è stato cambiato il kernel di riferimento. Per ovviare al problema basta semplicemente rilanciare l'installazione di VmWare (come illustrato all'inizio dell'articolo), oppure seguite le seguenti istruzioni:
- Andate all directory contenente i file d'installazione di VmWare ( cd vmware_distrib)
- lanciate l'installazione di VMware (./vmware-install.pl)
- Seguite le istruzioni a video
Configurazione USB:
L'ultimo passo è attivare il device USB. Possiamo fare questo manualmente con il comando
mount -t usbfs /dev/bus/usb /proc/bus/usb
oppure modificare il file /etc/fstab in modo che il comando venga eseguito in automatico all'avvio del pc. Per vare questo apriamo il file /etc/fstab, cerchiamo la riga che inizia con usbfs, ed in questa riga sostituiamo noauto con auto

Conclusioni e riferimenti:
Terminata questa procedura siamo in grado di utilizzare le porte USB all'interno della macchina virtuale.
Per maggiori dettagli mi potete contattare via mail a questo indirizzo: lore@aserei.it
potete, inoltre fare riferimento ai seguenti link:
- How To Compile A Kernel - The SuSE Way
http://www.howtoforge.com/kernel_compilation_suse - Setting up VMware on SUSE Linux
http://en.opensuse.org/Setting_up_VMware_on_SUSE_Linux
