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

mercoledì 28 febbraio 2018

Cosa fare se linux non riconosce la risoluzione del monitor

https://www.rte.ie/sport/gaa/2018/0227/943896-cold-snap-could-have-most-impact-on-hurling-league/

Se il vostro linux si ostina a farvi vedere solo le risoluzioni di default 640×480, 800×600 o 1024×768 ci viene in aiuto l'ottimo randr, come illustrato qui.

Riporto qualche info dal link in caso muoia nel tempo:
  • l'output del comando xrandr ci dice che uscita video stiamo usando tra DisplayPort-0, HDMI-0 o DVI-0;
  • il comando cvt genera i parametri della risoluzione che vogliamo;
  • con tre comandi xrandr con parametri newmode, addmode e out si attiva la nuova risoluzione.
Ecco i comandi per il full HD (1920×1080) con evidenza dei valori generati dal comando cvt che variano da monitor a monitor:
  1.  cvt 1920 1080
  2.  xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
  3.  xrandr --addmode DVI-0 1920x1080_60.00
  4.  xrandr --output DVI-0 --mode 1920x1080_60.00
Settaggi per il mio particolare monitor-TV:
xrandr --newmode "1936x1080_60.00"  174.00  1936 2064 2264 2592  1080 1083 1093 1120 -hsync +vsync

Correzione luminosità

In caso si voglia avere un desktop più o meno luminoso, si può usare il comando
xrandr --output DVI-0 --gamma 1.5:1.5:1.5
oppure
xrandr --output DVI-0 --brightness 1

Configurazione persistente

Salvare la sequenza dei comandi xrandr nel file .xprofile

giovedì 5 gennaio 2017

Problemi Bluetooth con Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter


Qualcosa che non va in questo portatile con linux l'ho trovato anche io: il bluetooth integrato.

Si tratta di un dispositivo dual wireless, che fornisce connettività sia Wifi che Bluetooth. La parte Wifi funziona senza problemi, mentre nel tentativo di connettere un mouse ho scoperto che la parte che si occupa del bluetooth non rileva assolutamente nulla; ho provato anche a far rilevare il cellulare android ma senza successo.

Ho attaccato un dongle Bluetooth qualsiasi ed ha funzionato senza problemi, quindi deduco che è il driver del dispositivo che non è completamente compatibile.

Il comando inxi -N fornisce informazioni riguardo alle schede di rete:
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
           driver: r8169
           Card-2: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter
           driver: ath9k

e risulta che il driver usato è l'ath9k.

Con il comando lsusb -v esce fuori che il dispositivo ha l'ID
Bus 001 Device 004: ID 04ca:3018 Lite-On Technology Corp.

Cercando il codice 04ca:3018 su google in due giorni diversi, sono usciti risultati diversi, poiche nel frattempo qualcuno ha postato una domanda su askubuntu riguardo allo stesso chip, ed un bug report su launchpad, che è stato sistemato nel giro di poche ore! Molto simile a quello che era successo per il touchpad, ad indicare che l'hardware del mio portatile è sufficientemente nuovo da non aver ancora tutti i dispositivi funzionanti OotB.

La patch riportata sul bug report ha risolto il mio problema, anche se un paio di cuffie bluetooth che ho da poco acquistato non funzionano ancora bene per un problema con bluez e pulseaudio che devo ancora risolvere.


Sistemare la posizione della cartella Desktop/Scrivania


Ho notato che ad un certo punto nella mia home dir erano presenti due cartelle, una chiamata Desktop ed una chiamata Scrivania:


Evidentemente qualche programma ha reimpostato la cartella DESKTOP andando in conflitto con la configurazione locale, per cui si è creata questa situazione.

La posizione della cartella Desktop è definita da una specifica chiamata XDG che definisce una serie di percorsi standard all'interno della home dir di ciascun utente. Un buon articolo della documentazione di ArchLinux descrive brevemente di cosa si tratta.

Sono andato a vedere quindi il contenuto del file ~/.config/user-dirs.dirs ed effettivamente la variabile XDG_DESKTOP_DIR puntava a "$HOME/Desktop" piuttosto che a "$HOME/Scrivania"; ho ripristinato la stringa, ed effettivamente rilanciando il gestore file Nemo, l'icona Desktop adesso è rappresentata come una cartella normale:


Per curiosità sono andato a vedere a cosa puntano le altre cartelle, ed ho notato  XDG_TEMPLATES_DIR: c'è un ottima spiegazione del suo uso su askubuntu.

In base a quanto lì descritto, ho creato due file con un nome significativo, con dentro magari del contenuto di partenza, per cui cliccando con il tasto destro in nemo e selezionando la voce Crea Nuovo Documento, escono proprio i nomi che abbiamo inserito poc'anzi:


Il comando per capire dove punta una delle cartelle definite è il seguente:
xdg-user-dir TEMPLATES
Ne approfitto per inserire tutte le cartelle all'interno della cartella Documenti, in modo da avere una cartella home più snella, per cui il file ~/.config/user-dirs.dirs finale è il seguente:
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Scrivania"
XDG_DOCUMENTS_DIR="$HOME/Documenti"
XDG_DOWNLOAD_DIR="$HOME/Documenti/Scaricati"
XDG_TEMPLATES_DIR="$HOME/Documenti/Modelli"
XDG_PUBLICSHARE_DIR="$HOME/Documenti/Pubblici"
XDG_MUSIC_DIR="$HOME/Documenti/Musica"
XDG_PICTURES_DIR="$HOME/Documenti/Immagini"
XDG_VIDEOS_DIR="$HOME/Documenti/Video"

giovedì 29 dicembre 2016

KDE Fail


Purtroppo dopo qualche giorno di KDE ho dovuto come al solito tornare verso lidi più sicuri e meno avventurosi (leggi: meno bacati), per cui sono tornato su Mint Cinnamon edition, meno estremo in termini di feature ma sicuramente più stabile.

Non ho capito perchè gli sviluppatori di KDE tendono ad essere entusiasti nell'inserire nuove funzionalità e paradigmi di usabilità, dolphin, plasma, e il concetto di attività in primis, ma sottovalutano la parte relativa alla risoluzione dei problemi e bug che sorgono durante l'implementazione, per cui alla fine un sistema per quanto gradevole da usare viene abbandonato per gravi problemi di usabilità.

Nel mio caso ad esempio, il touchpad ha funzionato solo per qualche riavvio dopo aver applicato la patch che indicavo nel post precedente per poi ritornare inusabile, ogni tanto lo schermo diventava nero, blocchi casuali del desktop.

In quest'ottica ho dovuto ripiegare su Cinnamon (un fork di Gnome 3) comunque ricco di feature ma stabile a sufficienza per i miei gusti. In alternativa potevo installare Mate (fork di Gnome 2) meno ricco di feature ma più adatto a hardware vecchio rispetto a Cinnamon (non il mio caso).

In ogni caso, ho anche iniziato a vedere qualcosa relativa alla programmazione dei desklet, vediamo nei prossimi post se ho combinato qualcosa!

lunedì 28 novembre 2016

Linux su Asus VivoBook F556UV



Erano diversi anni che avevo voglia di usare KDE come desktop di tutti i giorni, ma ogni volta mi sono scontrato con bug e problemi di usabilità che mi hanno impedito nell'intento. Con l'acquisto del nuovo portatile ho colto l'occasione di riprovare per l'ennesima volta kde, e mi appunto qui le varie avventure per tenere traccia delle configurazioni effettuate.

Sul sito ufficiale di kde c'è un elenco (parziale) di distribuzioni con kde, e il mio primo tentativo è stato con KDE Neon, distribuzione ufficiale degli sviluppatori che contiene l'ultimissima versione del desktop environment.

La distribuzione ha una grafica ottima ma l'avvio è risultato un po' lentino (20 secondi circa) e, pecca più grande, non supporta la scheda grafica Nvidia montata sul mio laptop: KDE Neon fa uso di Wayland come gestore della grafica, che allo stato attuale non gestisce bene le schede video Nvidia. In compenso la scheda video intel integrata funzionava molto bene.

La seconda distribuzione è stata mint versione kde. Come al solito mint è garanzia di pulizia e funzionalità essenziali, per cui mi sono trovato subito molto bene. Un grosso bug che mi ha dato molto fastidio (probabilmente presente anche su Neon, ma non ci ho fatto caso poichè preso dai tentativi di far funzionare l'NVidia) è quello del mancato supporto al touchpad: viene rilevato come un mouse, per cui le gesture come lo scroll orizzontale e verticale non funzionano, così come la supeficie dei pulsanti risulta attiva anche come movimento, per cui spesso il click del mouse sposta il cursore facendoti cliccare su oggetti non voluti, veramente fastidioso. Tra l'altro il menù di configurazione del touchpad risulta ingrigito con la frase "No touchpad found".

Per questo motivo ho optato per un'altra distribuzione, OpenSuse, che non ho mai visto in azione, per cui un po' per la curiosità di vedere come funziona, e nella speranza che lì il touchpad funzioni come si deve ho provato ad installarla. Mi sono miseramente bloccato al passaggio relativo alla partizione, l'ho trovato piuttosto oscuro e macchinoso per cui ho deciso di tentare ancora con mint.

Dopo un paio di serate di ricerca, ho trovato la soluzione!
Un genio ha messo a disposizione su github il driver per il mio touchpad, è bastato lanciare il comando indicato nel readme et...voilà: ha cominciato a funzionare tutto alla perfezione! Anche il menù di configurazione del touchpad ha tutte le voci operative! Mio salvatore!

Per cui le mie avventure con mint kde edition non sono finite!

Il portatile perfetto


Era da diverso tempo che volevo acquistare un nuovo portatile che sostituisse il mitico Dell Inspiron 6400, di cui parlavo nel primissimo post di questo stupendo blog ben nove anni e mezzo fa.

Dopo diverse settimane (mesi!) di analisi di che cosa offtre il mercato, sono giunto alla conclusione che volevo un portatile 15" con processore i7 e con hard disk SSD. Questo perchè lo schermo deve essere ben leggibile, i7 è la famiglia intel di processori più potente per il mercato consumer, e SSD perchè è una tecnologia che surclassa almeno di un fattore 5 la velocità di un disco rigido tradizionale.

Una configurazione di questo tipo non è facile da trovare, perchè tutti gli i7 che si vedono in giro hanno hard disk da terabyte, mentre i portatili con ssd sono tipicamente degli ultrabook (tipo chromebook) con una potenza (e costo) inferiore a fronte di una mobilità (in termini di durata della batteria e dimensione dello schermo contenuta) migliorata.

C'è un simpatico sito che permette di scegliere le caratteristiche preferite, ed il sistema ti fornisce una serie di laptop che le soddisfano. Il problema è che tutti i laptop elencati sono disponibili su amazon US e non sul sito italiano, per cui serve solo ad avere un'idea sul modello che vogliamo acquistare.

Dopo aver studiato le varie caratteristiche, conviene andare sui siti più famosi di e-shop tipo amazon, eprice, pixmania, ma anche quelli delle catene di elettronica tipo unieuro, euronics, expert per vedere cosa effettivamente è disponibile sul mercato italiano.

Alla fine ho acquistato da unieuro un portatile che è una bomba, per soli 800€ (non so perchè ma adesso sta a 899€(?)) con le seguenti caratteristiche:

Modello: Asus VivoBook F556UV
Monitor: 15.6"
CPU: i7-6500U
RAM: 12GB
SSD: 512GB
GPU esterna: NVIDIA GeForce GT 920MX

Le prime impressioni sono molto positive: linea elegante, design leggero e corpo compatto (il vecchio Dell è un po' un mattoncino).

Effettivamente la risoluzione 1920✕1080 rende la dimensione del monitor fin troppo grande (tutti i font sono piuttosto piccoli e dettagliati). Ho scoperto a posteriori che questa caratteristica per i monitor si chiama High DPI, per cui testo e icone appaiono molto piccoli se non gestito dal sistema operativo).

Ma qui veniamo alla vera chicca: i tempi di avvio sono eccezionali: sia sotto Windows 10 che sotto Linux Mint KDE siamo intorno ai 12 secondi dal menù di grub al desktop.


sabato 11 giugno 2016

Configurazione Raspberri PI 2

Dopo qualche mese di smanettamento con il raspberry, mi appunto qui una serie di note che ho raccolto nel frattempo.

Scelta del sistema operativo

La prima cosa da fare è selezionare il sistema operativo che girerà sul raspberry. Il consiglio che do è quello di provarne due o tre in prima persona, in modo da capire quale è quello più adatto alle proprie esigenze in base alle funzionalità offerte, configurabilità, versatilità.

La mia scelta è ricaduta su una distribuzione linux (che conosco bene), magari debian based (adoro apt), con Kodi installato sopra (mi interessa che sia un media center). In base a questi criteri, ho selezionato queste:
XBian e Osmc sono piuttosto simili, tranne che la seconda di default ha una skin personalizzata per Kodi, mentre XBian usa quella predefinita; sono entrambe debian-based, mentre OpenElec è una distribuzione ad hoc non basata su nessuna distro preesistente.

A livello di velocità di avvio, la più veloce risulta essere OpenElec, seguita da Osmc e per ultima XBian.

OpenElec, per contro, monta una serie di cartelle (tra cui /etc) su partizione read-only, per cui ha un livello di configurabilità post-installazione molto basso.

Attualmente sto usando Osmc (con skin predefinita di Kodi!) e mi sto trovando bene.

Modifica del file /boot/config.txt

La prima modifica ha lo scopo di aumentare le prestazioni, ma una ricerca di "overclock rpi2" su google porta ad un mole di risultati in cui è difficile districarsi; ad esempio ho trovato alcuni risultati interessanti qui, qui e qui, dai quali ho estratto la seguente configurazione di partenza:
arm_freq=1000
sdram_freq=500
core_freq=500
over_voltage=2
gpu_men=320
temp_limit=75
boot_delay=0
disable_splash=1
initial_turbo=30
Un'ottima guida del significato di questi e altri parametri è quella ufficiale.

La seconda modifica ha l'obiettivo di evitare che all'avvio il raspberry prenda il controllo della TV (switching automatico); questo si ottiene aggiungendo al file config.txt la riga:
hdmi_ignore_cec_init=1
Inoltre, va modificato il comportamento di Kodi direttamente nel suo menù di configurazione, raggiungibile da  Kodi > Settings > System > Input Devices > Peripherals > CEC Adapter > Devices to power on during startup....

La terza modifica serve ad avviare l'HDMI per default: questo perchè è possibile accendere la TV in maniera del tutto asincrona rispetto al raspberry, per cui voglio trovare Kodi acceso senza dover effettuare un riavvio. Questa modifica prevede l'aggiunta di queste due righe:
hdmi_force_hotplug=1
hdmi_drive=2
secondo quanto descritto qui. Questa terza modifica la volevo rimuovere a vantaggio di uno script che controlla se la tv è accesa o no, lanciando automaticamente Kodi.

La quarta modifica serve a registrare il decoder MPEG-2, in caso lo si sia acquistato separatamente. E' possibile infatti acquistare separatamente il codice che attiva la decodifica hardware di un flusso MPEG-2; il costo è abbastanza contenuto e può essere effettuato presso questo sito. Dopo qualche giorno arriva per posta il codice da inserire mediante la riga:
  
    decode_MPG2=0xYYYYYYY

Il comando che verifica se la registrazione è andata a buon fine è

    vcgencmd codec_enabled MPG2

che restituisce disabled o enabled a seconda dei casi.

Configurazione della rete

Una cosa fondamentale è quella di impostare un indirizzo IP statico, tipicamente al di fuori dell'intervallo di indirizzi gestito in DHCP dal router di casa. La comodità di usare lo stesso indirizzo IP è quella di impostare sui vari desktop (qui a casa abbiamo di tutto, PC Windows, Linux, Mac, tablet Android...) l'accesso alla condivisa samba.

Un'altra funzionalità comoda è quella di  impostare il dns dinamico come già indicato qui.

Configurare Kodi

La prima cosa da fare è configurare la lingua italiana, poi verificare che funzioni la condivisione samba ed eventualmente attivare la condivisione DLNA (richiesta dalla mia smart TV).

Avviare kodi solo se la TV è accesa


Lascio sempre il mio raspberry acceso anche se alcuni periodi lo uso molto poco. Le assicurazioni riguardo al suo bassissimo consumo vanno però corroborate da esperienza diretta, per cui mi sono collegato al raspberry e ho dato un bel htop e, sorpresa! In idle completo ho notato la CPU al 10/15% ! Mi sarei aspettato dei valori 0 virgola, eppure non era così! Allora sono andato a vedere cosa consumava più CPU e ho notato il processo Kodi.Bin.

Una ricerca su internet mi ha confermato che Kodi in idle consuma, e dipende anche dalla skin selezionata (io uso quella di default), anche se non si usa da ore ed è da quasi sempre acceso lo screensaver (il dimming).

Per questo motivo mi è venuta l'idea di lanciare kodi solo se la TV è accesa, ed ho visto che anche qualcun altro ha avuto la mia stessa idea, per cui ho deciso di creare il mio script di verifica della TV, ottenendo il seguente:
#!/bin/bash

ping -c 1 -W 1 192.168.1.7 > /dev/null

if [ $? -eq 0 ]; then

        systemctl -q status mediacenter > /dev/null

        if [ $? -ne 0 ]; then
                sudo systemctl start mediacenter
        fi

else

        systemctl -q status mediacenter > /dev/null

        if [ $? -eq 0 ]; then
                sudo systemctl stop mediacenter
        fi

fi

exit 0 

Poi ho creato il file /etc/systemd/system/checkHdmi.service con il seguente contenuto:
[Unit]
Description=Pinga la TV

[Service]
Type=simple
ExecStart=/home/osmc/checkHdmi.sh

Ed il file /etc/systemd/system/checkHdmi.timer che lancia il servizio ogni minuto:
[Unit]
Description=Check if TV is on

[Timer]
OnBootSec=60
OnUnitActiveSec=60
Unit=checkHdmi.service

[Install]
WantedBy=timers.target

Ho abilitato ed avviato il servizio con i comandi: 

systemctl enable checkHdmi.timer   
systemctl start checkHdmi.timer

Dns dinamico


La necessità è quella di raggiungere dall'esterno il server casalingo che abbiamo messo su, magari per farci ssh dall'esterno della lan di casa, un client torrent web al quale aggiungere .torrent dal telefonino mentre siamo in giro o un sito http per provare wordpress o tomcat.

Ci sono una serie di siti che forniscono dns dinamico gratuitamente, tra i quali:
  • noip (richiede mensilmente la conferma, anche se usato)
  • afraid (i subdomain possono sparire in maniera impredicibile)
  • duckdns
  • nsupdate (richiede annualmente la conferma, se non usato)

Se siamo abbstanza fortunati sul pannello di configurazione del modem/router ADSL c'è già la possibilità di settare un indirizzo dinamico, altrimenti bisogna configurarselo a mano.

Configurare il server casalingo per comunicare il nuovo IP al sito dns dinamico è un vero inferno se usiamo dyndns o inadyn, ma abbastanza semplice se usiamo il comando http che ci fornise il sito dns dinamico; tale comando aggiorna sul sito il nostro nuovo indirizzo IP visibile dall'esterno.

Per il servizio afraid è un comando wget che ho inserito nello script /etc/rc.local, ma il problema è che tale script viene eseguito prima che internet sia raggiungibile; va quindi inserito un test per verificare la connettività.

Tale test lo prendiamo per esempio da qui, ed aggiungiamo un'attesa con retry infinito, il risultato è la seguente sezione di script (ringraziamo sempre il sito tohtml.com per la conversione in HTML):
#!/bin/sh

isConnected="0"

while [ $isConnected -eq "0" ]
do
        sleep 10
        wget -q --spider http://freedns.afraid.org
        if [ $? -eq 0 ]; then
                isConnected="1"
        fi
done

wget -O /dev/null http://freedns.afraid.org/dynamic/update.php?XXX

exit 0
Da notare di questo script:
  • se internet non è raggiungibile questo script non esce;
  • se si riavvia il modem, cambia l'indirizzo IP assegnato dall'ISP e andrebbe rilanciato questo script.
Il passo successivo è attivare il port forwarding sul router, in modo da indicare che le richieste che arrivano al modem dall'esterno su determinate porte vanno rigirate sul server casalingo.

Configurazione in systemd


Adottato ormai in quasi tutte le distribuzioni, va configurato in modo che lanci all'avvio lo script di update DNS inserito sopra:
  • bisogna creare il file /etc/systemd/dynamicDns.service con il seguente contenuto:
[Unit]
Description=Aggiorna il server DNS
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/home/osmc/updateDns.sh

[Install]
WantedBy=multi-user.target

Dove il file indicato nel campo ExecStart contiene lo script di cui sopra.

venerdì 3 giugno 2016

Telecomando WII per Kodi su Xbian (e forse anche per altre distribuzioni)


Per far funzionare il telecomando wii con Kodi ho dovuto effettuare i seguenti passaggi:
  1. Recuperare un dongle bluetooth
  2. Installare lo stack bluetooth di linux bluez con il comando apt-get install bluez
  3. Lanciare il comando hcitool scan e premere contemporaneamente i tasti 1 e 2 del telecomando wii: i led del telecomando lampeggieranno per una ventina di secondi in attesa del comando di accoppiamento
  4. Se il comando precedente non va a buon fine lanciare il comando hciconfig hci0 reset e riprovare con il comando al punto precedente
  5. Installare i driver wiimote con il comando apt-get install python-cwiid xbmc-eventclients-common
  6. Recuperare lo script xbmc-wiimote dalla pagina https://github.com/paulvt/xbmc-wiimote, renderlo eseguibile con il comando chmod -x e metterlo in una cartella del PATH (io l'ho messo in /usr/bin)
  7. Lanciare lo script del punto precedente con il parametro -b , dove è il valore trovato con il comando del punto 3, nel formato di 6 numeri separati da ':'
  8. In kodi il telecomando sarà riconosciuto e funzionante!
  9. Per rendere le modifiche effettive ad ogni riavvio, copiare il comando al punto 7 nel file /etc/rc.local
  10. al successivo riavvio, premere insieme i tasti 1 e 2 del telecomando wii per riattivarne il controllo

giovedì 5 maggio 2016

Aggiungere canali a TVHeadend




Ho scoperto con orrore che bisogna aggiungersi a mano quantomeno i MUX da cui il nostro dispositivo DVB-T si prende poi i canali.

Per avere la lista di mux ho dovuto cercare su internet; per Roma ad esempio ho trovato questa, ma probabilmente la lista ufficiale è disponibile da qualche altra parte.

Il pannello di configurazione dei mux in tvheadend si raggiunge dai seguenti menù:


Ciascun mux insiste su una frequenza, per cui si seleziona il tasto verde Aggiungi, e dopo aver selezionato la rete esce fuori una schermata con tanti parametri.

Fondamentale inserire la frequenza del mux e l'ampiezza di banda a 8MHz. Portando manualmente lo stato della scansione ad ATTIVO, si forza la scansione, per cui dopo un po' l'interfaccia riporta il numero di servizi trovati.

In caso di fallimento, ho immesso anche la costellazione a QAM/64, poi la modalità di trasmissione e così via. Per gli effettivi valori di FEC ho cercato su internet il nome del MUX (ad esempio per mux rete a 1 esce questo)






sabato 30 aprile 2016

Reinstallare Windows 7 OEM


Mi è capitato tra le mani un laptop HP che non parte più a causa della corruzione dei dati di avvio, ed è quindi da reinstallare il sistema operativo.

La targhetta posta sotto il portatile dice che si tratta di un Windows 7 Home Premium (non si capisce se a 32 o a 64 bit) e contiene anche il codice di licenza.

Direttamente dal sito di Microsoft è possibile installare la iso di Windows 7, ma solo se si è in possesso di una licenza non OEM; in questo caso, bisogna rivolgersi al produttore del PC.

Si trovano in giro su internet le iso di Windows 7, io ho le istruzioni su come recuperarle da questo sito.

Per essere sicuri di aver scaricato quelle ufficiali, è utile confrontare i checksum SHA1 delle iso appena scaricate, una lista di queste si può trovare qui e riportare qua sotto per sicurezza:

Windows 7 SP1
Home Premium edition
32bit:  6071B4553FCF0EA53D589A846B5AE76743DD68FC
64bit:  6C9058389C1E2E5122B7C933275F963EDF1C07B9

Professional edition
32bit:  D89937DF3A9BC2EC1A1486195FD308CD3DADE928
64bit:  0BCFC54019EA175B1EE51F6D2B207A3D14DD2B58

Ultimate edition
32bit:  65FCE0F445D9BF7E78E43F17E441E08C63722657
64bit:  36AE90DEFBAD9D9539E649B193AE573B77A71C83

Da linux è possibile ottenere il checksum SHA mediante il comando sha1sum

Una volta ottenuto il file .ISO, bisogna installarlo su una penna USB o un DVD.

Per il DVD immagino sia facile, usando uno dei DVD burner presenti in giro.

Per la penna USB bisogna usare dei tool specifici:
  • per windows parlano tutti bene di rufus;
  • per linux bisogna usare WinUSB, unetbootin non funziona.

Dopo tutto questo giro, ho ottenuto una penna USB con l'installer di windows 7 avviabile. Ho usato l'immagine a 64 bit visto che il processore è un I5, ed al momento di inserire il codice di licenza l'installer è andato avanti tranquillamente.

Una volta inserita la penna USB e avviato windows, tra le partizioni disponibili per l'installazione mi ha elencato anche la partizione di restore. A questo punto ho pensato che fosse meglio usare il restore del produttore, per avere anche tutti i driver installati (con la modalità manuale bisogna installarsi tutti i driver da soli).

Sapendolo prima, forse avrei risparmiato un po' di tempo (anche se come vedremo in seguito non è stato tempo perso), per cui la prima regola da seguire per reinstallare il sistema operativo è:

verificare se presente e in caso affermativo usare la modalità di restore fornita dal produttore del PC 

Per il portatile HP quindi l'avvio della modalità restore si ottiene schiacciando F11 al boot.
Attivando il ripristino, però ho ottenuto un errore (0xe0ef0003), per cui ho dovuto installare windows manualmente dalla penna USB generata dalla ISO.

sabato 16 gennaio 2016

Se sparisce la sezione TV (Live) da Kodi



É perchè la stringa m3u del plug-in punta ad un link non funzionante...per risolvere bisogna cambiare la stringa.

Installare Flash su Vivaldi


Sto usando da qualche settimana il browser Vivaldi e sembra molto buono (veloce, ha tutte le funzioni che ci si aspettano). Ho dovuto abbandonare Firefox per un fastidioso bug per cui ad ogni apertura di Firefox usciva un messaggio di errore, perdendo la sessione di navigazione precedente (funzione che trovo fondamentale).

L'altro giorno ero sul sito di cinefili filmtv.it e volevo vedere un trailer, ma il sito mi ha risposto con un messaggio di errore nella finestra del trailer sulla mancanza del plug-in flash. Ho trovato i comandi per installare e far funzionare il plugin flash con vivaldi e me la appunto qui:

  • add-apt-repository ppa:skunk/pepper-flash
  • apt-get update
  • apt-get install pepflashplugin-installer
  • riavviare il browser




mercoledì 3 giugno 2015

Rallentare la velocità del mouse


Ho un simpatico mouse ROCCAT Kone+, che linux mi riconosce tranquillamente.


Il comando lsusb ad esempio fornisce la seguente riga:
Bus 002 Device 005: ID 1e7d:2d51 ROCCAT Kone+ Mouse
Non ho installato nessun driver particolare, come ad esempio suggerito in questa pagina che contiene il driver ufficiale per linux. La pagina indica come attivare la gestione delle macro e delle funzioni avanzate con questo mouse, ma per adesso non ho intenzione di usarle.

L'unico problema con il driver di default è che la velocità del mouse risulta troppo elevata, rendendo il puntatore difficile da controllare quando si vogliono selezionare aree dello schermo o controlli grafici troppo piccoli.

Per poter ottenere una velocità adeguata, ho dovuto seguire la guida indicata in questa pagina, che suggerisce di effettuare dei tentativi di soglie di sensibilità con i comandi:
  • xinput list: per trovare l'id del mouse da usare nei comandi successivi
  • xinput list-props mouseId: per trovare l'elenco dei parametri del mouse configurabili 
  • xinput set-prop mouseId paramId valore: per attivare il valore di un parametro
Una volta trovato il valore corretto, è possibile renderlo attivo per ogni avvio del pc, andando ad aggiungere una sezione nel file /etc/X11/xorg.conf, nel mio caso  per rallentare il puntatore del mouse ho dovuto aggiungere in coda le seguenti righe:

Section "InputClass"
    Identifier "Roccat"
    MatchProduct "ROCCAT ROCCAT Kone[+]" # Product name from xinput list.
    Option "ConstantDeceleration" "3" # The same value as xinput.
EndSection


venerdì 20 febbraio 2015

Salvare gli screenshot sul desktop (lubuntu)


Faccio spesso uso della funzione di salvataggio dello schermo del pc. Con l'ultima versione di lubuntu installata premevo il tasto printScr ma non accadeva nulla per cui pensavo che non fosse una funzione operativa come in un ubuntu normale.

Poi un giorno per caso ho visto una serie di file .png nella mia home, e aprendoli, ho scoperto con stupore che erano tutte le schermate che avevo tentato di catturare nel frattempo (per abitudine, ho continuato a premere printScr ogni volta).

Il sistema usato per salvare le schermate è scrot; un esempio di nome di una schermata catturata con  scrot è
2014-11-20-212200_1280x800_scrot.png
dove si nota il timestamp di quando è stata catturata la schermata, e la risoluzione.

L'unico problema è che voglio salvare le schermate sul desktop e non nella home, per una maggiore visibilità.

Ho cercato come era configurata la funzione di salvataggio, e da questo wiki leggo di cercare il file ~/.config/openbox/lxde-rc.xml, solo che essendo una lubuntu il file da recuperare è il seguente:
~/.config/openbox/lubuntu-rc.xml

Questo file è pieno di impostazioni interessanti ed anche ben commentato, per cui è possibile sbirciare quali aspetti di lxde/lubunutu possiamo modificare attraverso la sua modifica.

Tornando all'argomento iniziale, ho trovato il comando in questione:
    <!-- Launch scrot when Print is pressed -->
    <keybind key="Print">
      <action name="Execute">
        <command>lxsession-default screenshot</command>
      </action>
    </keybind>

Cercando con google lxsession-default la prima pagina che esce mostra come raggiungere la funzione che ci permette di cambiare le applicazioni di default (in italiano la voce è Preferenze → Applicazioni predefinite per LXSession)

Smanettando un po', ho dovuto creare un file apposito da mettere come applicazione preferita, con il nome zacscrot, copiato in /usr/bin, il cui contenuto è il seguente:

scrot '%Y-%m-%d_%H-%M-%S__$wx$h.png' -e 'mv $f ~/Scrivania/'


domenica 6 ottobre 2013

Programma per la visualizzazione di note condivise


E' da un po' di tempo che sto avendo la fantasia di scrivere un programma per la visualizzazione di note condivise, che permetta di scriversi velocemente una nota, un url, una checklist, e di condividerlo tra i vari dispositivi che quotidianamente usiamo, nella fattispecie il PC di casa con linux, quello dell'ufficio con windows, un telefonino con android.

Ho deciso quindi di scrivere quali potrebbero essere le caratteristiche di un programma di questo tipo, prendendo spunto da internet:
  • uso del servizio Dropbox per la sincronizzazione
  • uso della formattazione markdown: discussione alla libreria di sviluppo cosigliata

Avevo anche trovato un nome: Mark down oltre che indicare il tipo di formattazione, vuol dire appuntarsi, per cui un nome carino in italiano "appuntarsi note" diventa MarkDownNotes.

Ma durante la ricerca di informazioni al riguardo, ho scoperto che tutte queste non sembrano delle idee troppo originali:

Quello che noto è che ci sono un bel po' di applicazioni per IOS ma niente per desktop e/o android, per cui insisto nella mia fantasia. L'utente può prescindere dall'usare il mio programma, perchè la modifica delle note è ottenuta mediante un qualsiasi editor di testo, e la sincronizzazione mediante dropbox.

Il valore aggiunto sarebbe quindi fornito dalle seguenti caratteristiche:
  • cross-platform: windows/linux/android
  • un'icona nella traybar per aprire/chiudere tutte le note, inserire una nuova nota (nella versione desktop)
  • la possibilità di associare una data alla nota in modo da fornire una sorta di promemoria
  • collegamento con google calendar?
  • ?
vedremo...

Accesso automatico via ssh


Questo breve post per indicare i passi per accedere automaticamente ad un server ssh senza dover inserire la password ogni volta:
  1. generare una coppia di chiavi ssh mediante il comando:
    ssh-keygen
  2. copiare la chiave pubblica sul server ssh con il comando:
    scp .ssh/id_rsa.pub utente@server:.ssh/authorized_keys
  3. accedere al server con il comando:
    ssh utente@server
et voilà.

PS: attenzione al comando del passo 2: sovrascrive il file authorized_keys del server.

Il comando ssh-keygen lanciato da solo genera una coppia di file chiave nella cartella .ssh della propria home:
  • .ssh/id_rsa
  • .ssh/id_rsa.pub
Il primo file è la chiave privata, da conservare gelosamente, il secondo è la chiave pubblica, che abbiamo installato sul server di destinazione.
 
Se si usano più client che accedono allo stesso server, per poter avere il login automatico si può:
    o copiare il file .ssh/id_rsa nella home degli altri client;
    o generare una coppia di chiavi per ogni client, e poi appendere in coda al file .ssh/authorized_keys del server i vari file .ssh/id_rsa.pub così generati.

In questo secondo caso la sequenza delle operazioni per ciascun client è la seguente:
  1. generare una coppia di chiavi ssh mediante il comando:
    ssh-keygen
  2. copiare la chiave pubblica sul server ssh con il comando:
    scp .ssh/id_rsa.pub utente@server:
  3. accedere al server con il comando (chiederà la password):
    ssh utente@server
  4. appendere la chiave pubblica del client al file del server con il comando:
    cat id_rsa.pub >> .ssh/authorized_keys 

domenica 28 luglio 2013

L'OFM definitivo


Dopo anni di ricerche, sfociate in un post scritto nel 2009, finalmente posso dire di aver trovato un OFM che mi aggrada! Stiamo parlando di Double Commander!

Facendo seguito al post di ieri riguardo ai colori per tipi di file, ho configurato Double Commander all'uopo, ed il risultato mi soddisfa alquanto!


Per ottenere questo risultato bisogna andare nel menù Configurations→Options e scegliere Colors→File types, ottenendo una schermata di questo tipo:



Ho creato una serie di categorie, indicato per ciascuna l'estensione o le estensioni a cui applicare il colore selezionato.

E' possibile indicare se alla categoria appartengono solo i file "-*", solo le cartelle "d*", solo i file con attributo eseguibile "-??x*" o file e cartelle "*", tutte strighe da inserire nel campo Category attributes.

E' un programma multi-piattaforma che gira anche sotto windows, per cui potrebbe avere senso cominciarlo ad usare anche di là. Vedremo...

sabato 27 luglio 2013

Colorare i file in base all'estensione


Avere la lista dei file colorata per estensione è una gran comodità, come si evince dal seguente confronto:


Obiettivo di questo post è quello di identificare le estensioni utili e i colori da usare, e di tentare di impostare il tutto nei vari applicativi usati (total commander sotto windows, ls colorati nei terminali linux, ecc).

Estensioni e colori

Ecco un possibile esempio di associazione di colori:

default: ciano
eseguibile: verde
immagine: rosa
audio: fuxia
testo semplice: grigio
documento: bianco
archivio: rosso
il giallo verrà usato dagli applicativi OFM ad indicare i file selezionati

Impostare i colori per il comando ls nella shell

Il comando
dircolors --print-database > .dircolors
invocato nella cartella HOME genera un file che verrà letto dallo script .bashrc (almeno in ubuntu) nelle righe:
 
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi 

Per sapere quali colori sono a disposizione nella shell e quali codici usare, viene in aiuto un simpatico script recuperato da questa pagina, la cui esecuzione fornisce il seguente risultato:


Il risultato dell''esecuzione dello script dipende dalla configurazione del PC in uso, per cui su un'altra macchina con lubuntu, il risultato è il seguente:



Si impostano quindi i colori che vogliamo nel file .dircolors; si riavvia la shell (o si esegue il comando eval evidenziato in viola nello script precedente) e si verifica il risultato.

Oltre ai colori ANSI riportati con lo script precedente, è addirittura possibile impostare colori a 8 bit. Eseguendo il secondo script della pagina indicata prima, si ottiene la seguente schermata:


Per usare tali colori bisogna inserire la stringa
.ext 38;05;val
dove ext è l'estensione da colorare, val è ad esempio (232+35=267) per il verdino in basso a destra.

Qui il risultato sul secondo PC:


Il problema con questo sistema è che non è compatibile con gnome-commander, per cui si consiglia di non usarlo.

Dopo la scelta dei colori, ecco il contenuto del mio file .dircolors:
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# Copyright (C) 1996, 1999-2008
# Free Software Foundation, Inc.
# Copying and distribution of this file, with or without modification,
# are permitted provided the copyright notice and this notice are preserved.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM rxvt
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM screen
TERM screen-256color
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
FILE 01;36 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
 # numerical value, the color is as for the file pointed to.)
HARDLINK 44;37 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to uncomment the following:
#.cmd 01;32 # executables (bright green)
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
 # archives or compressed (bright red)
.tar 01;31
.tgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.lzma 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.bz2 01;31
.bz 01;31
.tbz2 01;31
.tz 01;31
.deb 01;31
.rpm 01;31
.jar 01;31
.rar 01;31
.ace 01;31
.zoo 01;31
.cpio 01;31
.7z 01;31
.rz 01;31
# image formats
.jpg 38;05;219
.jpeg 38;05;219
.gif 38;05;219
.bmp 38;05;219
.pbm 38;05;219
.pgm 38;05;219
.ppm 38;05;219
.tga 38;05;219
.xbm 38;05;219
.xpm 38;05;219
.tif 38;05;219
.tiff 38;05;219
.png 38;05;219
.svg 38;05;219
.svgz 38;05;219
.mng 38;05;219
.pcx 38;05;219
.mov 38;05;219
.mpg 38;05;219
.mpeg 38;05;219
.m2v 38;05;219
.mkv 38;05;219
.ogm 38;05;219
.mp4 38;05;219
.m4v 38;05;219
.mp4v 38;05;219
.vob 38;05;219
.qt 38;05;219
.nuv 38;05;219
.wmv 38;05;219
.asf 38;05;219
.rm 38;05;219
.rmvb 38;05;219
.flc 38;05;219
.avi 38;05;219
.fli 38;05;219
.flv 38;05;219
.gl 38;05;219
.dl 38;05;219
.xcf 38;05;219
.xwd 38;05;219
.yuv 38;05;219
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 01;35
.anx 01;35
.ogv 01;35
.ogx 01;35
# audio formats
.aac 38;05;201
.au 38;05;201
.flac 38;05;201
.mid 38;05;201
.midi 38;05;201
.mka 38;05;201
.mp3 38;05;201
.mpc 38;05;201
.ogg 38;05;201
.ra 38;05;201
.wav 38;05;201
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa  00;36
.oga  00;36
.spx  00;36
.xspf 00;36

# Zac ext
# eseguibili
.exe 01;32
.run 01;32
.bat 01;32
.sh  01;32
# documenti
.xls  00;01
.xlsx 00;01
.doc  00;01
.pdf  00;01
# documenti ascii
.txt 00;37
.c   00;37
.cpp 00;37
.h   00;37
.hpp 00;37
# moduli musicali
.s3m 38;05;201