Newsgroup: it.comp.os.linux.sys
Titolo: [OT?] Problemi di NCurses SOLO da terminale

Ciao a tutti!
Se sono OT scusatemi e indicatemi, per favore, un altro gruppo a cui
chiedere...
Ordunque, ho un Laptop (Toshiba Tecra 8000... non proprio l'ultimo
modello) con una antichissima Fedora Core3 che ha l'unico pregio di
FUNZIONARE su quel Laptop...
Purtroppo ho provato Ubuntu 8.04 e 9.04 e non c'e' verso di vedere la
scheda audio e far funzionare la scheda Wireless, quindi, almeno finche'
non cambio Laptop, mi tengo la FC3...
Su questo Laptop deve girare un programma, scritto in C, che utilizza le
librerie NCurses per generare un'interfaccia pseudografica da terminale.
In effetti il Laptop viene solo usato come "interfaccia utente" per un
robot, quindi il fatto di avere una versione geriatrica del sistema non mi
e' di grande impedimento.
X/xorg NON sono installati e vista la quantita' di memoria e il carico di
lavoro che deve fare, non e' neanche pianificata l'installazione...
Comunque, questo programma, che funziona correttamente se lanciato via
SSH, nel momento in cui mi loggo direttamente da Console e lo lancio mi
trovo il buffo problema di non vedere le "linee" che delimitano le
finestra (lines e box).
Tutto il resto funziona, ma non si vedono queste benedette linee, che poi
sarebbero solo i caratteri &#9484; &#9472; &#9488; &#9474; e nient'altro...
Ho passato la serata a cercare una soluzione, ma non l'ho trovata...
NCurses sono installate nella versione 5.4-13 dai repositories di Fedora
(l'installazione e' avvenuta anni fa...).
Ho provato, giusto per!, a scrivere due righe in PERL che usino NCurses.
Il problema e' lo stesso, quindi decisamente non e' qualcosa che ho
sbagliato in C.
Qualcuno puo' darmi una dritta, o almeno un punto d'inizio?
Grazie
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sarebbero solo i caratteri &#9484; &#9472; &#9488; &#9474; e nient'altro...
non mi pare siano quelli i caratteri
per saperlo, bisogna dare il comando "tput acsc"
la stringa che esce da il codice dei caratteri grafici, preceduti ognuno 
da una lettera che rappresenta in modo univoco il carattere per tutti i 
terminali
non solo, ma bisogna anche attivare il set di caratteri grafici, con 
tput smacs... in pratica, se hai tutto impostatop correttamente, questa 
riga qui dovrebbe mostare le lettere e i caratteri grafici accoppiati
$ tput smacs; tput acsc; tput rmacs
se non funziona, forse c'e' qualcosa che non va nel settaggio della console
forse puoi provare con il comando kbd_mode, o unicode_start
io uso debian, e i comandi per settare la console sono su due pacchetti 
molto simili che si chiamano uno "kbd", e l'altro "console-tools"
-- 
Il Paradiso sono gli altri - Ertras

 molto simili che si chiamano uno "kbd", e l'altro "console-tools"
Anch'io sono un debianista, ma come ho detto, su quel Laptop non c'e'
verso di far andare altro che quella Fedora Core3...
Comunque, stasera provo e vediamo!
Grazie della dritta!


 
(Debian the BEST!!!)
comunque dicevo che i pacchetti .deb son quelli li'... quindi devi 
trovare il rispettivo pacchetto rpm (si chiamera' circa allo stesso modo 
no?)
e li dentro ci sono tutti i comandi che gestiscono il terminale (tra cui 
kbd_mode e unicode_start che forse saranno quelli che ti serviranno...)
questo ovviamente ammesso che tput (come probabilmente fara') non ti 
mostrera' i caratteri grafici
spero che risolvi
ciao


> Stasera provo e vediamo che succede...
perche' non provi anche a mandare una stringa a basso livello?
$ echo -e "\e[11m\xc0\e[10m"
dovrebbe comparirti questo carattere qui (solo sulla console pero', non 
su xterm)
└
se questo lo vedi, e con tput no, significa che hai un problema con terminfo
verifica anche che $TERM sia impostato su "linux", che e' il terminale 
usato dalla console.


 �&#8221;&#8221;
Sicuro che la stringa sia giusta?
Se lo faccio sul PC che uso adesso mi viene:
lucabert@Luca:~$ echo -e "e[11mxc0e[10m"
[10m
Ciao


 �&#8221;&#8221;
OK, sono tonno io... e si che l'hai anche detto tu di farlo da console...
Provato adesso da console su un portatile in ufficio e vedo il carattere
giusto...
Stasera provo sul Laptop incriminato e vi faccio sapere!
Ciao


 molto simili che si chiamano uno "kbd", e l'altro "console-tools"
I due comandi li ho anche con FC3, pero' non e' che mi dicano molto...
Cosa dovrebbe dirmi kbd_mode?
Anche l'echo che mi hai mandato nell'altro messaggio non funziona...
Non si vede proprio niente...
Idee?


 Idee?
una a caso, soprattutto la parte in fondo:
http://www.linux.org/docs/ldp/howto/Text-Terminal-HOWTO-16.html

 
http://www.linux.org/docs/ldp/howto/Text-Terminal-HOWTO-16.html
QUALE parte in fondo? man? :)
Ciao



si, prova a cambiare font
forse il font che hai non prevede i caratteri grafici
per vedere il tuo font dai il comando (sempre da console)
$ showcfont
(oppure $ showconsolefont... ci sono due pacchetti che danno questo tipo 
di comandi)
ci sono 128 caratteri standard, e poi altri 128 caratteri "speciali" tra 
cui quelli con i simboli grafici?
se no, prova a caricare un altro font con
$ consolechars -f nomefont
i font su debian li ho sogtto /usr/shar/consolefonts/nomefont.psf.gz
(han tutti l'estensioen .psf.gz)
per esempio, su debian, questa riga qui
$ consolechars -f /usr/share/consolefonts/default8x16.psf.gz
mi carica quel font li... pero' puo' essere che nel tuo sistema il 
comando "consolechars" non ci sia, e ci sia un'altro al suo posto, che 
fa la stessa cosa... (forse "setfont")
vedi un po' cosa trovi con queste nuove info...
ciao


 non cambio Laptop, mi tengo la FC3...
Ot per ot, hai provato con la nuova Fedora?
Enrico


no, non c'entra niente terminfo
terminfo serve solo per generare la sequenza di caratteri giusta per 
ogni terminale (i caratteri grafici sulla console sono diversi da quelli 
su xterm, tanto per dire...)
ma e' ovvio che nella console, il terminale usato e' lo stesso che 
usiamo tutti, che si chiama "linux" (TERM=linux)
e la sequenza di caratteri per generare un caratteri grafico e' quella 
li che ho scritto alcuni post prima
$ echo -e "\e[11m\xc0\e[10m"
che quindi bypassa terminfo, e lostesso non li visualizza
quindi direi che non e' terminfo il problema, ma il font, o la 
configurazione della console.


 cui quelli con i simboli grafici?
Si, li vedo tutti, compresi quelli che dovrebbero essere usati da
NCurses...
E ora? :)
Ciao


 
Ora purtroppo le mie conoscenze sul terminale finiscono... comunuqe devi 
settarlo
io una volta ho risolto con "kbd_mode -u"
puoi anche provare a dare il comando "unicode_start"
ovviamente verifica che la variabile TERM sia impostata su "linux" e sia 
esportata (export TERM=linux)
quindi per verificare prova la solita riga
$ tput smacs; tput acsc; tput rmacs
spero questo basti... perche' sono alla frutta


 spero questo basti... perche' sono alla frutta
E io ho quasi deciso di cercarmi una scheda WLAN PCMCIA che vada con
Ubuntu e, se non riesco a far andare la scheda audio via OSS, anche una
scheda audio PCMCIA o USB e mandare al rogo quel relitto informatico di
FC3...
Pero', visto che senza il portatile il robot e' totalmente inutile, devo
essere sicuro che WLAN e audio funzionino alla perfezione (come adesso).
E, giusto per!, anche NCurses, che altrimenti ho solo perso tempo...
Grazie comunque per le dritte!


 Grazie comunque per le dritte!
figurati... qui ci vorrebbe qualcuno che conosce bene il codice di 
gestione del terminale, perche' e' sicuro una cazzata... pero'... anche 
la cazzata piu' grande, se non la si sa... potresti provare in un NG 
piu' "figo"... tipo dove sviluppano anche software
se gli spieghi che i font con showcfont li vedi, ma poi ncurses non li 
mostra, forse loro capiscono al volo il problema
comunque per assurdo potresti provare a cambiare terminale, e ad usare 
"TERM=dumb"... e vedere come si comporta il software... magari e' 
abbastanza "intelligente" da mettere i caratteri "+ - ' ," e a creare le 
maschere lostesso
mi spiace non poter fare di piu'... buona fortuna


 maschere lostesso
E' un'idea...
Basta un semplice: export TERM=dumb ?
Se si, provo stasera!
Ciao


 Se si, provo stasera!
si, basta quello... ma non funzionera'...
potresti pero' provare TERM=xterm, in questo modo ti mostrera' le 
masschere con caratteri tipo "lqqqqqqqqqm" pero' intanto dovresti vedere 
bene il resto"
--
se trovi come risolvere in modo pulito, non dimenticarti di postare la 
soluzione....


 soluzione....
Guarda, ho in mente DUE soluzioni, delle quali una la provero' stasera:
1) X minimale e via di XTerm a pieno schermo
2) Compro una nuova scheda Wireless e magari una audio su PCMCIA/USB e gli
installo Ubuntu
Ovviamente la cosa migliore sarebbe buttare nel cesso quello schifo di
Laptop e comprarne un altro che funzioni senza problemi con Ubuntu...
Ma attualmente e' una soluzione per me poco praticabile per via dei
costi...


 No, gia' provato...
Leggo solo ora nel tuo primo post che entrando via ssh funziona.
hai verificato come è settato TERM in quel caso?
Nel caso che fosse sempre 'linux' verifica con infocmp se da console e 
da ssh ottieni le stesse informazioni nei due casi.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >


forse potesti provare ad installare "screen" e a far andare il software 
con quello
comunque strano che impostando "TERM=xterm" non funzioni niente...
mi piacerebbe sapere che ti dice un comando del genere
$ TERM=xterm hexdump -C <(tput smacs; tput acsc; tput rmacs)
e poi magari lo stesso con TERM=linux
e' solo curiosita'... se hai gia' buttato tutto il wc non importa


 e poi magari lo stesso con TERM=linux
Alla fine ho optato per una soluzione integrale...
Dopo aver fatto due prove e ricerche in Internet ho potuto constatare che
Ubuntu 8.04-3 Server funziona benissimo sul Laptop.
Occorre tirare giusto qualche madonna per la scheda Wireless e la scheda
Audio (Driver prism54 al posto di p54pci/p54common usati dal sistema, e
opl3sa2 con qualche piccola configurazione), ma poi funziona.
E il programma con le NCurses funziona perfettamente da terminale...
Avrei dovuto farlo molto prima...
Ciao


 funziona.
Anche io ho una chiavetta USB con prism54 ma mi richiede di caricre il
firmware.  Quello che però ho trovato in rete (o estratto dal driver
di windows) da errori nel caricamento sul device.  Apparentemente 
sembra funzionare perché configura l;ip e il link sembra attivo, ma 
non comunica con l'AP.
Quale firmware viene usato sulla Ubuntu? dove lo hai trovato?
Grazie in anticipo di ogni informazione.


 Grazie in anticipo di ogni informazione.
La mia non e' una chiavetta USB, ma una scheda PCMCIA.
Per farla funzionare con Ubuntu 8.04 devo solo rimuovere i moduli che il
sistema carica da solo (p54pci e p54common) e caricare prism54, dopodiche'
configuro la scheda come al solito con iwconfig.
In pratica:
rmmod p54pci
rmmod p54common
modprobe prism54
iwconfig eth0 ...
Il modulo prism54 e' standard in Ubuntu 8.04.


 Il modulo prism54 e' standard in Ubuntu 8.04.
Lo è anche nella Slackware, ma il mio carica automaticamente i moduli 
p54common e p54usb.  Non trova il firmware (il file deve chiamarsi 
"isl3887usb_bare") perchè la distribuzione non lo include.  Ma con i 
files trovati in rete non riesco a farlo funzionare.


 files trovati in rete non riesco a farlo funzionare.
Come ho scritto, anche a me Ubuntu carica i drivers sbagliati...
Basta rimuoverli e caricare quelli giusti.
E, ovviamente, inserire:
blacklist p54pci
nel modprobe.d/blacklist (o come si chiama in Slackware).
Da quel momento in poi verra' caricato prism54.
