E' stato rilasciato da Google il nuovo ambiente di sviluppo Android basato da IntellJidea al posto di Eclipse.
L'nstallazione su Windows non e' proprio banalissima perche' devono essere configurata alcuni parametri altrimenti Android Studio si installa ma non parte senza neanche dare particolare messaggi di debug
La prima cosa da fare e' verificare (e se non esiste deve essere creata) la presenza della variabile di ambiente JAVA_HOME che punta alla directory di installazione di Java (in questo caso C:\Programmi\Java\jkd-1.7.0_09. Dopo si deve verificare che sia inclusa nella Path la directory di Java bin nel mio caso C:\Programmi\Java\jkd-1.7.0_09\bin
Fatto cio' il programma parte
ma alla prima creazione di un progetto si deve essere necessariamente collegati ad Internet perche' viene scaricato ulteriore software (Gradle) che non e' incluso nel pacchetto di installazione
sabato 18 maggio 2013
mercoledì 15 maggio 2013
Avvio Automatico di applicazione in LXDE
Utilizzando il file del post precedente si puo' mandare in esecuzione una applicazione in LXDE in modo automatico.
Si puo' copiare il file .desktop ed inserirlo in /myhome/.config/autostart
Al successivo login il programma puntato andra' in esecuzione
Si puo' copiare il file .desktop ed inserirlo in /myhome/.config/autostart
Al successivo login il programma puntato andra' in esecuzione
martedì 14 maggio 2013
Icona per applicazione sul desktop di LXDE
Creare una icona per lanciare una applicazione in LXDE non e' cosi' banale come in GNOME o KDE ma sostanzialmente e' abbastanza semplice
si deve creare un file .desktop che deve essere inserito nella cartella Desktop della propria Home secondo il modello sotto riportato
Si puo' specificare il testo dell'icona, il file immagine dell'icona e dove e' ubicato l'eseguibile da lanciare
nome.desktop
------------------------------------------------------
[Desktop Entry]
Name=Race Control
Type=Application
Exec=/usr/bin/Race_control
Icon=/home/luca/cronometro.jpg
------------------------------------------------------
per creare un lanciatore alla directory di home di puo' invece usare
------------------------------------------------------
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=MyHome
Type=Application
Comment=Show home directory
Terminal=false
Exec=pcmanfm ~
Icon=folder_home.png
Encoding=UTF-8
si deve creare un file .desktop che deve essere inserito nella cartella Desktop della propria Home secondo il modello sotto riportato
Si puo' specificare il testo dell'icona, il file immagine dell'icona e dove e' ubicato l'eseguibile da lanciare
nome.desktop
------------------------------------------------------
[Desktop Entry]
Name=Race Control
Type=Application
Exec=/usr/bin/Race_control
Icon=/home/luca/cronometro.jpg
------------------------------------------------------
per creare un lanciatore alla directory di home di puo' invece usare
------------------------------------------------------
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=MyHome
Type=Application
Comment=Show home directory
Terminal=false
Exec=pcmanfm ~
Icon=folder_home.png
Encoding=UTF-8
Ripristinare firmware Samsung su GT-S7500 Ace Plus
Un amico ha cercato di effettuare un aggiornamento del firmware originale del telefono Samsung Ace Plus via OTA (over the air) con la classica conseguenza che il download non e' andato a buon fine ed il telefono, una volta riavviato, presentava solo il bootloader
La versione di Android montata era quella stock della Samsung con la sola differenza che io avevo proceduto a fare l'unrooting ed a modificare la recovery mettendo la ClockWorkMod
Per riprendere il controllo ho scaricato Odin (all'ultima versione disponibile ovvero la 3.07) ed il software originale non-brandizzato(S7500XXLJ3_S7500SERLJ3_SER)
Una volta fatto partire il telefono in Download Mode con la combinazione Vol meno- Home -.Accensione, ho selezionato come PDA il file di ripristino ed ho atteso
Al termine con mia grande sorpresa non solo il telefono e' ripartito (questa era auspicabile e prevedibile) ma si presentava con tutti i programmi e le impostazioni presenti in precedenza al
La versione di Android montata era quella stock della Samsung con la sola differenza che io avevo proceduto a fare l'unrooting ed a modificare la recovery mettendo la ClockWorkMod
Per riprendere il controllo ho scaricato Odin (all'ultima versione disponibile ovvero la 3.07) ed il software originale non-brandizzato(S7500XXLJ3_S7500SERLJ3_SER)
Una volta fatto partire il telefono in Download Mode con la combinazione Vol meno- Home -.Accensione, ho selezionato come PDA il file di ripristino ed ho atteso
Al termine con mia grande sorpresa non solo il telefono e' ripartito (questa era auspicabile e prevedibile) ma si presentava con tutti i programmi e le impostazioni presenti in precedenza al
mercoledì 8 maggio 2013
Samsung ML-2160 e Debian
In generale ho imparato che se si usa Linux e Debian in particolare non si deve comprare hardware di recente produzione perche' non e' garantito il supporto ... pero' visto il costo e visto che il sito Samsung garantisce i driver per Linux (mediante il Samsung Unified Driver) ho deciso di acquistare una stampante laser Samsung ML-2160
La stampante e' come al solito priva del cavetto USB (chissa' perche' non lo danno in dotazione)
L'installazione del Samsung Unified Driver e' tutta gestita mediante interfaccia grafica e si vedono i primi problemi. Mi viene richiesta l'installazione di Sane (che avevo gia' installato) e piu' in generale si vede che l'installer non gestisce le piattaforme a 64 bit
Alla fine dell'installazione viene installata una stampante CLP-300 ed ovviamente la stampante non funziona.
Dal programma di configurazione ho cercato di aggiungere una nuova stampante (i driver della MK-2160 sono in elenco) ma l'operazione risulta impossibile
La soluzione, come spesso accade in Debian, arriva grazie alla buona volonta' di qualche sviluppatore
Dopo aver disinstallato il Samsung Unified Driver si puo' procedere come segue
deb http://www.bchemnet.com/suldr/ debian extra
wget -O - http://www.bchemnet.com/suldr/suldr.gpg | sudo apt-key add -
La stampante e' come al solito priva del cavetto USB (chissa' perche' non lo danno in dotazione)
L'installazione del Samsung Unified Driver e' tutta gestita mediante interfaccia grafica e si vedono i primi problemi. Mi viene richiesta l'installazione di Sane (che avevo gia' installato) e piu' in generale si vede che l'installer non gestisce le piattaforme a 64 bit
Alla fine dell'installazione viene installata una stampante CLP-300 ed ovviamente la stampante non funziona.
Dal programma di configurazione ho cercato di aggiungere una nuova stampante (i driver della MK-2160 sono in elenco) ma l'operazione risulta impossibile
La soluzione, come spesso accade in Debian, arriva grazie alla buona volonta' di qualche sviluppatore
Dopo aver disinstallato il Samsung Unified Driver si puo' procedere come segue
deb http://www.bchemnet.com/suldr/ debian extra
wget -O - http://www.bchemnet.com/suldr/suldr.gpg | sudo apt-key add -
apt-get update
apt-get install samsungmfp-driver
lunedì 6 maggio 2013
Me and Google Maps
venerdì 3 maggio 2013
Zyxel Wap3205
Recentemente mi sono comprato in saldo (il negozio stava chiudendo) l'access point Wap3205 della Zyxel e lo volevo destinarlo come funzione di repeater (prevista di default nel firmware)
Una volta provato mi sono accorto che le antenne non sono cosi' sensibili da raggiungere la rete wireless che devo amplificare ed ho provato ad un usare l'attrezzo come un normale access point ...con una sorpresa
Lo scatolotto mi dice quale e' l'ora giusta collegandosi ad un orologio atomico, mi dice le previsioni del tempo, ha la funzionalita' WPS ma...non ha un DHCP Server interno
Ho provato a montare l'ultimo firmare ma non e' cambiato niente nelle funzionalita'
a proposito: l'ultimo aggiornamento 1.00(BFR.7)C0 e' riconosciuto non essere funzionante per problemi sulla gestione della LAN
Sostanzialmente inutile
Una volta provato mi sono accorto che le antenne non sono cosi' sensibili da raggiungere la rete wireless che devo amplificare ed ho provato ad un usare l'attrezzo come un normale access point ...con una sorpresa
Lo scatolotto mi dice quale e' l'ora giusta collegandosi ad un orologio atomico, mi dice le previsioni del tempo, ha la funzionalita' WPS ma...non ha un DHCP Server interno
Ho provato a montare l'ultimo firmare ma non e' cambiato niente nelle funzionalita'
a proposito: l'ultimo aggiornamento 1.00(BFR.7)C0 e' riconosciuto non essere funzionante per problemi sulla gestione della LAN
Sostanzialmente inutile
martedì 30 aprile 2013
Riconoscimento impronte digitali con Thinkfinger su IBM/Lenovo T61
Prima il pacchetto ThinkFinger era disponibile come .deb ma al momento l'unica possibilita' e' di compilare il programma dai sorgenti
Si inizia quindi scaricando il sorgente della versione 0.3 dal sito di riferimento di ThinkFinger e si spacchetta
Prima di iniziare la compilazione assicurarsi di avere i seguenti pacchetti di sviluppo
apt-get install pkg-config build-essential libtool libusb-dev libpam0g-dev
si crea la directory in cui salvare i dati
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger
make
e come sorpresa il pacchetto non si compila. Il motivo e' l'uso di uno switch obsoleto all'interno del Makefile che si trova nella sottodirectory pam. Infatti la direttiva -strip-all non e' piu' riconosciuta dalle moderne versioni di GCC (il progetto Thinkfinger e' vecchiotto e non piu' aggiornato) ed impedisce il proseguimento della compilazione...si deve procedere editando a mano e cancellando --strip-all
di nuovo
make
make install
e finalmente abbiamo compilato ed installato Thinkfinger
per testarlo
si digita
ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done. Storing data (/tmp/test.bir)... done.
Non e' finita. Per usare il lettore delle impronte digitali come sistema di autenticazione al login si deve configurare Pam
Si inizia quindi scaricando il sorgente della versione 0.3 dal sito di riferimento di ThinkFinger e si spacchetta
Prima di iniziare la compilazione assicurarsi di avere i seguenti pacchetti di sviluppo
apt-get install pkg-config build-essential libtool libusb-dev libpam0g-dev
si crea la directory in cui salvare i dati
sudo mkdir /etc/pam_thinkfinger
dopo di cio' il classico
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger
make
e come sorpresa il pacchetto non si compila. Il motivo e' l'uso di uno switch obsoleto all'interno del Makefile che si trova nella sottodirectory pam. Infatti la direttiva -strip-all non e' piu' riconosciuta dalle moderne versioni di GCC (il progetto Thinkfinger e' vecchiotto e non piu' aggiornato) ed impedisce il proseguimento della compilazione...si deve procedere editando a mano e cancellando --strip-all
di nuovo
make
make install
e finalmente abbiamo compilato ed installato Thinkfinger
per testarlo
si digita
luca@debian:~$ sudo tf-tool --acquirea questo punto si deve far scivolare tre volte il dito sul sensore
ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done. Storing data (/tmp/test.bir)... done.
per verificare il corretto funzionamento
luca@debian:~$ sudo tf-tool --verify
ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>
Initializing... done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done.
Result: Fingerprint does match.
Non e' finita. Per usare il lettore delle impronte digitali come sistema di autenticazione al login si deve configurare Pam
lunedì 29 aprile 2013
Debian 64 bit vs 32 bit
Avendo a disposizione una Debian Box su un Centrino Duo mi sono lanciato nell'uso della Debian 64 bit
Da un certo punto di vista puo' essere utile utilizzare l'architettura a 64 quando si ha molta Ram (>4 Giga) da gestire (e non e' il mio caso) ma nell'uso quotidiano posso dire di non aver trovato particolari giovamenti se non qualche problema in piu'
Nel caso in cui si debba infatti eseguire un programma a 32 bit di cui non e' possibile ricompilare il sorgente e' necessario scaricare tutte le librerie sia in formato 64 bit che in formato 32 bit (i programmi e le librerie a cui sono linkati devono condividere la stessa architettura) con ovvie ripercussioni sull'uso dello spazio disco
Nel caso pratico si deve eseguire il comando
apt-get install ia32-libs ia32-libs-gtk
Un paio di casi di programmi per cui e' disponibile solo la versione a 32 bit sono per esempio Google Earth e Necessitas
La cosa divertente e' che se si tenda di lanciare una applicazione 32 bit in un sistema a 64 bit, indipendentemente dalle flag di esecuzione, il sistema risponde che il programma non e' una applicazione
Da un certo punto di vista puo' essere utile utilizzare l'architettura a 64 quando si ha molta Ram (>4 Giga) da gestire (e non e' il mio caso) ma nell'uso quotidiano posso dire di non aver trovato particolari giovamenti se non qualche problema in piu'
Nel caso in cui si debba infatti eseguire un programma a 32 bit di cui non e' possibile ricompilare il sorgente e' necessario scaricare tutte le librerie sia in formato 64 bit che in formato 32 bit (i programmi e le librerie a cui sono linkati devono condividere la stessa architettura) con ovvie ripercussioni sull'uso dello spazio disco
Nel caso pratico si deve eseguire il comando
apt-get install ia32-libs ia32-libs-gtk
Un paio di casi di programmi per cui e' disponibile solo la versione a 32 bit sono per esempio Google Earth e Necessitas
La cosa divertente e' che se si tenda di lanciare una applicazione 32 bit in un sistema a 64 bit, indipendentemente dalle flag di esecuzione, il sistema risponde che il programma non e' una applicazione
Debian Testing 64 Bit in IBM/Lenovo T61
L'ultimo arrivato nel mio parco macchina e' un IBM Lenovo T61 comprato usato ma in buone condizioni
Il sistema e' stato debianizzato con una Debian Testing 64 Bit (da ricordare che la versione 64 bit non e' quella denominata amd64 e non ia64)
L'installazione non ha mostrato nessun problema se non per un paio di dettagli
I driver della scheda di rete devono essere installati a parte aggiungendo i repository non-free e
apt-get install firmware-iwlwifi
L'altro aspetto che non funziona di default e' il lettore di impronte digitali per cui e' necessario installare ThinkFinger che e' descritto con maggiore dettaglio nel seguente post
Tv Digitale su Linux con HP Express Card EC 300
Grazie ad un regalo sono entrato in possesso di una scheda di acquisizione per il segnale della televisione digitale. La scheda, in formato PCI Express, era inclusa come dotazione di serie in Pavillion DV6000 (macchina particolarmente sfortunata per i problemi congeniti alla scheda video) e riporta sull'etichetta la dicitura DVB-T TV Tuner HP Express Card
Inserita nella mia Debian Box si vede che il chip risponde come un DiBcom 3000MC/P e viene riconosciuto senza problemi dalla Debian Testing (la cosa curiosa e' che viene vista come una interfaccia USB)
Per fare funzionare la scheda e' necessario scaricare il programma aw_scan per la ricerca dei canali di digitale terrestre
apt-get install aw_scan
ed aggiornare il firmware digitando
cd /lib/firmware
wget http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-6.0.0.8.fw
si puo' quindi iniziare la ricerca dei canali mediante il comando
w_scan -X -P -t 2 -E 0 -c IT > canali.txt
i risultati vengono salvati nel file testo canali.txt
Inserita nella mia Debian Box si vede che il chip risponde come un DiBcom 3000MC/P e viene riconosciuto senza problemi dalla Debian Testing (la cosa curiosa e' che viene vista come una interfaccia USB)
Per fare funzionare la scheda e' necessario scaricare il programma aw_scan per la ricerca dei canali di digitale terrestre
apt-get install aw_scan
ed aggiornare il firmware digitando
cd /lib/firmware
wget http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-6.0.0.8.fw
si puo' quindi iniziare la ricerca dei canali mediante il comando
w_scan -X -P -t 2 -E 0 -c IT > canali.txt
i risultati vengono salvati nel file testo canali.txt
e qui c'e' un piccolo trucco. Con l'antennina inclusa nella confezione non viene trovato nessuna canale, e' necessario, utilizzando l'adattatore, collegare la scheda all'antenna televisiva posta sul tetto
Dopo qualche minuto il file e' pronto e da VLC si seleziona
media/apri periferica
e si seleziona il file canali.txt
ed ecco il risultato finale
| Collegamento con antenna condominiale |
Dopo qualche minuto il file e' pronto e da VLC si seleziona
media/apri periferica
e si seleziona il file canali.txt
ed ecco il risultato finale
PCI Express su Lenovo/IBM T61
Su l'IBM/Lenovo T61 e' presente una PCI Express Card anche se e' piuttosto ben nascosta
Lo slot superiore di quello che sembra un comune ingresso PCMCIA e' infatti un ingresso Express Card per il fattore di forma piu' piccolo
Introducendo una scheda Pci Express in questo slot, questa scivola verso sinistra e trova il suo alloggiamento
Il tasto di estrazione e' caratterizzato da una X mentre il tasto di estrazione della PCMCIA ha un punto
Lo slot superiore di quello che sembra un comune ingresso PCMCIA e' infatti un ingresso Express Card per il fattore di forma piu' piccolo
Introducendo una scheda Pci Express in questo slot, questa scivola verso sinistra e trova il suo alloggiamento
Il tasto di estrazione e' caratterizzato da una X mentre il tasto di estrazione della PCMCIA ha un punto
Sostituire la Ram su IBM/Lenovo T61
Per sostituire/aggiornare la RAM su un IBM/Lenovo T61 si procede rimuovendo 4 viti al di sotto dello chassis del portatile indicate dall'icona della scheda di memoria
A questo punto si rovescia il computer e CON MOLTA PRUDENZA si solleva la scocca nella parte frontale. Particolare attenzione deve essere posta in questa operazione data la presenza del cavo flat che collega il trackpad e il lettore di impronte digitali
A questo punto si rovescia il computer e CON MOLTA PRUDENZA si solleva la scocca nella parte frontale. Particolare attenzione deve essere posta in questa operazione data la presenza del cavo flat che collega il trackpad e il lettore di impronte digitali
Sostituire la RAM su HP Compaq NX 7400
Per sostituire/aggiornare la RAM in un HP Compaq NX 7400 si procede prima di tutto rimuovendo le viti al di sotto del portatile con l'icona della RAM
Dopo si capovolge il computer e si liberano tre piccole clip presenti sulla tastiera facendo scivolare all'indietro la piccola slitta (nella foto il fermo che e' tra il tasto F4 ed F5)
A questo punto si procede sollevando la tastiera ed accedendo ad uno dei due slot di memoria (attenzione al cavo flat della tastiera!!!!)
Il secondo slot della Ram si trova in posizione molto piu' comoda al di sotto del portatile protetto da uno sporterllino fermato da una sola vite
Dopo si capovolge il computer e si liberano tre piccole clip presenti sulla tastiera facendo scivolare all'indietro la piccola slitta (nella foto il fermo che e' tra il tasto F4 ed F5)
A questo punto si procede sollevando la tastiera ed accedendo ad uno dei due slot di memoria (attenzione al cavo flat della tastiera!!!!)
Il secondo slot della Ram si trova in posizione molto piu' comoda al di sotto del portatile protetto da uno sporterllino fermato da una sola vite
lunedì 22 aprile 2013
ISS Spotting - 16 aprile 2013 22:37
Ho scoperto quasi per caso che dalla mia finestra e' possibile in questi giorni vedere comodamente il passaggio di ISS. Peraltro vi sono delle comodissime applicazioni Android che aiutano nell'individuazione del tempo e del punto in cui osservare
La prima impressione e' : ma quanto caspita e' veloce ISS?
La seconda e' la voglia di provare a fotografare il passaggio
Con una digitale compatta i risultati sono stati sconfortanti ed ho provato una Pentax K-m su cavalletto ed esposizione di 20 secondi
L'immagine e' scalata rispetto all'originale ed a mala pena si vede il puntino luminoso dell'ISS
Migliorando l'immagine si vede piu' chiaramente nel cerchio rosso la presenza di ISS
e questo e' l'ingrandimento
questa e' la schermata di Stellarium relativa al cielo durante l'osservazione
Non e' proprio dello stesso momento ma e' quantomeno curioso che mentre qualcuno sta a naso in su a vedere il passaggio di ISS qualche poco fortunato sta a naso in giu' a guardare la Terra
afsd
La prima impressione e' : ma quanto caspita e' veloce ISS?
La seconda e' la voglia di provare a fotografare il passaggio
Con una digitale compatta i risultati sono stati sconfortanti ed ho provato una Pentax K-m su cavalletto ed esposizione di 20 secondi
L'immagine e' scalata rispetto all'originale ed a mala pena si vede il puntino luminoso dell'ISS
Migliorando l'immagine si vede piu' chiaramente nel cerchio rosso la presenza di ISS
e questo e' l'ingrandimento
questa e' la schermata di Stellarium relativa al cielo durante l'osservazione
Non e' proprio dello stesso momento ma e' quantomeno curioso che mentre qualcuno sta a naso in su a vedere il passaggio di ISS qualche poco fortunato sta a naso in giu' a guardare la Terra
afsd
domenica 21 aprile 2013
Root su Nexus S I9023 con LInux
Le indicazioni di questo post derivano dai suggerimenti di questo link
Per ottenere i privilegi di root su un Nexus S esistono vari modi ed il piu' semplice e' usare il Nexus Root Toolkit ma questa soluzione funziona solo su Windows mentre io normalmente uso una Debian Box e quindi ho cercato strade che usino anche il sistema del pinguino
Per prima cosa si devono scaricare i file relativi ad una nuova recovery (TeamWin Recovery)ed ai file per il rooting e si deve modificare il file android.rules
sudo gedit /etc/udev/rules.d/51-android.rules
sudo chmod 0644 /etc/udev/rules.d/51-android.rules---------------------------------------------------
# Google Nexus S
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e21", MODE="0660", OWNER="luca" #Normal nexus s
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e22", MODE="0660", OWNER="luca" #Debug & Recovery nexus s
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e20", MODE="0660", OWNER="luca" #Fastboot nexus s---------------------------------------------------
al termine dell'editazione si riavvia
/etc/init.d/udev restart
Di seguito si ritiene scontato avere l'SDK Android gia' montato
Sul sito di TeamWin c'e' un comodo motore di ricerca che seleziona il file per il proprio dispositivo..al momento io ho usato openrecovery-twrp-2.5.0.0-crespo.img mentre il rooting ho usato Superuser-3.1.3-arm-signed.zip.
Una volta scaricati i file si inserisce il Superuser sulla SDCard del telefono e si spenge il telefono e lo riavvia in fastboot mode (ovvero accendendo il telefono tenendo premuti Power e Vol +) e da linea di comando si digita
fastboot flash recovery openrecovery-twrp-2.5.9.0-crespo.img
al termine il terminale effettua un reboot
Si spenge di nuovo il terminale e si entra di nuovo in fastboot mode e stavolta si seleziona la voce di menu' Recovery (si usano i tasti del volume per salire e scendere ed il pusante di accensione per la conferma)
Il telefono si riavvia e si entra in Openrecovery
Si clicca su install e si seleziona Superuser-3.1.3-arm-signed.zip.
Si attende ed al nuovo riavvio il terminale e' sbloccato
sad
Per ottenere i privilegi di root su un Nexus S esistono vari modi ed il piu' semplice e' usare il Nexus Root Toolkit ma questa soluzione funziona solo su Windows mentre io normalmente uso una Debian Box e quindi ho cercato strade che usino anche il sistema del pinguino
Per prima cosa si devono scaricare i file relativi ad una nuova recovery (TeamWin Recovery)ed ai file per il rooting e si deve modificare il file android.rules
sudo gedit /etc/udev/rules.d/51-android.rules
sudo chmod 0644 /etc/udev/rules.d/51-android.rules---------------------------------------------------
# Google Nexus S
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e21", MODE="0660", OWNER="luca" #Normal nexus s
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e22", MODE="0660", OWNER="luca" #Debug & Recovery nexus s
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e20", MODE="0660", OWNER="luca" #Fastboot nexus s---------------------------------------------------
al termine dell'editazione si riavvia
/etc/init.d/udev restart
Di seguito si ritiene scontato avere l'SDK Android gia' montato
Sul sito di TeamWin c'e' un comodo motore di ricerca che seleziona il file per il proprio dispositivo..al momento io ho usato openrecovery-twrp-2.5.0.0-crespo.img mentre il rooting ho usato Superuser-3.1.3-arm-signed.zip.
Una volta scaricati i file si inserisce il Superuser sulla SDCard del telefono e si spenge il telefono e lo riavvia in fastboot mode (ovvero accendendo il telefono tenendo premuti Power e Vol +) e da linea di comando si digita
fastboot flash recovery openrecovery-twrp-2.5.9.0-crespo.img
al termine il terminale effettua un reboot
Si spenge di nuovo il terminale e si entra di nuovo in fastboot mode e stavolta si seleziona la voce di menu' Recovery (si usano i tasti del volume per salire e scendere ed il pusante di accensione per la conferma)
Il telefono si riavvia e si entra in Openrecovery
Si clicca su install e si seleziona Superuser-3.1.3-arm-signed.zip.
Si attende ed al nuovo riavvio il terminale e' sbloccato
sad
venerdì 19 aprile 2013
Root su GT-S7500
Le operazioni effettuate sono quelle indicate a questo link
Per prima cosa si deve mettere il telefono in Download Mode.
Da terminale spento si devono premere contemporaneamente i tasti Vol_Giu, Home ed Accensione
Una volta avviato si apre Odin e si collega il telefono via cavo
Si seleziona quindi il pulsante PDA ed il file recovery.zip
Si attende il termine delle operazioni ed il reboot del terminale
A questo punto essere un ottopode non e' necessario ma e' fortemente consigliato in quanto il telefono deve essere riavviato un Recovery Mode ovvero (da telefono spento) si devono tenere premuti contemporaneamente i tasti Vol_Su, Vol_Giu, Home e Accensione (una volta avviato il telefono si puo' rilasciare l'accensione)
Si entra quindi in modalita' Recovery e si seleziona il file zip Superuser-3.1.3-arm-signed.zip.
Al termine delle operazioni si effettua l'ultimo reboot e si ha finalmente il controllo completo del terminale
d
Per prima cosa si deve mettere il telefono in Download Mode.
Da terminale spento si devono premere contemporaneamente i tasti Vol_Giu, Home ed Accensione
Una volta avviato si apre Odin e si collega il telefono via cavo
Si seleziona quindi il pulsante PDA ed il file recovery.zip
Si attende il termine delle operazioni ed il reboot del terminale
A questo punto essere un ottopode non e' necessario ma e' fortemente consigliato in quanto il telefono deve essere riavviato un Recovery Mode ovvero (da telefono spento) si devono tenere premuti contemporaneamente i tasti Vol_Su, Vol_Giu, Home e Accensione (una volta avviato il telefono si puo' rilasciare l'accensione)
Si entra quindi in modalita' Recovery e si seleziona il file zip Superuser-3.1.3-arm-signed.zip.
Al termine delle operazioni si effettua l'ultimo reboot e si ha finalmente il controllo completo del terminale
d
adb no permissions in Linux
Nel cercare di connettere il Samsung GT-S7500 alla mia Debian Box mi sono scontrato contro il messaggio
adb no permissions
per risolvere il problema si deve diventare superutente (root) e digitare
adb kill-server
adb start-server
a questo punto si puo' ritornare sull'utente normale e si puo' interagire con il telefono
adb no permissions
per risolvere il problema si deve diventare superutente (root) e digitare
adb kill-server
adb start-server
a questo punto si puo' ritornare sull'utente normale e si puo' interagire con il telefono
martedì 16 aprile 2013
Finestre a dimensione fissa in Qt
Per ottenere una finestra non ridimensionabile in Qt si puo' procedere settando questa proprieta'
this->setFixedSize(this->size());
DYI : cambiare le pastiglie del freno anteriore di un Kymco Agility ruote 12"
Si apre un nuovo settore di questo blog ovvero il fai-da-te non informatico.
In questo caso e' anche l'elogio della stupidita' perche' mi sono ritrovato a cambiare le pastiglie del freno quando oramai erano finite (frenando si sentiva chiaramente il fischio dell'attrito acciaio su acciaio)
La sostituzione e' piuttosto semplice in quanto necessita di due chiave ed un cacciavite ma come al solito le cose non vanno bene perche' 2 delle 4 viti sono risultate estremamente difficili da smontare
quindi conviene CON IL FRENO ANCORA MONTATO iniziare a svitare le due viti con testa a brugola
Ad un certo punto non usciranno piu' perche' e' terminata la filettatura e si possono smontate tutto il blocco freno (senza rimuovere la ruota)
A questo punto si devono tirare con forza verso l'esterno le due viti con testa a brugola si liberano i pattini
Da notare l'usura del pattino usato, in alto, e quello nuovo in basso
s
In questo caso e' anche l'elogio della stupidita' perche' mi sono ritrovato a cambiare le pastiglie del freno quando oramai erano finite (frenando si sentiva chiaramente il fischio dell'attrito acciaio su acciaio)
La sostituzione e' piuttosto semplice in quanto necessita di due chiave ed un cacciavite ma come al solito le cose non vanno bene perche' 2 delle 4 viti sono risultate estremamente difficili da smontare
quindi conviene CON IL FRENO ANCORA MONTATO iniziare a svitare le due viti con testa a brugola
Ad un certo punto non usciranno piu' perche' e' terminata la filettatura e si possono smontate tutto il blocco freno (senza rimuovere la ruota)
A questo punto si devono tirare con forza verso l'esterno le due viti con testa a brugola si liberano i pattini
Da notare l'usura del pattino usato, in alto, e quello nuovo in basso
s
lunedì 15 aprile 2013
Calcolare differenze di tempo in Qt
Di seguito un metodo semplice per calcolare la differenza in secondi tra due variabili QDateTime
---------------------------------------------------
---------------------------------------------------
---------------------------------------------------
#include "mainwindow.h"
#include "ui_mainwindow.h"
QDateTime ora;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ora = QDateTime::currentDateTime();
ui->dateTimeEdit->setDateTime(ora);
ui->label_ora->setText(ora.toString());
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QDateTime partenza = ui->dateTimeEdit->dateTime();
int diff = ora.secsTo(partenza);
QString qStr = QString::number(diff);
ui->label->setText("Diff.secondi : " +qStr);
}
---------------------------------------------------
venerdì 12 aprile 2013
Dialog window modale e non modale in Qt
Di seguito un esempio su come aprire una finestra QDialog in modalita' modale e non modale (ovvero sempre in primo piano con focus attivo o meno)
---------------------------------------------
Dialog_class *dialog_class = new Dialog_class();
dialog_class->setAttribute(Qt::WA_DeleteOnClose, true);
//apre la finestra in modo modale
dialog_class->exec();
//apre la finestra in modo non modale
dialog_class->show();
dialog_class->raise();
Cancellare file in Qt
Un metodo per cancellare file in Qt
--------------------------------------------------------
void MainWindow::on_actionCancella_CVS_triggered()
--------------------------------------------------------
void MainWindow::on_actionCancella_CVS_triggered()
{
QFile file( QDir::homePath() + QDir::separator() +"anagrafiche_export.txt");
if (file.exists())
{
file.remove();
}
}
Aprire una porta UDP su un Firewall Linux
Un metodo rapido per aprire il firewall iptables di Linux per permettere le connessioni UDP sulla porta 55000
iptables -A INPUT -p udp --destination-port 55000 -j ACCEPT
iptables -A INPUT -p udp --destination-port 55000 -j ACCEPT
Riportare al firmware originale Nexus S GT-I9023
Mi sono comprato usato un Nexus S GT-I9023.
Il telefono mi e' arrivato con una custom ROM con Android 4.2.2 ed ho deciso riportarlo al firmware originale di Google (un po' perche' mi sembrava un po' scattoso, un po' per avere la sicurezza di compatibilita')
La procedura e' quanto mai semplice:
Si scarica il firmware originale del telefono a questo indirizzo e si scompatta in una macchina con SDK Android installato (in realta' basta avere adb e fastboot)
Si riavvia il telefono in fastboot mode
Si lancia quindi (su Linux) lo script flash-all.sh
Gia' finito...bello avere un Nexus
Questi sono i messaggi a video, si osservi il tempo totale
----------------------------------------------------------------------
root@debianx40:/home/luca/Downloads/soju-jzo54k# ./flash-all.sh
sending 'bootloader' (1536 KB)...
OKAY [ 0.210s]
writing 'bootloader'...
OKAY [ 0.382s]
finished. total time: 0.592s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
< waiting for device >
sending 'radio' (12288 KB)...
OKAY [ 1.641s]
writing 'radio'...
OKAY [ 1.903s]
finished. total time: 3.545s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: I9020XXLC2
Baseband Version.....: I9020XXKI1
Serial Number........: 373342FC9C0400EC
--------------------------------------------
checking product...
OKAY [ 0.001s]
checking version-bootloader...
OKAY [ 0.001s]
checking version-baseband...
OKAY [ 0.001s]
sending 'boot' (3964 KB)...
OKAY [ 4.966s]
writing 'boot'...
OKAY [ 0.563s]
sending 'recovery' (4308 KB)...
OKAY [ 0.768s]
writing 'recovery'...
OKAY [ 0.643s]
sending 'system' (337443 KB)...
OKAY [ 75.814s]
writing 'system'...
OKAY [ 42.327s]
erasing 'userdata'...
OKAY [ 0.361s]
formatting 'userdata' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.015s]
erasing 'cache'...
OKAY [ 1.690s]
formatting 'cache' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.001s]
rebooting...
finished. total time: 127.162s
Il telefono mi e' arrivato con una custom ROM con Android 4.2.2 ed ho deciso riportarlo al firmware originale di Google (un po' perche' mi sembrava un po' scattoso, un po' per avere la sicurezza di compatibilita')
La procedura e' quanto mai semplice:
Si scarica il firmware originale del telefono a questo indirizzo e si scompatta in una macchina con SDK Android installato (in realta' basta avere adb e fastboot)
Si riavvia il telefono in fastboot mode
Si lancia quindi (su Linux) lo script flash-all.sh
Gia' finito...bello avere un Nexus
![]() |
| Il telefono riavviato in Fastboot Mode |
![]() |
| Il riavvio dopo aver flashato |
----------------------------------------------------------------------
root@debianx40:/home/luca/Downloads/soju-jzo54k# ./flash-all.sh
sending 'bootloader' (1536 KB)...
OKAY [ 0.210s]
writing 'bootloader'...
OKAY [ 0.382s]
finished. total time: 0.592s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
< waiting for device >
sending 'radio' (12288 KB)...
OKAY [ 1.641s]
writing 'radio'...
OKAY [ 1.903s]
finished. total time: 3.545s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: I9020XXLC2
Baseband Version.....: I9020XXKI1
Serial Number........: 373342FC9C0400EC
--------------------------------------------
checking product...
OKAY [ 0.001s]
checking version-bootloader...
OKAY [ 0.001s]
checking version-baseband...
OKAY [ 0.001s]
sending 'boot' (3964 KB)...
OKAY [ 4.966s]
writing 'boot'...
OKAY [ 0.563s]
sending 'recovery' (4308 KB)...
OKAY [ 0.768s]
writing 'recovery'...
OKAY [ 0.643s]
sending 'system' (337443 KB)...
OKAY [ 75.814s]
writing 'system'...
OKAY [ 42.327s]
erasing 'userdata'...
OKAY [ 0.361s]
formatting 'userdata' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.015s]
erasing 'cache'...
OKAY [ 1.690s]
formatting 'cache' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.001s]
rebooting...
finished. total time: 127.162s
martedì 9 aprile 2013
StrTok in Qt
Data una QString composta da piu' campi divisi da un separatore si possono ottenere le sottostringhe utilizzando un metodo differente da Strtok tipico di C ovvero passando attraverso una StringList
Nell'esempio che segue la stringa di input e' data da un pacchetto UDP cosi' formato
1;Luca;Innocenti
per ottenere il primo campo (il valore 1) si puo' procedere come segue
----------------------------------------------------------------------
QString pacchetto = datagram.data();
----------------------------------------------------------------------
in pratica si preleva il primo campo (indice = 0) della StringList
Nell'esempio che segue la stringa di input e' data da un pacchetto UDP cosi' formato
1;Luca;Innocenti
per ottenere il primo campo (il valore 1) si puo' procedere come segue
----------------------------------------------------------------------
QString pacchetto = datagram.data();
QStringList myStringList = pacchetto.split(";");
QString str_pettorale = myStringList.at(0);
----------------------------------------------------------------------
in pratica si preleva il primo campo (indice = 0) della StringList
Validare l'input di una QLineEdit
Per validare direttamente al momento della digitazione l'input in una QLineEdit di Qt si procede definendo prima un QRegExp con l'opportuna espressione regolare e poi si associa il validatore alla Line Edit
Piu' nel dettaglio
Piu' nel dettaglio
QRegExp re( "^[0-9]*$" );
QRegExpValidator *validator = new QRegExpValidator( re, 0 );
ui->linepettorale->setValidator( validator );
in questo modo nella QLineEdit denominata linepettorale saranno accettati solo valori numerici
Attenzione: questo metodo non funziona con i widget TextEdit
lunedì 8 aprile 2013
Sqlite Manager come estensione di Firefox
In ambiti in cui non e' possibile installare programmi puo' risultare utile utilizzare l'estensione SQLite Manager
L'installazione e' quella comune a tutti i plugin di Firefox e l'uso e' sostanzialmente immediato con la possibilita' di caricare il file ed eseguire query
L'installazione e' quella comune a tutti i plugin di Firefox e l'uso e' sostanzialmente immediato con la possibilita' di caricare il file ed eseguire query
venerdì 5 aprile 2013
Condividere variabili tra piu' classi (C++/Qt)
A causa dell'incapsulamento della programmazione ad oggetti non banale condividere dati tra piu' classi.
Un metodo per effettuare questa operazione e' quella di creare una classe apposita che gestisca le variabili con funzioni apposite per settare e recuperare il valore delle variabili
per esempio si puo' fare (chiamando la nuova classe variabili)
variabili.h
-----------------------------------------------------
Un metodo per effettuare questa operazione e' quella di creare una classe apposita che gestisca le variabili con funzioni apposite per settare e recuperare il valore delle variabili
per esempio si puo' fare (chiamando la nuova classe variabili)
variabili.h
-----------------------------------------------------
#ifndef VARIABILI_H
#define VARIABILI_H
class variabili
{
public:
variabili();
void set_id(int id);
int get_id();
private:
static int m_int;
};
#endif // VARIABILI_H
-----------------------------------------------------
variabili.cpp
-----------------------------------------------------
#include "variabili.h"int variabili::m_int;variabili::variabili(){}int variabili::get_id(){return m_int;}void variabili::set_id(int id){m_int = id;}-----------------------------------------------------per settare e leggere il valore della variabile condivisa nelle due classi si puo' operare come segueClasse 1 (setta la variabile)-----------------------------------------------------#include <variabili.h>...variabili *myid = new variabili;myid->set_id(2);//int t1 = myid->get_id();//qDebug() << "Main" << t1;delete myid;-----------------------------------------------------Classe 2 (legge la variabile settata dalla Classe 1)-----------------------------------------------------#include <variabili.h>...variabili *myid = new variabili;int t1 = myid->get_id();//qDebug() << "Dialog" << t1;delete myid;-----------------------------------------------------
giovedì 4 aprile 2013
BitRock InstallBuilder
Un programma piu' complesso ma con le stesse funzionalita' di base di InstallJammer e' BitRock InstallBuilder
Il software e' a pagamento ma vengono rilasciate licence gratuite per progetti opensource
Il software e' a pagamento ma vengono rilasciate licence gratuite per progetti opensource
InstallJammer per Progetti Qt
Come indicato in questo post e' abbastanza semplice portare un programma Qt su una macchina diversa da quella di sviluppo in Windows
Si puo' migliorare creando un installer vero e proprio utilizzando il software InstallJammer, programma multipiattaforma per creare installer Qt
Attenzione: il progetto risulta dormiente o morto per cui non previsti sviluppi
Per Linux si puo' installare la versione 1.2.15 mentre per Windows e' necessario utilizzare la versione installjammer-1.2-snapshot.zip
Il programma e' piuttosto semplice
L'unica accortezza e' quella di includere nell'installer tutti i file indicati nel precedente post
Si puo' migliorare creando un installer vero e proprio utilizzando il software InstallJammer, programma multipiattaforma per creare installer Qt
Attenzione: il progetto risulta dormiente o morto per cui non previsti sviluppi
Per Linux si puo' installare la versione 1.2.15 mentre per Windows e' necessario utilizzare la versione installjammer-1.2-snapshot.zip
Il programma e' piuttosto semplice
L'unica accortezza e' quella di includere nell'installer tutti i file indicati nel precedente post
martedì 2 aprile 2013
Settare il TabOrder in Qt
Per settare il tab order dei vari widget si deve aprire il menu Edit e selezionare Edit Tab Order
Il form cambiera' l'aspetto come in figura
Cliccando sui vari componenti si determinera' l'ordine con questi vengono attivati nel Tab Order.
C'e' da osservare che a differenza di Windows, in Qt il comportamento standard relativo al tasto Tab non e' quello di passare da un widget all'altro. Per ottenere questo comportamento si deve inserire la proprieta' tabChangesFocus su ogni componente
Il form cambiera' l'aspetto come in figura
Cliccando sui vari componenti si determinera' l'ordine con questi vengono attivati nel Tab Order.
C'e' da osservare che a differenza di Windows, in Qt il comportamento standard relativo al tasto Tab non e' quello di passare da un widget all'altro. Per ottenere questo comportamento si deve inserire la proprieta' tabChangesFocus su ogni componente
Configurare la TimeZone in Debian
UPDATE
Il metodo corretto e' digitare
dpkg-reconfigure tzdata
--------------------------------------------------
Per modificare la timezone della propria Linux Box si procede lanciando
tzselect
Per rendere la modifica permanente si deve modificare il proprio file .profile
Il metodo corretto e' digitare
dpkg-reconfigure tzdata
--------------------------------------------------
Per modificare la timezone della propria Linux Box si procede lanciando
tzselect
Per rendere la modifica permanente si deve modificare il proprio file .profile
Benchmark con Hardinfo
Di solito uso un paio di macchine, un Samsung N150 Plus ed un IBM X40, entrambi con una Debian Testing
E' da un po' di tempo che mi senbrava che il Centrino dell'X40 fosse piu' prestante del processore Atom N450 dell'N150 e per togliermi il dubbio ho provato ad usare hardinfo che si scarica semplicemente con
apt-get install hardinfo
il software, oltre a riconoscere l'hardware, permette di fare dei semplici benchmark del processore e di sotto riporto i risultati con il test BlowFish
E' abbastanza evidente che l'IBM, nonostante sia di circa 6 anni piu' vecchio, sia decisamente piu' veloce del Samsung. C'e' da dire che quando usci' l'X40 era un modello estremamente costoso e per professionisti mentre il Samsung e' da intendersi come un portatile per i poveri (infatti il primo lo ho comprato abbondantemente usato) e si puo' giustificare in parte la differenza ma gli anni a quanto pare sono passati invano
E' da un po' di tempo che mi senbrava che il Centrino dell'X40 fosse piu' prestante del processore Atom N450 dell'N150 e per togliermi il dubbio ho provato ad usare hardinfo che si scarica semplicemente con
apt-get install hardinfo
il software, oltre a riconoscere l'hardware, permette di fare dei semplici benchmark del processore e di sotto riporto i risultati con il test BlowFish
![]() |
| IBM X40 |
![]() |
| Samsung N150 Plus |
E' abbastanza evidente che l'IBM, nonostante sia di circa 6 anni piu' vecchio, sia decisamente piu' veloce del Samsung. C'e' da dire che quando usci' l'X40 era un modello estremamente costoso e per professionisti mentre il Samsung e' da intendersi come un portatile per i poveri (infatti il primo lo ho comprato abbondantemente usato) e si puo' giustificare in parte la differenza ma gli anni a quanto pare sono passati invano
lunedì 1 aprile 2013
Errore su Grub Installer in MacPup 529
Cercando di riportare in vita una macchina obsoleta (e non volendo perdere troppo tempo con Debian) ho provato ad installare MacPup 529 con un Celeron 700 con circa 384 Mb di Ram
La distribuzione, fatta partire come LiveCd, mi ha ben impressionato riconoscendo tutto l'hardware compreso il SIS 630....i problemi sono nati quando ho deciso di passare all'installazione su disco fisso
Senza istruzioni e' quasi impossibile in quanto non e' prevista una procedura completa e decisamente non e' pensata per i principianti. Si devono effettuare tre passi distinti:
1) Partizionamento con GParted
2) Copia dei file con Puppy Universal Installer (nessun indice di progressione :<<<<)
3) Installazione Grub
Superati i due primi passi ci si accorge che, a causa di un bug, non e' possibile configurare Grub e si deve installare Grub4Dos come unica (e non documentata) soluzione
La distribuzione viene inoltre dichiarata compatibile con Ubuntu ma non vi e' traccia di apt-get quindi il supporto con Ubuntu e' quantomeno limitato
Anche la configurazione della scheda wireless (per quanto subito riconosciuta) non e' per niente intuitiva
In sostanza ho rimontato subito una Debian Squeeze che, pur facendo urlare per la prima ora di configurazione, funziona decisamente bene su una macchina obsoleta
La distribuzione, fatta partire come LiveCd, mi ha ben impressionato riconoscendo tutto l'hardware compreso il SIS 630....i problemi sono nati quando ho deciso di passare all'installazione su disco fisso
Senza istruzioni e' quasi impossibile in quanto non e' prevista una procedura completa e decisamente non e' pensata per i principianti. Si devono effettuare tre passi distinti:
1) Partizionamento con GParted
2) Copia dei file con Puppy Universal Installer (nessun indice di progressione :<<<<)
3) Installazione Grub
Superati i due primi passi ci si accorge che, a causa di un bug, non e' possibile configurare Grub e si deve installare Grub4Dos come unica (e non documentata) soluzione
La distribuzione viene inoltre dichiarata compatibile con Ubuntu ma non vi e' traccia di apt-get quindi il supporto con Ubuntu e' quantomeno limitato
Anche la configurazione della scheda wireless (per quanto subito riconosciuta) non e' per niente intuitiva
In sostanza ho rimontato subito una Debian Squeeze che, pur facendo urlare per la prima ora di configurazione, funziona decisamente bene su una macchina obsoleta
Errore su Qt connectSlotsByName: No matching signal for ..
UPDATE
Ho risolto il problema e la soluzione come al solito e' sotto agli occhi.
In Windows avevo usato l'SDK completo (circa 770 Mb) scaricato dal sito di Qt con preinstallate le Qt 4.8.4 e con QtCreator 2.7
In Debian Wheezy avevo invece installato tutto mediante apt-get non vedendo che QtCreator era alla versione 2.5.Una volta aggiornato QtCreator anche su Linux tutto ha funzionato in modo corretto
---------------------------------------------------------
Spostando lo sviluppo di un progetto Qt da una macchina Windows ad una macchina Linux mi sono imbattuto in una cosa piuttosto curriosa
Il progetto si compila e funziona correttamente ma quando ho cercato di aggiungere una nuova entrata in QMenu al momento di compilare la menubar non risulta modificata ed viene segnalato l'errore
QMetaObject::connectSlotsByName: No matching signal for on_actionClassifica_triggered()
al momento non ho soluzioni per il problema
Ho risolto il problema e la soluzione come al solito e' sotto agli occhi.
In Windows avevo usato l'SDK completo (circa 770 Mb) scaricato dal sito di Qt con preinstallate le Qt 4.8.4 e con QtCreator 2.7
In Debian Wheezy avevo invece installato tutto mediante apt-get non vedendo che QtCreator era alla versione 2.5.Una volta aggiornato QtCreator anche su Linux tutto ha funzionato in modo corretto
---------------------------------------------------------
Spostando lo sviluppo di un progetto Qt da una macchina Windows ad una macchina Linux mi sono imbattuto in una cosa piuttosto curriosa
Il progetto si compila e funziona correttamente ma quando ho cercato di aggiungere una nuova entrata in QMenu al momento di compilare la menubar non risulta modificata ed viene segnalato l'errore
QMetaObject::connectSlotsByName: No matching signal for on_actionClassifica_triggered()
Iscriviti a:
Post (Atom)
Mappa frane da news on line
Correva l'anno 2008 ed il mio direttore di Dipartimento mi aveva chiesto di lavorare sui Big Data per estrarre dati di geolocalizzazione...
-
Aggiornamento questo e' la risposta degli sviluppatori First of all, almost all operating systems on both mobile and laptop/desktop n...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...



















.jpg)






















