Appunti... in low memory mode

Questi sono una serie di file di configurazione e di tips & tricks che mi sono serviti. Tutta roba che si può già trovare on line spulcindo su google o nei vari  forum... Personalmente mi è più utile qui, tutta sotto mano e a mia disposizione da qualunque computer mi colleghi in rete!!

Per la cronaca uso una Debian Lenny a 64 bit con Xfce.


*** Regola d'oro n°0

Se devi installare un modulo fallo via module-assistant perché  è più semplice, evita un sacco di problemi in fase di aggiornamento/gestione del sistema e mi ha permesso di ridurre notevolmente questa pagina.

*** source.list


### repository per testing
deb http://ftp.it.debian.org/debian/ testing main contrib non-free
#deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free

deb http://security.debian.org/ testing/updates main contrib
#deb-src http://security.debian.org/ testing/updates main contrib

### debian-multimedia (ex marillat) mirrorizzato dal garr
#deb http://www.debian-multimedia.org testing main
deb http://mi.mirror.garr.it/mirrors/debian-multimedia testing  main

### Debian Ufficiale -- Sid
deb http://ftp.it.debian.org/debian/ unstable main non-free contrib
deb-src http://ftp.it.debian.org/debian/ unstable main non-free contrib

### Compiz-fusion
deb http://download.tuxfamily.org/shames/debian-lenny/desktopfx/unstable/ ./



*** apt.conf

APT::Cache-Limit 15000000;
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded "true";


*** preferences


Package: *
# Pin: release o=Unofficial Multimedia Packages
Pin: origin mi.mirror.garr.it
Pin-Priority: 1001

Package: *
Pin: origin download.tuxfamily.org
Pin-Priority: 950

Package: *
Pin: release a=testing
Pin-Priority: 850

Package: *
Pin: release a=unstable
Pin-Priority: 800




***xorg.conf

configurato per una scheda nvida, con i driver ufficiali, il DRI e lo schermo composito.
Il DPMS è impostato per non spegnere nè abbuiare lo schermo. Tanto gli lcd non si impressionano come i vecchi fosfori...

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    InputDevice    "Generic Keyboard"DPMS
    InputDevice    "Configured Mouse"
EndSection

Section "Files"
        FontPath        "/usr/share/fonts/X11/100dpi"
        FontPath        "/usr/share/fonts/X11/misc"DPMS
        FontPath        "/usr/share/fonts/X11/Type1"
        FontPath        "/usr/share/fonts/X11/75dpi"
EndSection

Section "Module"
    Load           "glx"
    Load           "dbe"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
        Option          "BlankTime"     "0"
        Option          "StandbyTime"   "0"
        Option          "SuspendTime"   "0"
        Option          "OffTime"       "0"
EndSection

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "CoreKeyboard"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "it"
EndSection

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"
    Option         "Protocol" "ImPS/2"
    Option         "Emulate3Buttons" "true"
EndSection

Section "Monitor"
    Identifier     "Monitor"
    VendorName     "Acer"
    ModelName      "Acer AL1916"
        HorizSync       64.0
        VertRefresh     60.0
        Option          "DPMS"
EndSection

Section "Device"
    Identifier     "nVidia Corporation GeForce 8500 GT"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8500 GT"
    Option         "NvAGP" "1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "nVidia Corporation GeForce 8500 GT"
    Monitor        "Monitor"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "true"
    Option         "DisableGLXRootClipping" "true"
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024"
    EndSubSection
EndSection



***AVVIO automatico di Xfce:

Non mi piace usare un gestore grafico dei login. Per far partire Xfce automaticamente dopo il login testuale sulla tty1 basta aggiungere quanto segue al file ~/.bashrc



if [ "`tty`" = "/dev/tty1" ]
then
  startxfce4
fi



*** Impostazione dei tasti multimediali su Xfce
Assai semplice:
con xev si trovano i keycode relativi ai tasti multimediali, quindi si impostano nel file ~/.Xmodmap. Verranno impostati automaticamente ad ogni avvio di X. Esempio:

keycode 129 = XF86Back
keycode 160 = XF86AudioMute
keycode 161 = XF86Calculator
keycode 162 = XF86AudioNext
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 178 = XF86WWW
keycode 198 = XF86MyComputer
keycode 223 = XF86LogOff
keycode 229 = XF86Search
keycode 231 = XF86Display
keycode 230 = XF86Favorites
keycode 232 = XF86AudioMedia
keycode 236 = XF86Mail

è accettata la seguente lista di keysyms:

XF86AddFavorite
XF86ApplicationLeft
XF86ApplicationRight
XF86AudioMedia
XF86AudioMute
XF86AudioNext
XF86AudioPause
XF86AudioPlay
XF86AudioPrev
XF86AudioLowerVolume
XF86AudioRaiseVolume
XF86AudioRecord
XF86AudioRewind
XF86AudioStop
XF86Away
XF86Back
XF86Book
XF86BrightnessAdjust
XF86CD
XF86Calculator
XF86Calendar
XF86Clear
XF86ClearGrab
XF86Close
XF86Community
XF86ContrastAdjust
XF86Copy
XF86Cut
XF86DOS
XF86Display
XF86Documents
XF86Eject
XF86Excel
XF86Explorer
XF86Favorites
XF86Finance
XF86Forward
XF86Game
XF86Go
XF86History
XF86HomePage
XF86HotLinks
XF86Launch0
XF86Launch1
XF86Launch2
XF86Launch3
XF86Launch4
XF86Launch5
XF86Launch6
XF86Launch7
XF86Launch8
XF86Launch9
XF86LaunchA
XF86LaunchB
XF86LaunchC
XF86LaunchD
XF86LaunchE
XF86LaunchF
XF86LightBulb
XF86LogOff
XF86Mail
XF86MailForward
XF86Market
XF86Meeting
XF86Memo
XF86MenuKB
XF86MenuPB
XF86Messenger
XF86Music
XF86MyComputer
XF86MySites
XF86New
XF86News
XF86Next_VMode
XF86Prev_VMode
XF86OfficeHome
XF86Open
XF86OpenURL
XF86Option
XF86Paste
XF86Phone
XF86Pictures
XF86PowerDown
XF86PowerOff
XF86Next_VMode
XF86Prev_VMode
XF86Q
XF86Refresh
XF86Reload
XF86Reply
XF86RockerDown
XF86RockerEnter
XF86RockerUp
XF86RotateWindows
XF86RotationKB
XF86RotationPB
XF86Save
XF86ScreenSaver
XF86ScrollClick
XF86ScrollDown
XF86ScrollUp
XF86Search
XF86Send
XF86Shop
XF86Sleep
XF86Spell
XF86SplitScreen
XF86Standby
XF86Start
XF86Stop
XF86Support
XF86Switch_VT_1
XF86Switch_VT_10
XF86Switch_VT_11
XF86Switch_VT_12
XF86Switch_VT_2
XF86Switch_VT_3
XF86Switch_VT_4
XF86Switch_VT_5
XF86Switch_VT_6
XF86Switch_VT_7
XF86Switch_VT_8
XF86Switch_VT_9
XF86TaskPane
XF86Terminal
XF86ToDoList
XF86Tools
XF86Travel
XF86Ungrab
XF86User1KB
XF86User2KB
XF86UserPB
XF86VendorHome
XF86Video
XF86WWW
XF86WakeUp
XF86WebCam
XF86WheelButton
XF86Word
XF86XF86BackForward
XF86Xfer
XF86ZoomIn
XF86ZoomOut
XF86iTouch

la lista completa in debian si trova in /usr/share/X11/XKeysymDB



*** Permessi per spegnere/riavviare il computer da Xfce

Possibile via HAL se è presente in /etc/dbus-1/system.d/hal.conf la policy

  <policy group="powerdev">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
   ...
  </policy>

Basta aggiungere il nostro utente al gruppo powerdev


*** Far partire avant-window-navigator sul display corrente


avant-window-navigator --display=\:0.0 &



il display corrente si ottiene da

echo $DISPLAY



***Inviare e ricevere file tramite bluetooth

Pacchetti necessari: bluez-utils obexftp obexpushd

Innanzitutto si (ri)avvia il rervizio bluetooth


# /etc/init.d/bluetooth start


**Invio

> Si trova l'trova l'id device a 12 cifre del nostro cellulare con

hcitool scan

> Si cerca il canale obex transfere con

sdptool browse


> Si invia il file al cellulare con


obexftp -b [id device] -B [canale] -p [file]

Se si ottiene l'errore:

Still trying to connect
Connecting...failed: FBS UUID

Si risolve aggiungendo le opzioni

-U NONE -H -S

**Ricezione

Si deve permettere la ricezione del file dal dispositivo (es cellulare), con:

obexpushd -B [id device]

adesso il celluare è in grado di vedere il nostro dispositivo a cui possiamo inviare il file.




*** Sincronizzare l'orologio di sitema con uno atomico via ntpdate

# ntpdate ntp1.inrim.it




***Far cacare a bash un numero casuale:

$ echo $RANDOM




*** Compilare gli alsa driver per hda-intel

./configure --with-cards=hda-intel --with-sequencer=yes

make; make install



*** Montare una immagine di HD/floppy in loop:


# losetup /dev/loop0 immagine.img

A questo punto si può agire sul device /dev/loop come se si trattasse di un vero supporto fisico.

per togliere l'associzione:

# losetup -d /dev/loop0  



***Far apparire un reminder in basso a destra del desktop

pacchetto 
    libnotify-bin
sintassi
    notify-send -i appointment -u critical "Reminder" "You've got an appointment in 10 minutes."




*** Bloccare l'aggiornamento di un pacchetto

A volte per motivi di affidabilità/stabilità è necessario mantenere una specifica versione di un pacchetto precedentemente installato.

Lo scopo di questo Tips è proprio quello di congelare gli aggiornamenti di un pacchetto in modo da poter tranquillamente eseguire un apt-get upgrade senza aver timore di compromettere il nostro sistema.

Con dpkg, si esporta la lista dei pacchetti selezionati:

# dpkg --get-selections > selections.txt

Poi si edita il file risultante selections.txt, cambiando la linea contenente il nome del pacchetto che si vuole tenere in "hold", per esempio nel caso di gdm, da questo:

gdm install

a quest'altro:

gdm hold

Successivamente si salva il file, e ricarica il tutto dentro il database di dpkg con:

dpkg --set-selections < selections.txt

Naturalmente lo status "hold" di un pacchetto potrebbe impedire l'aggiornamento di altre applicazioni da esso dipendenti.





*** Maneggiare archivi

This will create an archive named archive.tar containing foo, bar and the directory dir/ :

$ tar -cvf archive.tar foo bar dir/



Inversely, to extract files type:

$ tar -xvf archive.tar


comprimere:

$ gzip filename
$ bzip2 filename

per cambiare nome output
$ gzip -c 2.bmp > pio.gz


decomprimere

$ bunzip2 filename
$ gunzip filename

Via tar:

$ tar -xzvf archivio.tar.gz
$ tar -xjvf archivio.tar.bz2


creare archivio rar a partire dal file 2.bmp

$ rar a archivio.rar 2.bmp


estrarre archivio rar
$ rar e archivio.rar

zip/unzip per gli archivi.zip



*** Impostare una sessione via ssh che non si chiude quando il client si disconnette:


Come lanciare processo via ssh senza che questo termini quando si chiude la shell remota:

screen deve essere installato sulla macchina remota;

da locale collegarsi via ssh alla macchina remota.

lanciare una sessione di screen:

screen

dare il/ i comandi.

 ctrl + a quindi ctrl+c apre un'ulteriore shell

si può chiudere il collegamento ssh
***Backup veloci e perfetti con:
per ricollegarsi in seguito alla stessa shell via ssh:

si rulla nella macchina remota

screen -ls

l'outpot sarà


There is a screen on:
        4801.pts-2.localhost    (Detached)
1 Socket in /var/run/screen/S-max.


ci si riattacca con

screen -r 4801.pts-2.localhost


***Togliere le nuove righe con awk

awk '{ str1=str1 $0 }END{ print str1 }'  file.txt





***cambiare estensione a tutti i file di un certo tipo

for f in *.$vecchia; do mv "$f" "${f/%$vecchia/$nuova}"; done




***ripetere il comando n volte

for i in `seq 1 n`; do comando/i ; done




***TOR + PRIVOXY per iceweasel

# aptitude install tor privoxy


installare torbutton per firefox

editare /etc/privoxy/config

aggiungendo come prima riga:


forward-socks4a / localhost:9050  .

comprensiva di punto.


(ri)avviare i demoni:

# /etc/init.d/tor start

# /etc/init.d/privoxy start




*** Plottare grafici con gnuplot:

comandi utili:

gnuplot> set terminal postscript
gnuplot> set output “grafico.ps”
gnuplot> set xlabel “X-AXIS”
gnuplot> set ylabel “Y-AXIS”
gnuplot> set xrange [0:2*pi]
gnuplot> set yrange [-2:2]
gnuplot> set xtics 1
gnuplot> set ytics 0.5
gnuplot> set grid
gnuplot> set title "titolo del grafico"
gnuplot> set logscale y
gnuplot> set size square
gnuplot> plot sin(x)

gnuplot> set terminal gif
gnuplot> set output “3D.gif”
gnuplot> set pm3d; set palette
gnuplot> splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)


PLOT di risultati numerici:

gnuplot> plot “dati.out” using 1:2 with lines
                   with points
                   with stps
                   with impulses

per salvare o caricare i parametri impostati:

gnuplot> save “filename”
gnuplot> load “filename”

per i terminal disponibili:

gnuplot> set terminal




*** Download di foto con barra di avanzamento per macchine fotografiche viste come scheda di memoria

esempio per foto che vanno a trovarsi in /media/FE200/DCIM/100OLYMP

if [ "`ls /media/FE200/DCIM/100OLYMP|wc -l`" = "0" ]; then
zenity --info --text="Nessun file nella macchina fotografica" --title="Olympus" & exit
           else
cartella=`date +%Y-%m-%d--%k.%M.%S`
mkdir /home/samuele/foto/$cartella
tot=`ls /media/FE200/DCIM/100OLYMP|wc -l`; i=`ls /media/FE200/DCIM/100OLYMP|wc -l`;perc=0;while [ "$perc" -lt 100 ]; do perc=`echo 100"-(("$i"/"$tot")*"100")"|bc -l|awk -F . '{print $1}'`; echo "$perc"; echo "$perc" >&2; sleep 1; i=`ls /media/FE200/DCIM/100OLYMP|wc -l`; done|zenity --progress --auto-close --text="spostamento in corso..." --width=350 --title=Olympus &
mv /media/FE200/DCIM/100OLYMP/* /home/samuele/foto/$cartella/
zenity --info --text="Tutti i file scaricati in ~/foto/$cartella" --title="Olympus"
eject /media/FE200
fi



***Backup veloci e perfetti con:

rdiff-backup -v7 /home/samuele/documenti/ /media/debianized_lacie/home_samuele