Archive for July, 2010

Bloccare un sito con Squid

Editare il file /etc/squid/squid.conf ed aggiungere:

acl bloccati url_regex "/etc/squid/bloccati.txt"
http_access deny bloccati

fare attenzione alla posizione, definire prima tutti gli acl e solo dopo inserire gli http_access, in oltre inserire allow e deny nell’ordine giusto come nelle regole dei firewall.

Infine editare il file /etc/squid/bloccati.txt ed aggiungere la lista dei siti bloccati.

Beryl e Fglrx in Edgy

Con questo post spero di fare un po di chiarezza nella configurazione delle configurazioni da usare in Ubuntu, in particolare nella versione Edgy Eft.
Questo è il sito di referenza… ma non spiega tutto:

Ubuntu Edgy Installation Guide

Prima cosa: scaricare il .run da questo sito

ati-driver-installer-8.30.3.run

o comunque cercate Ati Driver Linux su Google e lo troverete tra i primi risultati.
Andare in console ed eseguire i seguenti comandi da root:

chmod +x ati-driver-installer-8.30.3.run
./ati-driver-installer-8.30.3.run --buildpkg Ubuntu/edgy

(se non va controllare di aver installato debhelper, make, etc…)
NB: il file si esegue con /bin/sh ma necessita di usare /bin/bash quindi si può risolvere con:

mv /bin/sh /bin/sh_old
ln -s /bin/bash /bin/sh

Eseguire il .run che mi genera i pacchetti da installare, se non li genera, cercate nel suo help come generare i pacchetti per edgy.
Una volta generatoi pachetti, installarli con:

dpkg -i xorg-driver-fglrx_8.30.3-1_i386.deb
dpkg -i fglrx-kernel-source_8.30.3-1_i386.deb
dpkg -i fglrx-control_8.30.3-1_i386.deb

questo mi crea i presupposti per crearmi il modulo, per questo usiamo module-assistant (in caso installatelo):

sudo module-assistant prepare
sudo module-assistant update
sudo module-assistant build fglrx
sudo module-assistant install fglrx
sudo depmod -a

ora dentro a /etc/default/linux-restricted-modules-common impostate:

DISABLED_MODULES="fglrx"

a questo punto dovreste avere il modulo fglrx funzionante, provate con:

modprobe fglrx

se funziona piazzatelo in /etc/modules così si avvia da solo.

Ora bisogna configurare /etc/X11/xorg.conf, questa è la mia configurazione, nulla di particolare, basta impostare fglrx
come driver, e togliere il composite alla fine:

Section "ServerLayout"
	Identifier "Default Layout"
	Screen 0 "aticonfig-Screen[0]" 0 0
	# Screen "aticonfig-Screen[1]" Above "aticonfig-Screen[0]"
	InputDevice "Generic Keyboard"
	InputDevice "Synaptics Touchpad"
	InputDevice "Mouse USB"
EndSection
Section "Files"
	# paths to defoma fonts
	FontPath "/usr/share/X11/fonts/misc"
	FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
	FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
	FontPath "/usr/share/X11/fonts/Type1"
	FontPath "/usr/share/X11/fonts/100dpi"
	FontPath "/usr/share/X11/fonts/75dpi"
	FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
	Load "bitmap"
	Load "dbe"
	Load "ddc"
	Load "dri"
	Load "extmod"
	Load "freetype"
	Load "glx"
	Load "int10"
	Load "type1"
	Load "vbe"
EndSection
Section "InputDevice"
	Identifier "Generic Keyboard"
	Driver "kbd"
	Option "CoreKeyboard"
	Option "XkbRules" "xorg"
	Option "XkbModel" "pc104"
	Option "XkbLayout" "it"
EndSection
Section "InputDevice"
	Identifier "Synaptics Touchpad"
	Driver "synaptics"
	Option "SendCoreEvents" "true"
	Option "Device" "/dev/psaux"
	Option "Protocol" "auto-dev"
	Option "LeftEdge" "120"
	Option "RightEdge" "830"
	Option "TopEdge" "120"
	Option "BottomEdge" "650"
	Option "FingerLow" "14"
	Option "FingerHigh" "15"
	Option "MaxTapTime" "0"
	Option "EmulateMidButtonTime" "75"
	Option "VertScrollDelta" "10"
	Option "HorizScrollDelta" "10"
	Option "MinSpeed" "0.3"
	Option "MaxSpeed" "0.75"
	Option "AccelFactor" "0.01"
	Option "EdgeMotionMinZ" "30"
	Option "EdgeMotionMaxZ" "160"
	Option "EdgeMotionMinSpeed" "15"
	Option "EdgeMotionMaxSpeed" "15"
	Option "EdgeMotionUseAlways" "0"
	Option "UpDownScrolling" "1"
	Option "LeftRightScrolling" "0"
	Option "CircularScrolling" "0"
	Option "CircScrollDelta" "0.1"
	Option "CircScrollTrigger" "0"
EndSection
Section "InputDevice"
	Identifier "Mouse USB"
	Driver "mouse"
	Option "CorePointer"
	Option "Device" "/dev/input/mice"
	Option "Protocol" "ImPS/2"
	Option "ZAxisMapping" "4 5"
	EndSection
	Section "Monitor"
	Identifier "aticonfig-Monitor[0]"
	Option "VendorName" "ATI Proprietary Driver"
	Option "ModelName" "Generic Autodetecting Monitor"
	Option "DPMS" "true"
EndSection
Section "Monitor"
	Identifier "aticonfig-Monitor[1]"
	Option "VendorName" "ATI Proprietary Driver"
	Option "ModelName" "Generic Autodetecting Monitor"
	Option "DPMS" "true"
EndSection
Section "Device"
	Identifier "aticonfig-Device[0]"
	Driver "fglrx"
	Option "VideoOverlay" "on"
	Option "OpenGLOverlay" "off"
	BusID "PCI:1:0:0"
EndSection
Section "Device"
	Identifier "aticonfig-Device[1]"
	Driver "fglrx"
	BusID "PCI:1:0:0"
	Screen 1
EndSection
Section "Screen"
	Identifier "aticonfig-Screen[0]"
	Device "aticonfig-Device[0]"
	Monitor "aticonfig-Monitor[0]"
	DefaultDepth 24
	SubSection "Display"
		Viewport 0 0
		Depth 24
			Modes "1280x800"
	EndSubSection
EndSection
Section "Screen"
	Identifier "aticonfig-Screen[1]"
	Device "aticonfig-Device[1]"
	Monitor "aticonfig-Monitor[1]"
	DefaultDepth 24
	SubSection "Display"
		Viewport 0 0
		Depth 24
			Modes "1024x768"
	EndSubSection
EndSection
Section "DRI"
	Mode 0666
EndSection
Section "Extensions"
	Option "Composite" "0"
EndSection

Fatto questo diamo un:

aticonfig --overlay-type=Xv

e il tutto dovrebbe essere finito per quanto riguarda il 3D, riavviamo.
Se tutto è andato a dovere eseguendo:

glxinfo | grep direct

dovremmo avere un:

direct rendering: Yes

In caso, proviamo anche un glxgears per essere sicuri che tutto “giri” fluido.
Se alla fine fglrx non parte, provare a far partire ./ati-driver-installer-8.30.3.run e lasciare che lui installi i driver
direttamente.

Beryl: Aggiungete ai repository in /etc/apt/sources.list il seguente:

deb http://ubuntu.beryl-project.org/ edgy main-edgy

aggiungere la chiave con:

wget http://ubuntu.beryl-project.org/quinn.key.asc --quiet -O - | apt-key add -

e con aptitude installate xserver-xgl libgl1-mesa xserver-xorg libglitz-glx1 beryl emerald-themes beryl-manager
a questo punto, modificare /etc/gdm/gdm.conf aggiungendo:

GdmXserverTimeout=50

e controllando che Servers sia:

0=Standard

quindi editare /etc/gdm/gdm.conf-custom e aggiungere:

[servers]
# Override display 1 to use Xgl (DISPLAY 1 IMPORTANT FOR ATI FGLRX).
0=Xgl
[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo
flexible=true

a questo punto xgl partirà ad ogni avvio di X

(NB: aiglx non funziona con i driver fglrx, ma solo con i Radeon a 1024×768 e con Ati che supportano male il 3D, quindi fglrx è l’unica scelta per ora).

Ora basta aggiungere beryl-manager dentro a:

Sistema > Preferenze > Sessioni > Programmi d’Avvio

Dovreste avere il rubino rosso, dove impostare Beryl come default windows manager.

NB: Se per caso il tema del windows manager lampeggia, fatelo ripartire con:

killall emerald ; emerald & exit

PS: Tutto questo è frutto di varie sperimentazioni, spero di non essermi dimenticato nulla, e comunque non è detto che
se va a me vada pure a voi. Potete trovare info in Ubuntu Forums

Fase2: E i giochi 3D?
Ho visto che con le nuove versioni dovrebbero funzionare senza problemi, ma in caso, createvi un file /usr/local/nonXgl di questo tipo:

#!/bin/bash
DISPLAY=":93"
if [ -z "$1" ]; then
echo "Usage: nonXgl "
exit 1
fi
isdisplay=0; isauth=0; for test in $(ps ax | grep "$DISPLAY" | grep Xorg ); do if [ $isauth -eq 1 ]; then export
XAUTHORITY="$test"; isauth=0; fi; if [ "$test" = "-auth" ]; then isauth=1; fi; done;
#(tutta una riga)
sudo /usr/bin/Xorgallowlocal "$XAUTHORITY" "$DISPLAY"
exec $@

poi un bel

chmod +x /usr/bin/nonXgl

ed eseguite il gioco con nonXgl nomegioco. Questo slegherà il gioco da Xgl e Beryl di conseguenza.

Hibernate con Edgy

Da Dapper ad Edgy è cambiata la configurazione dell’fstab. In particolare è stato modificato il modo di indicare i device, da /dev/hda5 a UUID=#### questo per rendere rintracciabile il disco anche se viene spostato. La cosa complica le cose ad hibernate, in quanto non riesce più a ripescarsi il device di swap dove risiede il file della sessione salvata.

Come prima cosa bisogna riportare /etc/fstab al modo standard, sostituendo gli UUID con i /dev/ quindi attivare lo swap con:

mkswap /dev/hda5
swapon /dev/hda5

e controllare che sia attivo con il comando:

free

dovremmo vedere memoria disponibile sotto swap.
Ora editare il file /etc/hibernate/hibernate.conf o common.conf ed impostare:

## useful for initrd usage:
SuspendDevice swap:/dev/hda5

dove hda5 e il solito disco di swap (inoltre scorrendo questo file, si possono attivare altre opzioni, come l’avvio la scheda di rete, basta impostare:

### network
# DownInterfaces eth0
# UpInterfaces auto
UpInterfaces eth0

e altre opzioni tipo: audio, radeon, etc…)

Infine modificare il file /boot/grub/menu.lst ed aggiungere resume=/dev/hda5 alle opzioni del kernel.
In alternativa a questo, la soluzione più raffinata per non rifare ogni volta il menu.lst ad ogni cambio di kernel, basta
scrivere:

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=resume=dev/hda5 quiet splash

(lasciando il commento all’inizio) e poi attuarlo con il comando:

update-grub

Abilitare il 3D con i driver i810

Dentro xorg.conf impostare i seguenti parametri:

Section "Device"
Identifier "Intel Corporation 945G Integrated Graphics Controller"
Driver "i810"
BusID "PCI:0:2:0"
Option "XAANoOffscreenPixmaps"
EndSection
Section "ServerLayout"

...

Option "AIGLX" "true"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection

Trasparenza pannello Xfce

Per cambiare la trasparenza al pannello xfce, uscire da xfce, e da console (ctrl+alt+f1), editare il file:

nano .config/xfce4/panel/panels.xml

e cambiare per ogni pannello il parametro:

property name="transparency" value="0"/>

con il valore desiderato.