You are not logged in.
Pages: 1
after installing CB i found no easy way to disable the pesky tap-to-click "feature" on the synaptics touchpad on my laptop..(no synaptics-tab in mouse-setup)
Configuring X changed since ubuntu 8.10, configuring X by manually changing xorg.conf is not possible..so i googled it and finally found a solution on the ubuntu-forums that worked for me 
(important thing is to place the three lines in the right place in the file..it didnt work on my first try)
http://ubuntuforums.org/showthread.php? … ost6563109
------cut here---
(1) Find out the value of the info.product key for your touchpad, by searching 'input.touchpad' in the output of lshal: mine was 'AlpsPS/2 ALPS GlidePoint'.
code: lshal > hal.txt && gedit hal.txt
(2) Copy /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi to /etc/hal/fdi/policy/11-x11-synaptics.fdi, if you haven't already done this.
code: sudo cp /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi /etc/hal/fdi/policy/11-x11-synaptics.fdi
(3) Edit the new file. Find the section with a match on info.product which corresponds to the value you found in step 1: mine had contains="AlpsPS/2 ALPS". Add the following, which disables the 1-, 2-, and 3-finger taps.
code: sudo gedit /etc/hal/fdi/policy/11-x11-synaptics.fdi
paste code:
<merge key="input.x11_options.TapButton1" type="string">0</merge>
<merge key="input.x11_options.TapButton2" type="string">0</merge>
<merge key="input.x11_options.TapButton3" type="string">0</merge>
(4) Restart hald, with: sudo /etc/init.d/hal restart
(5) Restart X, with ctrl+alt+backspace. (Make sure you shut X applications down as required first, obviously.)
UPDATED: included sudo in step 4, code for hal-output, code to copy files over and made important text bold
Last edited by papparonny (2009-01-20 23:36:15)
Offline
Wow, I didn't even know this could be altered.
Nice
All in an effort to learn...
Delves deeper into code...
Offline
thanks for this! i hate tap to click on any touch pad. i did this on my acer aspire one and it worked beautifully - my hal.txt said "SynPS/2 Synaptics Touchpad" and the synaptics.fdi section was called "Synaptics Touchpad"
Offline
I used a different method to control it. I have a Gateway CX210X with a Synaptics touchpad.
The "normal" add SHMConfig into the xorg.conf file didn't work.
If I ran synclient -l (that's an "ell" for list, not a one), it would give me the "can't access shared memory" error message.
So to fix it, this is what I did:
Create a new file:
gksudo gedit /etc/hal/fdi/policy/shmconfig.fdi
Paste the following 8 lines into that file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>
Reboot, you should be able to run synclient -l
Create two new scripts in /usr/local/bin:
cd /usr/local/bin
sudo vi settapoff
Then paste the next 1 line and save the file.
synclient TapButton1=0
Then create the next script:
sudo vi toggletouchtap
Then paste in the next 7 lines and save the file:
state=`synclient -l | fgrep TapButton1 | sed 's/^.*= '`
if [ $state -eq 1 ]
then
synclient TapButton1=0
else
synclient TapButton1=1
fi
Change the permissions to make them both executable:
sudo chmod +x toggletouchtap
sudo chmod +x settapoff
Add the two scripts to the sudo file below the "root ALL" line; Change dastagg to your userid!
sudo visudo
# User privilege specification
root ALL=(ALL) ALL
dastagg ALL = NOPASSWD: /usr/local/bin/toggletouchtap
dastagg ALL = NOPASSWD: /usr/local/bin/settapoff
Add the settapoff script to the bottom of the autostart.sh for OpenBox so when it starts up, the tapping is off.
# Turn tapping off on Touchpad
settapoff &
But if you want it on, you can open up a terminal and run toggletouchtap and turn it on.
Or, if you wanted to, you could map toggletouchtap to a keymap and toggle it on and off whenever you wanted to.
Offline
Create a new file:
gksudo gedit /etc/hal/fdi/policy/shmconfig.fdiPaste the following 8 lines into that file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>Reboot, you should be able to run synclient -l
After creating the new file, pasting and restarting, I am unable to run synclient -l. I received this error after rebooting, Can't access shared memory area. SHMConfig disabled? How do I get around this? Thanks
#! 10 “Statler” r20110207 32-bit & Openbox
Offline
Take one step back.
First run the lshal > hal.txt && gedit hal.txt command, search for "touchpad" and make sure you have a synaptics touchpad. The output on mine looks like:
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
info.product = 'SynPS/2 Synaptics TouchPad' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string)
input.device = '/dev/input/event9' (string)
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
input.product = 'SynPS/2 Synaptics TouchPad' (string) <<< --- Here is the product name
input.x11_driver = 'synaptics' (string) <<< --- Here is the driver name
input.x11_options.SHMConfig = 'True' (string) <<< if the merge worked correctly, you'll see this
linux.device_file = '/dev/input/event9' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/platform/i8042/serio1/input/input9/event9' (string)
Let me know if yours matches this or if it is something different.
Offline
Take one step back.
First run the lshal > hal.txt && gedit hal.txt command, search for "touchpad" and make sure you have a synaptics touchpad. The output on mine looks like:
Let me know if yours matches this or if it is something different.
Looks like a match. What's next?:
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
info.product = 'SynPS/2 Synaptics TouchPad' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string)
input.device = '/dev/input/event8' (string)
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
input.product = 'SynPS/2 Synaptics TouchPad' (string)
input.x11_driver = 'synaptics' (string)
input.x11_options.SHMConfig = 'True' (string)
linux.device_file = '/dev/input/event8' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/platform/i8042/serio1/input/input8/event8' (string)#! 10 “Statler” r20110207 32-bit & Openbox
Offline
Right now, not sure.
I've used the same procedure on two different laptops and both worked fine.
The procedure came from here:
https://help.ubuntu.com/community/SynapticsTouchpad
What other things have you done in the past to try and get this to work?
Did you make modifications to the xorg.conf file? (add a section for the input device?)
If you delete the new shmconfig.fdi file and reboot, does synclient -l work?
Offline
I can't get the synclient settings to stick on reboot. Everytime I restart I have to redo these:
synclient -l
synclient TapButton1=1
synclient TapButton2=2
synclient TapButton3=3
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1Anyway to set these settings to start up with #!?
#! 10 “Statler” r20110207 32-bit & Openbox
Offline
Look at my original instructions and create a file similar to "settapoff" but include the other parameters. Then follow the rest of the instructions (make it executeable, add it to the sudo list and add the new file to autostart.sh)
Note: when I run synclient on mine, tapbutton 1 is zero (because of settapoff) but 2 and 3 are 2 and 3 and both TwoFinger parms are zero.
Offline
Look at my original instructions and create a file similar to "settapoff" but include the other parameters. Then follow the rest of the instructions (make it executeable, add it to the sudo list and add the new file to autostart.sh)
Note: when I run synclient on mine, tapbutton 1 is zero (because of settapoff) but 2 and 3 are 2 and 3 and both TwoFinger parms are zero.
Interesting. Prior to your latest post, I pasted
synclient -l
synclient TapButton1=1
synclient TapButton2=2
synclient TapButton3=3
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1 &into autostart.sh and the touchpad settings seem to be sticking after the last reboot. Hopefully this will hold. If not, I will try your suggestion listed above.
#! 10 “Statler” r20110207 32-bit & Openbox
Offline
Thanks for the tutorial papparonny, it really helped.
I hate tap-to-click!
Offline
Good day,
me trying to get this elantech touchpad to work with the latest xorg-driver-synaptics-1.1.2 built from source.
The package came with an INSTALL writing about what changes to make in the xorg.conf file.
(I had to backup old+copy the compiled driver from /usr/locale/... to my /usr/lib/xorg/modules/input, and it gets loaded too, but APTITUDE still has the old driver showing up - IS THERE A WAY TO CORRECT THIS/HOW TO INSTALL/BUILD THE DRIVER RIGHT?)
I ran synclient -s -m 100 to get the dimensions, and synclient option=value to change stuff till i was okay with it.
I copied the just got values to xorg.conf, i restarted X, but as it seams, the MaxSpeed get's zeroed, and the pointer doesn't move. The other param's seem to get set right, but this only one not.
Reading this post led me to read more on the web, and it looks like people are talking about the HAL FDI method being more efficient(?) than using the 'outdated' xorg.conf.
So i thought i give it a try...
I did
sudo cp /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi /etc/hal/fdi/policy/11-x11-synaptics.fdi
and running lshal
reports
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
info.callouts.add = {'hal-probe-vmmouse'} (string list)
info.capabilities = {'input', 'input.mouse', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
info.product = 'ETPS/2 Elantech Touchpad' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string)
input.device = '/dev/input/event8' (string)
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
input.product = 'ETPS/2 Elantech Touchpad' (string)
input.x11_driver = 'synaptics' (string)
input.x11_options.AccelFactor = '0.10' (string)
input.x11_options.BottomEdge = '800' (string)
input.x11_options.ClickFinger1 = '1' (string)
input.x11_options.ClickFinger2 = '3' (string)
input.x11_options.ClickFinger3 = '2' (string)
input.x11_options.FingerHigh = '80' (string)
input.x11_options.FingerLow = '16' (string)
input.x11_options.FingerPress = '256' (string)
input.x11_options.HorizEdgeScroll = '0' (string)
input.x11_options.HorizScrollDelta = '0' (string)
input.x11_options.HorizTwoFingerScroll = '1' (string)
input.x11_options.LBCornerButton = '0' (string)
input.x11_options.LTCornerButton = '0' (string)
input.x11_options.LeftEdge = '0' (string)
input.x11_options.MaxDoubleTapTime = '200' (string)
input.x11_options.MaxSpeed = '1.2' (string)
input.x11_options.MaxTapMove = '25' (string)
input.x11_options.MaxTapTime = '223' (string)
input.x11_options.MinSpeed = '0.8' (string)
input.x11_options.PalmDetect = '0' (string)
input.x11_options.PalmMinWidth = '10' (string)
input.x11_options.PalmMinZ = '200' (string)
input.x11_options.PressureMotionMinZ = '10' (string)
input.x11_options.RBCornerButton = '0' (string)
input.x11_options.RTCornerButton = '0' (string)
input.x11_options.RightEdge = '1280' (string)
input.x11_options.TapButton1 = '0' (string)
input.x11_options.TapButton2 = '0' (string)
input.x11_options.TapButton3 = '0' (string)
input.x11_options.TopEdge = '0' (string)
input.x11_options.VertEdgeScroll = '0' (string)
input.x11_options.VertScrollDelta = '40' (string)
input.x11_options.VertTwoFingerScroll = '1' (string)
linux.device_file = '/dev/input/event8' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/platform/i8042/serio1/input/input8/event8' (string)I did change the id string to 'ETPS/2 Elantech Touchpad', pasted the x11 options i need, restart hal+X - but the options won't stick. I have (most) of the options set up correct, but the MaxSpeed won't change from 0. I have to set it manually with synclient to get a moving pointer.
Another thing. The log of X shows me that the driver gets loaded+configured, it says "synaptics" and after that the touchpad gets detected+configured again as "ETPS/2 Elantech Touchpad" - with some BOGUS options the very same ones appearing in the output of lshal! ...just to die after with an error.
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
compiled for 1.4.99.905, module version = 1.3.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(II) LoadModule: "synaptics"
(II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so
(II) Module synaptics: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.1.2
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
965GM, 965GME/GLE, G33, Q35, Q33,
Mobile Intel® GM45 Express Chipset,
Intel Integrated Graphics Device, G45/G43, Q45/Q43, G41
...
here kicks intel in.
and later on
...
(II) Synaptics touchpad driver version 1.1.2
(--) Synaptics Touchpad auto-dev sets device to /dev/input/event8
(**) Option "Device" "/dev/input/event8"
(II) Synaptics Touchpad: x-axis range 8 - 1144
(II) Synaptics Touchpad: y-axis range 8 - 760
(II) Synaptics Touchpad: pressure range 0 - 255
(II) Synaptics Touchpad: finger width range 0 - 0
(II) Synaptics Touchpad: buttons: left right middle double triple
(**) Option "SHMConfig" "true"
(**) Option "LeftEdge" "20"
(**) Option "RightEdge" "1100"
(**) Option "TopEdge" "20"
(**) Option "BottomEdge" "720"
(**) Option "VertScrollDelta" "30"
(**) Option "HorizScrollDelta" "30"
(**) Option "VertTwoFingerScroll" "1"
(**) Option "HorizTwoFingerScroll" "1"
(**) Option "TapButton1" "1"
(**) Option "TapButton2" "2"
(**) Option "TapButton3" "3"
(**) Option "PalmDetect" "1"
(**) Option "MinSpeed" "0.095"
(**) Option "MaxSpeed" "0.711"
(--) Synaptics Touchpad: touchpad found
(**) Option "AlwaysCore"
(**) Option "SendCoreEvents" "yes"
(**) Synaptics Touchpad: always reports core events
(II) evaluating device (Mouse0)
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(II) evaluating device (Synaptics Touchpad)
(II) XINPUT: Adding extended input device "Synaptics Touchpad" (type: TOUCHPAD)
(II) Mouse0: ps2EnableDataReporting: succeeded
(--) Synaptics Touchpad: touchpad found
(II) config/hal: Adding input device Asus EeePC extra buttons
(II) LoadModule: "evdev"
(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 2.0.99
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) Asus EeePC extra buttons: always reports core events
(**) Asus EeePC extra buttons: Device: "/dev/input/event6"
(II) Asus EeePC extra buttons: Found keys
(II) Asus EeePC extra buttons: Configuring as keyboard
(II) XINPUT: Adding extended input device "Asus EeePC extra buttons" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) Asus EeePC extra buttons: xkb_rules: "evdev"
(**) Option "xkb_model" "pc105"
(**) Asus EeePC extra buttons: xkb_model: "pc105"
(**) Option "xkb_layout" "hu"
(**) Asus EeePC extra buttons: xkb_layout: "hu"
(**) Option "xkb_options" "lv3:ralt_switch"
(**) Asus EeePC extra buttons: xkb_options: "lv3:ralt_switch"
(II) config/hal: Adding input device ETPS/2 Elantech Touchpad
(II) Synaptics touchpad driver version 1.1.2
(**) Option "Device" "/dev/input/event8"
(II) ETPS/2 Elantech Touchpad: x-axis range 8 - 1144
(II) ETPS/2 Elantech Touchpad: y-axis range 8 - 760
(II) ETPS/2 Elantech Touchpad: pressure range 0 - 255
(II) ETPS/2 Elantech Touchpad: finger width range 0 - 0
(II) ETPS/2 Elantech Touchpad: buttons: left right middle double triple
(**) Option "LeftEdge" "0"
(**) Option "RightEdge" "1280"
(**) Option "TopEdge" "0"
(**) Option "BottomEdge" "800"
(**) Option "FingerLow" "16"
(**) Option "FingerHigh" "80"
(**) Option "FingerPress" "256"
(**) Option "MaxTapTime" "223"
(**) Option "MaxTapMove" "25"
(**) Option "MaxDoubleTapTime" "200"
(**) Option "VertScrollDelta" "40"
(**) Option "HorizScrollDelta" "0"
(**) Option "VertEdgeScroll" "0"
(**) Option "HorizEdgeScroll" "0"
(**) Option "VertTwoFingerScroll" "1"
(**) Option "HorizTwoFingerScroll" "1"
(**) Option "RTCornerButton" "0"
(**) Option "RBCornerButton" "0"
(**) Option "LTCornerButton" "0"
(**) Option "LBCornerButton" "0"
(**) Option "TapButton1" "0"
(**) Option "TapButton2" "0"
(**) Option "TapButton3" "0"
(**) Option "ClickFinger1" "1"
(**) Option "ClickFinger2" "3"
(**) Option "ClickFinger3" "2"
(**) Option "PalmDetect" "0"
(**) Option "PalmMinWidth" "10"
(**) Option "PalmMinZ" "200"
(**) Option "PressureMotionMinZ" "10"
(**) Option "MinSpeed" "0.8"
(**) Option "MaxSpeed" "1.2"
(**) Option "AccelFactor" "0.10"
(--) ETPS/2 Elantech Touchpad: touchpad found
(**) ETPS/2 Elantech Touchpad: always reports core events
(II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD)
(WW) ETPS/2 Elantech Touchpad can't grab event device, errno=16
(--) ETPS/2 Elantech Touchpad: touchpad foundMy question is, where does the OS get instructed to load the ETPS/2??
Is there a way to de-active it? I'm pretty sure i get the conflict/mis-configuration because of setting values one after an other...
Any help would be appreciated, me still new to linux.
...selfmade-wannabee #!in' pirate. Arrr!
Offline
Looking for other stuff, i just stumbled upon the /etc/X11/Xsession.d/ directory.
This looks similar (in structure) to the RunLevel-script-directories (/etc/rcX.d), with scripts prefixed for load sequence.
In this Xsession.d i found another entry to run the gsynaptics-init like this
/etc/X11/Xsessions.d/95gsynaptics:
[ -f ~/.gsynaptics.conf ] && /usr/bin/gsynaptics-init --sm-disable...can't tell You though, what this entry means...(initializing synaptics with values found in .gsynaptics.conf ?)
For the record, here's the ~/.gsynaptics.conf:
[/desktop/gnome/peripherals/touchpad/off]
bool=false
[/desktop/gnome/peripherals/touchpad/max_tap_time]
int=180
[/desktop/gnome/peripherals/touchpad/vert_scroll_delta]
int=28
[/desktop/gnome/peripherals/touchpad/horiz_scroll_delta]
int=30
[/desktop/gnome/peripherals/touchpad/circ_scroll_delta]
int=0
[/desktop/gnome/peripherals/touchpad/circular_scrolling]
bool=false
[/desktop/gnome/peripherals/touchpad/max_speed]
int=603
[/desktop/gnome/peripherals/touchpad/edge_motion_use_always]
bool=false
[/desktop/gnome/peripherals/touchpad/zoom_in]
bool=true
[/desktop/gnome/peripherals/touchpad/zoom_out]
bool=true
[/desktop/gnome/peripherals/touchpad/rotate_right]
bool=true
[/desktop/gnome/peripherals/touchpad/rotate_left]
bool=trueand the ~/.gconf/desktop/gnome/peripherals/touchpad/%gconf.xml:
<?xml version="1.0"?>
<gconf>
<entry name="fast_taps" mtime="1235359682" type="bool" value="false">
</entry>
<entry name="min_speed" mtime="1235359516" type="int" value="333">
</entry>
<entry name="max_speed" mtime="1235359418" type="int" value="1693">
</entry>
<entry name="accel_factor" mtime="1235359563" type="int" value="108">
</entry>
<entry name="sensitivity" mtime="1235359535" type="int" value="4">
</entry>
<entry name="horiz_scroll_delta" mtime="1235359496" type="int" value="5">
</entry>
<entry name="vert_scroll_delta" mtime="1235359735" type="int" value="42">
</entry>
<entry name="max_tap_time" mtime="1235359702" type="int" value="167">
</entry>
<entry name="off" mtime="1235359384" type="bool" value="false">
</entry>
</gconf>It is strange (for me) that AFTER configuring the touchpad in xorg.conf ALL these scripts are there to configure it AGAIN and AGAIN(?)...
By the way, i did
ThreepWood@SeaBee:/etc/X11/Xsessions.d/$ sudo cp 95gsynaptics 95gsynaptics.old
ThreepWood@SeaBee:/etc/X11/Xsessions.d/$ sudo rm 95gsynapticsto get the xorg.conf parameters used (keep) AFTER starting X.
(for now, till i find out the NEED behind this Xsession re-configuration - as i suppose one could manage to get it work and pass all the params this way too...)
Thanks to me, now i have the touchpad configured for all my fingers...
Horizontal+Vertical scroll - übercool.
I mean ArrrArr..
...selfmade-wannabee #!in' pirate. Arrr!
Offline
This:
The "normal" add SHMConfig into the xorg.conf file didn't work.
If I ran synclient -l (that's an "ell" for list, not a one), it would give me the "can't access shared memory" error message.
So to fix it, this is what I did:Create a new file:
gksudo gedit /etc/hal/fdi/policy/shmconfig.fdiPaste the following 8 lines into that file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>
Plus adding this to Openbox's autostart.sh:
#Disable touchpad tap
synclient TapButton1=0 &
synclient TapButton2=0 &
synclient TapButton3=0 &Seemed to be the easiest method for me, and ensured the settings "stuck."
Offline
Pages: 1
Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.