Stupid OS/2 Tricks


Introduzione

Iniziamo qui la pubblicazione di una serie di Tips & Tricks adattati dall'originale "Stupid OS/2 Tricks", copyright 1993-95 Melissa Woo .
Questo lavoro o parte di esso non può essere riprodotto o redistribuito in alcuna forma senza previa autorizzazione dell'autrice. È comunque permessa la libera distribuzione del formato elettronico per scopi non commerciali.

In questo numero tratteremo gli argomenti relativi al sistema operativo in generale, validi anche per l'OS/2 versione 2. Alcuni di essi non sono validi per la versione 3 e superiori.
Nei prossimi numeri verranno trattati i seguenti argomenti:

Sommario:


Come impedire il riavviamento delle applicazioni al boot
Quando viene avviato il sistema le applicazioni che erano state lasciate aperte durante l'ultima chiusura del sistema vengono riavviate automaticamente.
Si può evitare ciò disabilitando permanentemente questa funzione aggiungendo la riga:

SET RESTARTOBJECTS=STARTUPFOLDERSONLY, REBOOTONLY
(Ndt - È anche possibile rimuovere solo la voce PROGRAMS dalla direttiva SET AUTOSTART.)

Se invece si desidera disabilitare solo temporaneamente tale funzione è sufficiente mantenere premuti i tasti Ctrl, Maiuscolo sinistro e F1 da quando appare il puntatore del mouse finché non cominciano ad apparire le icone sulla scrivania. Se il disco si ferma, rilasciare solo per un istante i tasti e tornare a premerli.

Chiusura del sistema senza mouse
Per chiudere il sistema senza dover fare uso del mouse:

  1. premere Ctrl-Esc per far apparire l'elenco delle finestre,
  2. selezionare con i tasti freccia la scrivania,
  3. premere Invio,
  4. premere il tasto Tab per deselezionare tutte le icone,
  5. premere Maiuscolo-F10 per far apparire il menu della Scrivania,
  6. selezionare Chiusura.

Riavviamento del sistema da riga di comando

Per riavviare rapidamente il sistema dalla riga di comando, digitare:

SETBOOT /B
Ciò funziona solo se è installato il Boot Manager.
In alternativa si può usare:
SETBOOT /IBD:<drive>
dove <drive> rappresenta la lettera dell'unità o partizione che si vuole avviare.
(Ndt) Con questo sistema, come premendo Ctrl-Alt-Canc i dati presenti nella cache e nel file di Swap vengono prima scaricati sul disco fisso, però non vengono aggiornati alcuni dati dei file INI. Eventuali cambiamenti di posizione o dimensione di alcune finestre (quelle che registrano tali dati nel file OS2.INI piuttosto che in un proprio file INI) e posizionamenti di icone sulla scrivania, effettuati dall'ultimo avviamento del sistema, vengono perciò persi. Se non avete comunque cambiato niente di importante potete tranquillamente usare questo sistema.
In alternativa al poco utile script REXX proposto nella versione originale di Stupid OS/2 Tricks nella rubrica dedicata al REXX troverete la descrizione di una utility che vi permetterà di riavviare le varie partizioni presenti sul vostro sistema semplicemente cliccando sulla corrispondente icona e poi sul tasto di conferma in una dialog box.

Impostazioni originali degli oggetti

Una descrizione dettagliata degli oggetti creati durante l'installazione del sistema è contenuta nel file INI.RC nella subdirectory \OS2 . Avendo un pò di pratica con il REXX è possibile usare le informazioni in esso contenute per ricostruire, in caso di necessità, gli oggetti originali.
(Ndt) Questo argomento verrà trattato approfonditamente, accompagnato da esempi pratici e utility REXX, in uno dei prossimi numeri nella rubrica dedicata al REXX.

Ordine di esecuzione degli oggetti nella cartella Avviamento

È possibile controllare l'ordine secondo il quale sono eseguiti i programmi presenti nella cartella di avviamento:

  1. Aprire la cartella di Avviamento secondo a modalità di visualizzazione ad una o più colonne,
  2. Disporre gli oggetti secondo l'ordine di esecuzione desiderato.

Backup dei file INI

La maggior parte della configurazione del sistema viene memorizzata in due file, OS2.INI e OS2SYS.INI. Per effettuare il back up di questi è sufficiente aggiungere le seguenti righe al file CONFIG.SYS:

CALL=<drive1>:\OS2\XCOPY.EXE <drive2>:\OS2\OS*.INI <drive3>:\<path>
dove: Nota: Il CSD della versione 2.11 aggiunge l'attributo di sistema ai file INI. Nel caso si usi tale versione è quindi necessario aggiungere l'opzione /T al comando XCOPY .

(Ndt) Per effettuare la copia sia dei file INI correnti che di quelli precedenti aggiungere le seguenti righe al CONFIG.SYS:

CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INX C:\OS2\*.INY
CALL=C:\OS2\XCOPY.EXE C:\OS2\OS2*.INI C:\OS2\*.INX
dove bisognerà sostituire a C la lettera di unità relativa al proprio sistema.
Nota: La prima volta che il sistema verrà riavviato, dopo la modifica del CONFIG.SYS, durante il boot verrà visualizzato un messaggio di errore perché ancora non esiste alcun file *.INX. Non vi preoccupate, tale messaggio, ovviamente, sparirà al prossimo boot.

Una soluzione non molto differente, suggerita da Jorge Omar, prevede la creazione di un file batch chiamato BACKINI.CMD.

  1. Creare un file batch chiamato BACKINI.CMD:
        ATTRIB -S <drive>:\OS2\OS2*.INI
        COPY <drive>:\OS2\*.BK1 <drive>:\OS2\*.BK2
        COPY <drive>:\OS2\OS2*.INI <drive>:\OS2\*.BK1
        ATTRIB +S <drive>:\OS2\OS2*.INI
    
    dove <drive> rappresenta la partizione in cui è installato OS/2.
    Nota: Il comando ATTRIB è necessario solo per l'OS/2 versione 2.11 e successivi.
  2. Aprire la cartella Maschere.
  3. Trascinare un oggetto Programma nella cartella di Avviamento.
  4. Nel blocco delle Impostazioni che si aprirà riempire il campo Percorso e nome file: con i dati del file BACKINI.CMD.
  5. Selezionare il separatore Sessione e la check-box Avvio ridotte al minimo.
  6. Chiudere il blocco Impostazioni.
Una variante del file BACKINI.CMD si può creare usando il comando XCOPY con le opportune opzioni:
XCOPY <drive>:\OS2\*.BK1 <drive>:\OS2\*.BK2 /T /R /O
XCOPY <drive>:\OS2\OS2*.INI <drive>:\OS2\*.BK1
Nota: è opportuno creare dei file OS2.BK1, OS2.BK2, OS2SYS.BK1, OS2SYS.BK2, trascinando e rinominando degli oggetti file di dati dalla cartella Maschere prima che BACKINI.CMD sia avviato per la prima volta.

(Ndt) Nella pagina seguente troverete una utility in grado di svolgere in modo più efficiente questa operazione.

Rimozione dei device driver per incrementare le prestazioni

Se non si usa l'emulazione DOS, è possibile migliorare le prestazioni, rimuovendo i device drivers specifici del DOS e altri driver non utilizzati dal CONFIG.SYS.

Come aumentare la velocità di alcuni driver IDE

(Contributo di Jack Tan)

Provate ad aggiungere alla riga BASEDEV=IBM1S506.ADD del CONFIG.SYS alcuni parametri:

BASEDEV=IBM1S506.ADD /A:0 /U:0 /SMS
usando anche l'opzione /V per controllare l'abilitazione dell'opzione /SMS. Per maggiori informazioni consultare il Riferimento per i Comandi alla voce Basedev.

(Ndt) In Warp il driver IBM1S506.ADD abilita automaticamente il supporto Block Mode (/SMS) se questo è supportato dal disco fisso. Per i nuovi dischi EIDE ci sono inoltre diverse versioni di driver che permettono al controller del disco fisso di trasferire i dati direttamente alla memoria (DMA), liberando la CPU da questo compito con evidenti vantaggi nelle prestazioni del sistema. Con il FixPak n. 19 il driver di default (IBM1S506.ADD) è stato modificato per svolgere la stessa funzione.

Come disabilitare l'uso dei driver del floppy

Per prevenire l'uso del lettore di floppy (per esempio per proteggere una macchina di pubblico accesso) è sufficiente rimuovere dal CONFIG.SYS la riga:

BASEDEV=IBMxFLPY.ADD 
dove bisognerà sostituire alla 'x': '1' per i sistemi basati su bus ISA, VESA, PCI o EISA e '2' per i sistemi Microchannel.

Recupero della memoria dalla cache non usata

È possibile incrementare le risorse disponibili disabilitando la cache inutilizzata. Se il sistema accede esclusivamente ad una partizione formattata in HPFS si può rimuovere (o precedere con un REM ) la direttiva DISKCACHE dal CONFIG.SYS.
Allo stesso modo se si utilizza solo la FAT si può rimuovere la riga IFS=<drive>:\OS2\HPFS.IFS .
Se si accede a file collocati su entrambi i tipi di File System può comunque essere opportuno ridurre la quantità di cache dedicata al tipo di File System cui si accede più raramente.

Messaggi di errore di tipo SYS durante il boot

(Contributo di Jack Tan)

Il messaggio di errore:

OS/2 !! SYS01475 
OS/2 !! SYS02027 
indica che i file di sistema non sono accessibili. Rimuovere eventualmente il floppy disk dal lettore. Se questo messaggio appare durante il boot dall'hard disk, è necessario usare SYSINSTX per ripristinare i file di sistema di OS/2.

Ripristino del backup della Scrivania

(Contributo di Jack Tan)

Per fare in modo che l'uso dei tasti Alt+F1, durante il boot, ripristini l'ultima configurazione di sistema invece che quella di default, sostituire, prima, i file OS2.INI e OS2SYS.INI nella directory \OS2\INSTALL con una copia di backup recente.

Visualizzazione dei file INF

(Contributo di Jack Tan)

Ecco alcuni trucchi per leggere più comodamente i file INF :

  1. Si può mettere insieme il nome di più file, dalla riga di comando o nel campo Parametri del blocco Impostazioni separandone il nome con il carattere "+ ", come , per esempio:
    <drive>:\BOOKS\FILE1.INF+<drive>:\BOOKS\FILE2.INF+ 
    <drive>:\BOOKS\FILE3.INF
    
    Nota: Non è necessario specificare il percorso se i file sono in una directory compresa tra quelle specificate nella variabile di ambiente HELP nel CONFIG.SYS.
  2. È inoltre possibile assegnare un nome a uno o più file INF tramite una variabile di ambiente:
    SET FILE=<drive>:\BOOKS\FILE1.INF+<drive>:\BOOKS\FILE2.INF+<drive>:\BOOKS\FILE3.INF
    
    e eseguire VIEW.EXE con il nome della variabile di ambiente come parametro: VIEW FILE .

Miglior utilizzo della memoria nelle VMB

Quando si carica un file di immagine DOS (Virtual Machine Boot o VMB) l'intera immagine del dischetto viene caricata in memoria. Dato che lo spazio occupato dai file sul dischetto è piuttosto ridotto, la maggior parte della memoria allocata viene sprecata. A questo scopo può essere opportuno usare dischetti a doppia densità piuttosto che dischetti ad alta intensità per creare il dischetto di boot da cui poi si ricaverà l'immagine.

(Ndt) Altre valide alternative sono il Virtual Machine Boot dall'unità C: o l'uso di un'apposita utility ( kort_img.zip) che riduce l'immagine alla dimensione voluta.

Avviamento del sistema in modalità comandi a schermo intero

Il sistema può essere avviato in modalità Comandi a schermo intero, pur conservando il supporto Presentation Manager:

  1. Cambiare nel CONFIG.SYS:
    SET RUNWORKPLACE=<drive>:\OS2\PMSHELL.EXE
    
    in
    SET RUNWORKPLACE=<drive>:\OS2\CMD.EXE /FS
    
  2. Creare un file STARTUP.CMD nella root directory dell'unità di boot di OS/2 contenente le seguenti linee:
    @ECHO OFF
    START /FS
    EXIT
    
    Per avviare la Workplace Shell è sufficiente digitare PMSHELL al prompt dei comandi.

Completamento della chiusura del sistema

Se durante la chiusura il sistema si blocca durante la visualizzazione della richiesta di conferma:

  1. Premere Ctrl-Esc,
  2. aspettare circa un minuto,
  3. nella maggior parte dei casi apparirà una Dialog Box che notifica il blocco della Workplace Shell.
  4. Premere su Invio per chiudere la Dialog Box e riprendere la chiusura del sistema.

File di Swap e prestazioni

Se c'è abbastanza spazio libero sul disco fisso è opportuno cambiare la dimensione di default del file di SWAP (SWAPPER.DAT) per migliorare le prestazioni del sistema editando la direttiva SWAPPATH nel CONFIG.SYS:

SWAPPATH=<drive>:<path> <minfree> <swapsize>
dove <swapsize> rappresenta la dimensione di default del file di swap.
Per stabilire la dimensione ottimale del file di swap monitorare la dimensione di SWAPPER.DAT nel corso di una normale giornata di lavoro, annotando la massima dimensione raggiunta.
Nota: Se la somma delle dimensioni di <minfree> e <swapsize> supera la quantità di spazio disponibile nel disco fisso (esclusa la quantità già occupata dal file di swap) il sistema non si avvierà al prossimo boot.

Uso di SVGA.EXE in una DOS VMB

(Contributo di Jack Tan)

L'esecuzione di SVGA.EXE in una VDM genera normalmente il file SVGADATA.PMI, contenente le informazioni necessarie per abilitare la modalità grafica SVGA.
A volte ci sono dei problemi nel corretto rilevamento del chip della scheda grafica. Allora si può provare ad eseguire SVGA.EXE in DOS reale o in una VMB.
In questo modo verrà generato il file SVGADATA.DOS, che potrà essere rinominato SVGADATA.PMI e copiato nella directory \OS2.

Caricamento dei device driver DOS nella memoria alta

(Contributo di Xavier Caballe)

Per caricare un device driver DOS nella memoria alta in una particolare sessione DOS:

  1. Aprire il blocco impostazioni del programma.
  2. Selezionare il separatore Sessione.
  3. Cliccare sul pulsante Impostazioni DOS....
  4. Selezionare la voce DOS_DEVICE.
  5. Aggiungere SIZE=0 prima del percorso e nome del file del device driver:
    SIZE=0 C:\OS2\MDOS\ANSI.SYS
    
Il device driver verrà caricato nella memoria alta se disponibile.

Sbloccamento dei file INI

(Contributo di Jack Tan)

Se i file INI non vengono aggiornati automaticamente salvando i cambiamenti apportati al sistema, controllate che non abbiano l'attributo di sola lettura. In tal caso provare a disabilitarlo digitando al prompt dei comandi:

ATTRIB -R \OS2\OS2*.INI
Può essere necessario chiudere il sistema e riavviarlo.
Con la versione 2.0 di OS/2 può essere necessario avviare il sistema da floppy per cambiare gli attributi dei file INI.

Riproduzione dei CD Audio tramite REXX

(Contributo di Xavier Caballe)

Il seguente esempio mostra come si può facilmente interagire con i mezzi multimediali tramite il REXX:

/* A "poor-man's" CD player for OS/2 using REXX */
/* Xavier Caballe - December 1993               */

/* Initialize MCIAPI */ call RxFuncAdd 'mciRxInit', 'MCIAPI', 'mciRxInit'; call mciRxInit;

/* Initialize variables */ A = 0; P = 0;

/* Open a CD for subsequent manipulation */ Ordre = 'open cdaudio01 alias cederom wait'; call Executa; say '';

/* Get the number of tracks on the disk */ Ordre = 'status cederom number of tracks wait'; call Executa; say 'Songs on the CD disk:' RetStr; Cancons = RetStr;

/* Get the beginning of each track */ do until A = Cancons A = A + 1; Ordre = 'status cederom position track 'A' wait'; call Executa; say 'The track number 'A' begins at:' RetStr; P.A = RetStr; end;

/* Get the last track */ Ordre = 'status cederom length wait'; call Executa; say 'Last track on the CD disk:' RetStr; UltimaPista = RetStr;

/* Data input */ Repetir:
say ''; say 'Which song do you wish? '; pull Numero; NumeroPlus1 = Numero + 1; CanconsPlus1 = Cancons + 1; P.CanconsPlus1 = UltimaPista; if Numero < 1 | Numero > Cancons then do; say 'Wrong answer.'; Signal Repetir; end;

/* Play the selected song */ Ordre = 'play cederom from 'P.Numerò to 'P.NumeroPlus1' wait'; call Executa;

/* That's all, folks! */ Ordre = 'close cederom'; call Executa; call mciRxExit; exit;

/* Send a MCI command string to MMPM/2 */ Executa:
rc = mciRxSendString(Ordre, 'RetStr', '0', '0'); if (rc <> 0) then do say "Error No = " Ordre; say 'Code No. = ' rc; GetErr = mciRxGetErrorString(rc, 'ErrStVar'); say 'Message =' ErrStVar; end; return

Riproduzione dei file multimedia dalla riga di comando

(Contributo di Jack Tan)

(È necessario aver installato il supporto multimediale)

Per suonare un file audio si può usare PLAY.CMD o MPPM.EXE.

Per suonare il file immediatamente (cioè senza che sia necessario premere il pulsante Play) e chiudere poi la sessione, si deve usare la seguente sintassi:

MPPM.EXE /SC <filename>
dove <filename> è il nome di un file WAV o AVI.

Per non visualizzare la finestra del Media Player utilizzare la seguente sintassi:

START /MIN MPPM.EXE /SC <filename>

Come determinare la presenza del buffer della porta seriale

Una porta seriale bufferizzata (come quella implementata dal chip 16550AF) è spesso necessaria per comunicazioni prve di errori in un ambiente multitasking.

Per determinare se è presente una porta bufferizzata, digitare al prompt dei comandi:

MODE COMx
dove x è il numero della porta seriale che si vuole controllare.
Verrà mostrata la lista delle impostazioni correnti. Se è presente la scritta BUFFER=N/A la porta seriale non è bufferizzata.

Come usare di più stampanti

Se sono presenti più stampanti che usano lo stesso driver, ciascuna collegata ad una differente porta seriale o parallela, l'oggetto stampante può essere configurato così che i lavori da stampare in fase di attesa vengano spediti sulla prima porta libera disponibile.

  1. Aprire il blocco delle Impostazioni dell'oggetto stampante.
  2. Selezionare il separatore Programma stampante.
  3. Evidenziare il driver desiderato.
  4. Selezionare il separatore Emissione.
  5. Tenere premuto il tasto Ctrl e selezionare le porte desiderate.
  6. Chiudere il blocco Impostazioni.

Come vedere il contenuto delle directory Senza Ubicazione

Per OS/2 versione 2.x.
Nella directory Senza Ubicazione vengono collocati i cosiddetti transient objects.
Dato che ogni directory rappresenta una cartella è possibile vedere il contenuto della cartella Senza Ubicazione e gli oggetti apparire e sparire da essa.

  1. Cliccare su Ricercare... dal menu della Scrivania.
  2. Nel campo Cartella di avviamento: specificare X:\ (dove X è l'unità in cui è installato OS/2).
  3. Cliccare sul pulsante Individuare.
  4. Tutti gli oggetti presenti nella root directory dovrebbero apparire in una cartella.
  5. Aprire la cartella Senza Ubicazione1.
Nota: Non manipolate alcuno degli oggetti presenti nella cartella Senza Ubicazione1, limitatevi ad osservarli.
Aprendo e chiudendo delle cartelle sulla Scrivania dovreste vedere gli oggetti apparire e sparire dalla cartella Senza Ubicazione.

(Ndt) In OS/2 Warp, nella cartella Senza Ubicazione1, vengono collocati gli oggetti presenti sul Pannello di Avvio e alcuni oggetti transienti come le porte e i driver di stampa.
Per visualizzare gli oggetti contenuti si deve usare un semplice script REXX (che dovrebbe funzionare anche con le precedenti versioni di OS/2):

/* OPSENZUB.CMD */
call RxFuncAdd 'SysSetObjectDatà, 'RexxUtil', 'SysSetObjectDatà
if \SysSetObjectData("<WP_NOWHERE>","OPEN=DEFAULT;") then
   say ' Impossibile aprire la cartella Senza Ubicazione1'

Cache del lettore CD ROM

È possibile stabilire la cache assegnata al lettore CD ROM aggiungendo un opzione alla fine della direttiva IFS del CONFIG.SYS relativa al lettore CD ROM:

IFS=<drive>:\OS2\CDFS.IFS /C:<number>
number rappresenta il numero di segmenti da 64 Kbyte usati per la cache.
La quantità di default è 2 segmenti, cioè 128 Kbyte.

Come disabilitare la partizione di default dal Boot Manager

(contributo di Jack Tan)

Il Boot Manager può avviare l'ultima partizione che era stata avviata, ma se si seleziona una partizione di default, si perde questa funzione.
Per resettare il Boot Manager in modo che non abbia alcun valore di default si può usare il seguente comando in una finestra comandi OS/2:

SETBOOT /0

Boot di una macchina virtuale DOS dall'unità C:

È possibile creare una Virtual Machine Boot per avviare il vero DOS dall'unità C: piuttosto che da floppy, se l'OS/2 è stato installato in una partizione estesa tramite il Boot Manager.
Per realizzare ciò è sufficiente specificare l'unita C: nel campo relativo all'impostazione DOS DOS_STARTUP_DRIVE.

Ripristino del Master Boot Record

Nel caso il Boot Record fosse corrotto, è possibile ripristinare quello corretto digitando al prompt dei comandi:

FDISK /NEWMBR

a cura di Alessandro Cantatore

Pagina
precedente
Home Page Sommario Pagina
successiva