Archivi categoria: Linux

Migliorare i font nelle applicazioni Qt 5

Se notate un rendering dei font sgranato nelle applicazioni Qt 5, create il file ~/.config/fontconfig/fonts.conf:

mkdir ~/.config/fontconfig
nano ~/.config/fontconfig/fonts.conf

e incollate quanto segue:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
</fontconfig>

Chiudete le applicazioni Qt 5 e riapritele.

Fonte: https://bugreports.qt-project.org/browse/QTBUG-27106

Installare Solarized Light e Dark di GNOME 3.12 sulle versioni precedenti (e Mousepad)

Chi ha già aggiornato a GNOME 3.12 ha probabilmente notato la presenza degli schemi Solarized in Gedit.Anche se sono sempre stato un fanatico dello schema Oblivion, comincio a trovarmi bene anche con Solarized Dark. Per chi lo volesse sulle versioni precedenti di GNOME, è possibile estrarlo da GtkSourceView 3.12.1:

wget https://download.gnome.org/sources/gtksourceview/3.12/gtksourceview-3.12.1.tar.xz
tar -xvf gtksourceview-3.12.1.tar.xz
cd gtksourceview-3.12.1/data/styles/

Gedit (e tutte le applicazioni che usano GtkSourceView 3)

sudo cp solarized-{light,dark}.xml /usr/share/gtksourceview-3.0/styles/

Mousepad (e tutte le applicazioni che usano GtkSourceView 2)

sudo cp solarized-{light,dark}.xml /usr/share/gtksourceview-3.0/styles/

Aggiunto il supporto multiarch per appmenu-gtk*

Se avete un’installazione a 64 bit ma usate anche applicazioni a 32 bit, vi sarete sicuramente accorti che queste ultime non si integrano nell’appmenu di Unity.

Oggi è stato introdotto dagli update di Ubuntu il supporto multiarch per appmenu-gtk e appmenu-gtk3, in questo modo i menù delle applicazioni a 32 bit potranno essere esportati su DBUS ed essere usati via HUD. Per abilitarlo, effettuate gli aggiornamenti della vostra Ubuntu e da terminale:

sudo apt-get install appmenu-gtk:i386 appmenu-gtk3:i386

Per chi non avesse comunque capito di cosa sto parlando, ecco un confronto

PS: Ora speriamo che la stessa cosa accada presto anche per appmenu-qt.

3.2.0-34-generic fail to suspend (v86d)

UPDATE: #22 seems to solve this issue. Download all the packages and install them with sudo dpkg -i *.deb (make sure there’s no other DEB in the working directory).

As of Ubuntu kernel 3.2.0-34 my laptop fails to suspend. Right now the only solutions are keeping -33 or disabling v86d (revert these steps). You can keep track of this issue here:

https://bugs.launchpad.net/ubuntu/+source/v86d/+bug/1080530

If you’ve got this problem too, please log in to Launchpad and mark yourself as affected by this bug.

[HP Pavilion] Spegnere le casse quando vengono inserite le cuffie

hc132989394423

Se avete un HP Pavilion con doppio connettore audio in uscita, è probabile che abbiate riscontrato problemi quando collegate degli auricolari. Nel mio caso (dv6-2153el, quello della foto sopra) l’audio continuava a uscire dalle casse del portatile anche a cuffie inserite. Per risolvere il problema è bastato passare a snd-hda-intel la giusta opzione al suo avvio:

echo "options snd-hda-intel model=hp-dv5" | sudo tee /etc/modprobe.d/snd-hda-intel.conf

e riavviare il computer.

Ora potete ascoltare la discografia di Gigi D’Alessio senza che i vostri colleghi di lavoro/università vi guardino con disgusto.

Fonte: http://ubuntuforums.org/showthread.php?t=1043568

Terminator va in segmentation fault durante il drag & drop

Ho da poco scoperto Terminator (sì, lo so, era ora!) e me ne sono praticamente innamorato. Ho anche scoperto in fretta che trascinando per un po’ i terminali, Terminator va in segmentation fault. Fortunatamente esiste un “rimedio”, indicato qui: https://bugs.launchpad.net/terminator/+bug/869503/comments/15

L’unico effetto collaterale è che quando trascinerete testo o file dentro a Terminator avrete la stessa animazione del trascinamento dei terminali, un prezzo assai misero da pagare per evitare crash.

Per applicare questa modifica, aprite il file /usr/share/terminator/terminatorlib/terminal.py da root

sudo nano /usr/share/terminator/terminatorlib/terminal.py

e cercate la funzione on_drag_motion (CTRL + W e scrivete def on_drag_motion) e commentate il primo if che incontrate:

def on_drag_motion(self, widget, drag_context, x, y, _time, _data):
"""*shrug*"""
#        if gtk.targets_include_text(drag_context.targets) or
#           gtk.targets_include_uri(drag_context.targets):
#            # copy text from another widget
#            return

Salvate, chiudete e avete finito.

Per i pigri, o se dovete applicare questo rimedio su più di un computer e volete farlo con un solo comando (se non avete installato curl, fatelo, è troppo fico per non averlo!):

curl http://pastebin.com/download.php?i=X24riVAt | sudo patch /usr/share/terminator/terminatorlib/terminal.py

Bonus trick (Ubuntu)

Una volta installato Terminator su Ubuntu, mi sono accorto che aveva preso il posto di GNOME Terminal nella scorciatoia CTRL + ALT + T. Il modo migliore per correggere questo comportamento è reimpostare x-terminal-emulator al suo valore originale:

sudo update-alternatives --set x-terminal-emulator  /usr/bin/gnome-terminal.wrapper

Rumore nel microfono con scheda audio Intel (modulo snd-hda-intel)

Se siete  in possesso di un portatile con scheda audio Intel e sentite un rumore di fondo quando registrate col microfono, provate a eseguire questo comando:

echo "options snd-hda-intel position_fix=2" | sudo tee /etc/modprobe.d/snd-hda-intel.conf

e riavviate il pc. Nel mio caso ha (finalmente) risolto il problema.

Maggiori informazioni qui: https://wiki.ubuntu.com/Audio/PositionReporting

Fingerprint GUI manda in crash Unity Greeter (12.04 e 12.10)

Qualche settimana fa mi sono trovato davanti a un problema piuttosto fastidioso: LightDM continuava a crashare senza darmi la possibilità di fare il login. Da bravo utente Linux abituato a questo genere di cose (sigh…), ho subito controllato gli aggiornamenti, e ho scoperto che il problema viene da un aggiornamento a Unity Greeter e da problemi esclusivamente in coppia con Fingerprint GUI. Se usate ancora Ubuntu 12.04 come me, sarà sufficiente fare il downgrade alla versione precedente, che potete scaricare da qui:

64 bit / 32 bit

Se usate Ubuntu 12.10 invece non avete una versione precedente da scaricare, dal momento che le modifiche sono state apportate direttamente nel nuovo sorgente. Avete quindi due possibilità: rinunciare al lettore di impronte, oppure ricompilare Unity Greeter, dopo aver fatto il revert della patch incriminata, che potete trovare qui:

Patch

Se avrò un po’ di tempo farò i due pacchetti, oppure pubblicherò le istruzioni passo passo per risolvere. In attesa ovviamente che arrivi un aggiornamento dallo sviluppatore di Fingerprint GUI.

vboxhost: WARNING! Diff between built and installed module!

Vi è mai capitato di vedere una cosa del genere?

shiba@VPCS11E7E:~$ dkms status
vboxhost, 4.2.2, 3.2.0-32-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)

Se la risposta è sì, avete installato VirtualBox, e in un qualche modo quest’ultimo s’è autoincasinato la gestione dei propri moduli per uno dei vostri kernel installati. Per risolvere dovete prima dire a DKMS che l’attuale driver deve essere rimosso:

sudo dkms remove -m vboxhost -v <versione_del_driver> -k <versione_del_kernel_incriminata>

Nell’esempio sopra <versione_del_driver> è 4.2.2 e <versione_del_kernel_incriminata> è 3.2.0-32-generic. Ora rimuoviamo davvero il driver:

sudo rm -r /lib/modules/<versione_del_kernel_incriminata>/misc

Infine reinstalliamo il modulo:

sudo dkms install -m vboxhost -v -k code]

Ubuntu 12.10 (Linux 3.5) e sony-laptop

Il kernel 3.5 ha portato diversi cambiamenti, ma per il mio portatile ha portato anche diversi problemi: ad esempio kbd_backlight e kbd_backlight_timeout sono spariti e ACPI non rileva più i tasti associati ad Fn. Dopo un po’ di test, ho scoperto che il problema sembra essere circoscritto al modulo sony-laptop.c, quindi per il momento sto ovviando al problema usando il modulo incluso nel kernel 3.4.

Se avete un VPCS11E7E o riscontrate problemi analoghi col vostro VAIO, ho preparato un PPA per rendere il downgrade più semplice:

sudo add-apt-repository ppa:shiba89/vaio-kernel
sudo apt-get update
sudo apt-get install linux-headers-generic sony-laptop-dkms

Il pacchetto che andrete ad installare contiene il modulo sony-laptop del kernel 3.4 con alcune patch prese da http://www.absence.it/vaio-acpi/source/patches/. Compilazione e installazione sono gestite da DKMS, quindi non avrete bisogno di effettuare nessuna modifica manuale. Una volta finita l’installazione è sufficiente riavviare il computer. Per tornare al modulo incluso nel vostro kernel

sudo apt-get purge sony-laptop-dkms

PS: Non fate caso agli altri pacchetti presenti nel repo, sono vecchi test inutili.

Appunti sulle patch aggiunte al modulo

(Tutto questo è scritto molto di fretta, e non escludo che non si capisca niente)

Sto usando queste patch da ormai più di un anno, e fin’ora non ho riscontrato problemi. Per il mio modello, aggiungono alcune funzionalità interessanti sotto /sys/devices/platform/sony-laptop:

Controlli per il sensore di luce ambiente

Avete presente che su Windows la retroilluminazione della tastiera e dello schermo vengono regolate automaticamente? Questi sono i controlli necessari a far sì che questo accada. Sfortunatamente non c’è un demone stabile che si occupi di farli funzionare (se volete provare qualcosa di sperimentale, ve lo linko nei commenti), né sono in grado io di scriverlo.

  • als_backlight
  • als_backlight_levels
  • als_defaults
  • als_kelvin
  • als_lux
  • als_managed
  • als_power

Controllo della carica della batteria

Indica a quale percentuale la carica della batteria deve fermarsi.

  • battery_care_limiter: 0 – 100%, 1 – 80%, 2 – 50%

Protezione dell’hard disk da shock

Non ho la più pallida idea se e come funzionino.

  • gsensor_protection
  • gsensor_sensitivity
  • gsensor_val_type
  • gsensor_xval
  • gsensor_yval
  • gsensor_zval

Controllo per lo spegnimento dell’unità DVD

Impostato a 0 spegne l’unità DVD. Per riaccenderla è sufficiente reimpostare il controllo a 1 o premere il tasto di espulsione dell’unità

  • odd_power

Controlli per il comportamento della ventola

  • thermal_profiles: espone il numero di profili per il comportamento della ventola (3 sul mio PC: 0 balanced, 1 silence, 2 performance).
  • thermal_control: accetta i valori esposti da thermal_profiles.

Queste patch vanno anche a modificare il comportamento di rfkill, aggiungendo due controlli:

$ rfkill list | grep sony
0: sony-wifi: Wireless LAN
1: sony-bluetooth: Bluetooth

Questi permettono una migliore gestione dell’accensione e dello spegnimento delle periferiche wireless. Un esempio banale: se spegnete wi-fi e bluetooth da Windows, vi sarà possibile riattivarli da Ubuntu.