Linux e history: come aggiungere data ed ora di esecuzione dei comandi

Uno dei comandi più utili per i sysadm di Linux è sicuramente history, che riporta la cronologia dei comandi digitati nelle sessioni shell.

Tuttavia, nella configurazione di default di moltissime distro, history riporta solo la lista dei comandi eseguiti ma non è configurato per tracciare la data e l’ora dell’esecuzione dei vari comandi.

Per aggiungere data ed ora, è necessario editare da root il file /etc/environment ed aggiungere:
HISTTIMEFORMAT="%d/%m/%y %T "

E’ sufficiente eseguire il logout/login della sessione per verificare che tutto stia funzionando correttamente: da questo momento in poi, per tutti i comandi lanciati sarà presente nella lista anche data ed ora; per i comandi lanciati precedentemente invece sarà presente solo la data della modifica di /etc/environment.

Vi suggerisco un altro paio di modifiche ad /etc/environment per migliorare il logging di history, che di default è limitato a 1000 (o 2000) righe:
HISTSIZE=-1
HISTFILESIZE=-1

renderanno il logging infinito, sia per numero di righe che di dimensione del file.

Linux, systemd e PowerTOP: come applicare –auto-tune al boot

Per la felicità degli utenti Linux possessori di CPU Intel, il colosso di Santa Clara ha da tempo sviluppato PowerTOP, uno strumento molto utile soprattutto in ambito mobile, che serve a visualizzare lo stato dell’impatto energetico della CPU e dei relativi sottosistemi, e che permette inoltre di applicare al sistema Linux alcuni tuning sul kernel e sui device per ridurre il consumo di corrente.
PowerTOP può, inoltre, applicare automaticamente questi tuning per migliorare il risparmio energetico tramite l’esecuzione, come root, di: powertop --auto-tune

Vediamo ora come applicare –auto-tune automaticamente al boot tramite systemd.
Creare (come root) in /etc/systemd/system/ un file vuoto chiamato powertop.service
Editare il file appena creato inserendo:
[Unit]
Description=PowerTOP auto tunings


[Service]

Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune


[Install]
WantedBy=multi-user.target

Se volete inibire l’attivazione del risparmio energetico per tastiera e mouse (su questi device i tunings a volte sono noiosi) inserite prima del paragrafo [Install] le seguenti righe:
ExecStart=/usr/bin/echo 'on' > '/sys/bus/usb/devices/1-2/power/control'
ExecStart=/usr/bin/echo 'on' > '/sys/bus/usb/devices/1-4/power/control'

A questo punto è sufficiente eseguire systemctl daemon-reload per ricaricare la lista dei servizi systemd, eseguire systemctl enable powertop.service per abilitare il servizio all’avvio al boot, e riavviare il sistema.
Al boot successivo, potrete verificare che i tunings siano stati effettivamente applicati verificando nel pannello “Tunables” che tutte le voci siano impostate al valore “Good”.

Xubuntu e Dropbox: come visualizzare correttamente l’icona nell’area di notifica

Dropbox su Xubuntu soffre di un fastidioso bug che impedisce la corretta visualizzazione dell’icona del programma nell’area di notifica (compare una icona quadrata con “divieto di accesso”).

dropbox

Per risolvere il problema, è sufficiente:

  1. chiudere Dropbox da riga di comando con dropbox stop
  2. editare come root il file /usr/bin/dropbox (magari fatevi una copia di backup prima)
  3. creare una nuova riga dopo import os
  4. inserire nella nuova riga os.environ['DBUS_SESSION_BUS_ADDRESS'] = ""
  5. salvare e lanciare nuovamente Dropbox, ora l’icona sarà visualizzata correttamente

 

VMware Workstation su Linux host: come ricompilare i moduli da riga di comando

Primo post del 2016!

Perdonate la lunga assenza, ma sono stato lontano dal blog causa lavoro | mancanza di ispirazione a scrivere | vita privata.
Riprendo, spero in maniera più assidua, con un piccolo appunto: come ricompilare, su VMware Workstation in un host Linux, i moduli (vmnet, vmbridge, vmmon) VMware da riga di comando, cosa utile quando viene aggiornato il kernel.

Collegandosi come root è sufficiente lanciare:

root@altair:/home/albertoscotti# vmware-modconfig --install-all --console

Al termine della breve compilazione, se tutto è andato a buon fine, i servizi di VMware verranno avviati senza errori.

 

Ubuntu: crash di upowerd quando si collega un iPhone via USB

Sul mio portatile, ho notato che con tutte le ultime release di Ubuntu, quando si collega via USB un iPhone, smettono di funzionare le funzionalità di risparmio energetico: la luminosità del display e della tastiera retroilluminata non diminuisce di intensità, non è più possibile consultare lo stato della batteria, e così via.
Questo è causato dal crash, con relativo core dump, del demone upowerd:

Dec 23 11:25:44 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:46 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:49 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:51 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:53 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:56 mizar systemd[1]: upower.service: Failed with result 'core-dump'.
Dec 23 11:25:59 mizar systemd[1]: upower.service: Failed with result 'core-dump'.

Per risolvere il problema è sufficiente installare tramite apt-get una libreria parte del progetto libimobiledevice:

root@mizar:/home/utente# apt-get install libimobiledevice-utils

Che strano che nella distro sia presente di default libimobiledevice ma senza il pacchetto “utils”… Mah!

 

Ubuntu, CentOS e Intel: eliminare lo screen tearing nella riproduzione video

Uno dei difetti su Linux e schede video Intel che mi danno più fastidio è la mancanza di fluidità nella riproduzione video, causato dallo screen tearing.
Sebbene sia un problema molto diffuso, è anche relativamente facile risolverlo.

Per distribuzioni Red Hat, CentOS e derivate è sufficiente creare in /etc/X11/xorg.conf.d un file di configurazione “20-intel.conf“, o con il nome che più vi aggrada purché l’estensione sia .conf, con il seguente contenuto:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod" "sna"
   Option      "TearFree" "true"
EndSection

e riavviare il server grafico.

Per Ubuntu e derivate il file, con il medesimo contenuto, va creato in /usr/share/X11/xorg.conf.d/

 

Ubuntu 15.10 e VMware Workstation 12: risolvere il problema del mancato avvio del programma

Su Ubuntu 15.10 ho riscontrato un curioso bug di VMware Workstation 12: nonostante l’installazione avvenga correttamente, semplicemente non si avvia 😀

Il problema è causato dal fatto che in Ubuntu 15.10 non sono referenziate in path alcune librerie necessarie a VMware.
Per risolvere il problema è sufficiente:

  1. editare il file /usr/bin/vmware (richiesto diritti di root)
  2. creare una nuova linea dopo la linea 17 (dopo export PRODUCT_NAME="VMware Workstation")
  3. aggiungere: export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH
  4. salvare

VMware finalmente si avvierà correttamente.