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

Eseguire uno script al boot di Linux


Per fare lo start di uno script all'avvio di Linux aggiungere il proprio script nella directory:

/ect/init.d/myscript

e dargli i permessi di esecuzione

chmod +x myscript

Lo script dovrà rispettare il seguente tracciato:

#!/bin/bash 
#chkconfig: 2345 20 80 
#description: Description comes here.... 
#Source function library. 
. /etc/init.d/functions 

start() { 
   # code to start app comes here 

stop() { 
   # code to stop app comes here 


case "$1" in 

start) 
   start 
   ;; 
stop) 
   stop 
   ;; 
restart) 
   stop 
   start 
   ;; 
*) 
   echo "Usage: $0 {start|stop|restart}" 
esac 

exit 0


La riga #chkconfig: 2345 20 80 definisce il runlevel al quale lo script deve essere fatto partire (sul 2°, 3°, 4° e 5° livello) e le priorità di start (20) e di stop (80).
Per verificare il runlevel al quale sta girando la vostra macchina date il comando in un terminale:
runlevel
 I runlevel sono così definiti:
  • 1 Single user (super user)
  • 2 multi user
  • 3 multi user + network
  • 4 (non utilizzato)
  • 5 multi user, network + X11

I runlevel 0 e 6 servono rispettivamente per il system halt e per il reboot.

Una volta copiato lo script nella directory di init.d dare i seguenti comandi per testare lo start dello script: /ect/init.d/myscript start oppure chkconfig myscript start.

Infine aggiungere lo script al chkconfig:
$ chkconfig --add myscript
$ chkconfig --level 2345 myscript on 
e verificarne l'abilitazione:
$ chkconfig --list | grep myscript

Il troppo spesso dimenticato nohup

Per lanciare un comando da shell e farlo girare in background anche se chiudiamo il terminale:
$ nohup ./fooName &
In questo modo è possibile seguire l'output del comando lanciato sul file nohup.out:
$ tail -f nohup.out
Il comando continuerà a girare fintanto che il processo non verrà "killato":
$ ps -ef | grep fooName $ kill -9

Dalla OpenJDK alla Oracle JDK: andata e ritorno



Per installare la JDK di Oracle in alternativa alla OpenJDK installata per default sugli ambienti GNU/Linux, scaricare la versione desiderata da
http://www.oracle.com/technetwork/java/index.html
Per quanto segue si è optato per la JavaSE. Per verificare la versione attualmente attiva:
$ java -version
Dopo aver scaricato il l'archivio compresso tar.gz scompattarlo:
# tar xvf jdk-7u4-linux-x64.tar.gz -C /usr/lib/jvm/
# update-alternatives --install /usr/bin/java java  /usr/lib/jvm/jdk1.7.0_04/bin/java 1065
# update-alternatives --install /usr/bin/javac javac  /usr/lib/jvm/jdk1.7.0_04/bin/javac 1065
dove 1065 è una data priorità.
Per verificare l'avvenuto update:
$ java -version
oppure per cambiare nuovamente JVM ad un'altra versione:
# update-alternatives --config java



[Fonte: http://alexander.holbreich.org/2011/11/java-7-on-debian/]

Swappiness!

Se si utilizza una o più macchine virtuali, risulta particolarmente utile che le immagini non finiscano sulla swap (in genere più lenta in lettura e scrittura - accesso in 1ms - rispetto alla RAM - accesso in 1ns). Per evitare ciò basta modificare il file /etc/sysctl.conf aggiungendo o modificando il valore assegnato alla variabile di kernel vm.swappiness. Questo valore può variare da 0 a 100 dove:
  • swappiness = 0 consente di non accedere alla memoria fisica (swap) per il più lungo tempo possibile
  • swappiness = 100 sposta tutti i processi sulla memoria fisica liberando la RAM il prima possibile
Per verificare il valore corrente: 
$ cat /proc/sys/vm/swappiness
Per cambiarlo temporaneamente:
$ sudo sysctl vm.swappiness=10
Per rendere la modifica definitiva modificare il file:
$ gksudo gedit /etc/sysctl.conf
e modificare la  linea contenente la stringa vm.swappiness con il valore desiderato:
vm.swappiness=10
dopo il reboot il valore diviene effettivo.


[fonte: http://bit.ly/vOMpzQ]

Svuotare la swap senza il riavvio!

Per svuotare facilmente la swap senza fare il reboot del pc basta utilizzare i comandi:
$ su
# swapoff -a
# swapon -a
oppure si può creare uno script e lanciarlo con privilegi di root. Ad esempio, nel file emptyswap.sh:
#!/bin/bash
echo -e "\nOutput of free before:"
free -m
swapoff -a ; swapon -a
echo -e "\nOutput of free after:"
free -m
echo ""
Per eseguire lo script basta renderlo eseguibile e lanciarlo:
$ chmod +x emptyswap.sh
# gksu sh emptyswap.sh

[Fonte: https://wiki.archlinux.org/index.php/Empty_Swap]

Silverlight o Moonlight?

Per risolvere il problema nella visualizzazione dei contenunti video in streaming sui browser Firefox 7 e Chrome su piattaforme Unix bastano tre click:

Firefox 7:

1) installare l'add-on per la compatibilità:
Add-on Compatibility Reporter

2) installare Moonlight:
Mono Moonlight

3) per verificare il funzionamento del nuovo add-on, dopo aver riavviato il browser, si può usare la diretta Rai.it


Chrome:

1) installare Moonlight:
Mono Moonlight

2) per verificare il funzionamento del nuovo add-on, dopo aver riavviato il browser, si può usare la diretta Rai.it


[Fonte: http://bit.ly/s3edb9]

Come gestire la carica della batteria sul notebook

Per evitare di far fare inutili cicli di carica-scarica alla batteria del notebook, deteriorando inutilmente le celle di carica, anche quando si ha la possibilità di una connessione alla rete elettrica, sarebbe auspicabile separare l'alimentazione della batteria da quella fornita dalla rete. Si hanno due possibilità:

1) staccare fisicamente la batteria dal laptop (pratica noiosa che comporta il problema di una eventuale caduta di tensione e conseguente spegnimento del pc);

2) separare a livello software la gestione di ricarica della batteria (in poche parole inibire la ricarica se non si supera una determinata soglia di scarica).

Delle due, la seconda!

L'idea è semplice: basta intervenire sulla configurazione del gestore carica/scarica fra il livello di interfaccia utente (il sistema operativo) e il BIOS attraverso il System Management BIOS e le API messe a disposizione dal sistema: SMAPI (System Management Application Program Interface).

Questo è, ovviamente gestito da un modulo del kernel ad-hoc differente per ogni laptop.

Questa breve guida è incentrata sul modulo tp_smapi per pc IBM/Lenovo Thinkpad. Ogni comando si riferisce alla configurazione su Ubuntu 11.04 "Natty Narwhal".

Cominciamo.

1) Installiamo i moduli (se non già presenti):
$ su
# apt-get update && apt-get install tp_smapi-source


2) Carichiamo il modulo nel kernel:
# modprobe tp_smapi
e verifichiamo il suo caricamento:
# lsmod | grep tp_smapi


3) Per vedere quali sono la soglia minima di carica (per la quale la batteria deve essere ricaricata) e quella massima (alla quale si smette di caricare la batteria):
# cat /sys/devices/platform/smapi/BAT0/*_charge_thresh


4) Ora, per modificare queste soglie:
# echo 50 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
# echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
In questo caso si è scelto di caricare la batteria fino al 80% della carica totale se raggiunge un livello di scarica del 50%.



Ora facciamo in modo che il tutto sia configurato all'avvio del sistema. Cominciamo col rendere la configurazione permanente:

5) Installiamo:
# apt-get install sysfsutils


6) Aggiungiamo alla fine del file di configurazione le seguenti righe:
devices/platform/smapi/BAT0/start_charge_thresh = 10
devices/platform/smapi/BAT0/stop_charge_thresh = 40
oppure, in modo più veloce, da riga di comando:
# cat >> /etc/sysfs.conf << EOF
# For a LiIon battery in a Thinkpad
devices/platform/smapi/BAT0/start_charge_thresh = 10
devices/platform/smapi/BAT0/stop_charge_thresh = 40
EOF


7) Infine, carichiamo il modulo del kernel all'avvio:
# echo tp_smapi >> /etc/modules



In generale, le regole da seguire per aumentare le prestazioni della batteria sono poche:
  • ridurre i cicli di carica/scarica;
  • non utilizzare/ricaricare la batteria in condizioni di particolare riscaldamento (principalmente su piani inadatti, come le coperte);
  • mantenere la carica della batteria al di sotto del 50% della carica totale (per stressare meno gli ioni di carica all'interno delle celle).

Per una configurazione ottimale e per saperne di più sul funzionamento delle batterie a litio: How to prolong lithium based batteries.

[Fonte: http://www.thinkwiki.org/wiki/Tp_smapi#Installation_on_Ubuntu]

Cambiare tema al puntatore del mouse in Gnome3

Se si vuole cambiare il tema del puntatore del mouse su Gnome3, bastano pochi semplici passi:
 
1) scaricare da gnome-look il tema prescelto;

2) estrarre il file appena scaricato sul proprio Desktop;

3) copiare il tutto nella seguente directory:
$ sudo cp -R ~/Desktop/DMZ-Red /usr/share/icons/

4) selezionare il tema utilizzando gnome-tweak-tool. Se non istallato:
$ sudo apt-get install gnome-tweak-tool

5) infine, sostituire nel file /usr/share/icons/default/index.theme il tema presente con il nome del vostro nuovo tema, quindi:
$ gksu emacs /usr/share/icons/default/index.theme
e aggiungere e modificare le seguenti righe:
[Icon Theme]
#Inherits=default_theme
Inherits=new_theme

Ovviamente, occorre riavviare nautilus:
Alt+F2 --> r --> Invio

Modificare i pulsanti di controllo delle finestre

Se si vuole modificare l'ordine dei pulsanti di controllo delle finestre in Metacity basta lanciare gconf-editor. Da qui

apps -> metacity -> general

Alla voce button_layout inserire la sequenza personalizzata, tenendo presente che la regola è

button_1sx,button_2sx:button_1dx,button_2dx,button_3dx

Alcune possibili combinazioni:

menu:maximize,minimize,close

close,minimize,maximize:menu

close:minimize,maximize,menu



Un altro post (in)utile!

Della serie: continuiamo a sprecare spazio sul web...

Visualizzare file di testo:

$ cat testo.txt

Il cielo notturno
del pianeta Krikkit
è la cosa meno interessante
dell'intero Universo.


...e fare gli alternativi:

$ tac testo.txt

dell'intero Universo.
è la cosa meno interessante
del pianeta Krikkit
Il cielo notturno

Basta ads di Linux Mint sulla pagina di Google!

Dopo aver odiato per un tempo sufficientemente lungo la pagina di ricerca personalizzata di Google (ads Linux Mint, ma anche altri ads) ho deciso di prendere provvedimenti:

0x01) rimuovere mint-search-addon e tutto ciò ad esso correlato:

$ sudo apt-get remove mint-search-addon

0x02) scaricare firefox da qui

0x03) decomprimere l'archivio nella propria home

$ tar -jxvf firefox-4.0.1.tar.bz2 -C ~/.

0x04) copiare tutto il contenuto della cartella ~/firefox/searchplugins nella cartella /usr/lib/firefox-addons/searchplugins e nelle sottodirectory:

$ sudo echo /usr/lib/firefox-addons/searchplugins/*/. | xargs -n 1 cp ~/firefox/searchplugins/*

...e il gioco è fatto!

Un post (in)utile!

Della serie: come sprecare spazio sul web...

Per spostare velocemente le icone sul gnome-panel (senza passare per il menù contestuale) tenere premuto il tasto centrale del mouse e muovere l'icona.

No password, please!

Se si vuole accedere ad una connessione remota tramite ssh dal proprio pc e si vuole evitare di inserire ogni volta la password, digitare

$ ssh-keygen

scegliere dove salvare il file generato e l'eventuale passphrase (consiglio: lasciarla vuota!). Accedere alla cartella ssh nascosta nella propria /home:

$ cd ~/.ssh

da qui copiare sull'account remoto all'interno della cartella ~/.ssh (attraverso scp o, più semplicemente, utilizzando filezilla) il file id_rsa.pub e rinominarlo authorized_keys.


Navigare da shell...senza server grafico!

Per navigare da terminale, privandoci totalmente della modalità grafica, basta utilizzare w3m:

$ w3m www.google.com

...back to the future!

Installare nuovi fonts

Molto semplice:

1) scaricare i nuovi font

2) creare una cartella nella quale spacchettarli (ex. ~/.fonts)

3) dare il comando:

$ sudo fc-cache fonts

per aggiornare la cache di sistema con i nuovi font.

[fonte: http://tuxpress.blogspot.com/2007/07/installare-fonts-facilmente-su-gnulinux.html]


Il fantastico mondo di /opt

Nella directory /opt ho scoperto un mondo: in questa cartella si posso mettere gli eseguibili che non necessitano di compilazione essendo già prevista una subdirectory /bin inserita nel $PATH di sistema (fantastico!). Non rimane che linkare tutti gli eseguibili: dalla directory /opt

ln -s /cartella_programma/nome_eseguibile /bin/nome_eseguibile

Sostituire il pannello default di Gnome

Per modificare il pannello di default di Gnome lanciare da terminale

# gconf-editor

Nella struttura ad albero sulla sinistra della finestra andare su

desktop >> gnome >> session >> required_components

Alla voce panel cambiare il valore gnome-panel con il nuovo pannello (avant-window-navigator, cairo-dock, ...).

Modificare le preferenze di GRUB

Per modificare grub agire sul file

/etc/default/grub

dopo di che lanciare il comando

grub-mkconfig -o /boot/grub/grub.cfg

per aggiornare il file /boot/grub/grub.cfg (migration di /boot/grub/menu.lst).