Customizing Ubuntu for XO
Once you've installed Ubuntu, you may quickly discover that it's not completely ready for you to use. Below are some short How-To's on topics I've seen asked a few times. These instructions are probably posted elsewhere, but I wanted to collect them all in one place.
Root password
This is probably the biggest problem users have once the finish installing Ubuntu. XO's root user account has no password and so it's simple to switch to root user using su. Ubuntu doesn't want users to log in as root. They see it as unsafe since as root, you have the power to do anything, including destroy your system. By using su, you gain root power until you decide to give it up. They're worried that you might forget that you're root and accidentally do something bad. So, they disabled directly logging into the root account.
Instead, they provide the sudo command. It runs programs as root without having you actually log in as root. To use it, just put sudo at the very front of your command. For example, if you wanted to install Firefox using apt-get, you would want to type:
apt-get install firefox
but that would fail since you don't have permission. To get permission using sudo, you need to type:
sudo apt-get install firefox
It'll then prompt you for your password (not root's) and run the command with root privilege. Once the command (apt-get in this case) finishes, it'll return, leaving you as olpc, not root.
Now, there is a way to use sudo and su to gain root privilege the way you're used to from Sugar, but I'll leave that as a small exercise for you to figure out ;).
Mouse problems
Tap-click
We finally have a fix for this problem, thanks to raduga: http://olpcnews.com/forum/index.php?topic=1585.msg16543#msg16543
Here's what raduga suggested (with some corrections from n2d2 and James_Bucher):
As root, open the /etc/modprobe.d/olpc.conf.dist file and add options mousedev tap_time=0 to the end:
sudo nano /etc/modprobe.d/olpc.conf.dist
Once the file's open, put this at the bottom:
options mousedev tap_time=0
The instructions to save and close are at the bottom of the screen. The carat (^) means Control. So, to output (save) a file, it's ^O, which means hold down Control and press O (that's o, as in output).
Sensitivity
In the same thread (The trackpad is killing me! Help! (Ubuntu+xfce)), we found that by messing with the settings for the mouse sensitivity, we could almost get the trackpad sensitivity to a useable level. However, we also discovered that as the firmware number increases, the more sensitive it becomes, so not upgrading past version q2d07 is probably best for now. The settings I use are 1/4 sensitivity and 0 threshold. To set them, open a terminal and type:
xset m 1/4 0
If you want this to execute automatically when Xfce starts, add it to your .xfce4_startup file (/home/olpc/.xfce4_startup). If you don't have the .xfce4_startup file (it should be there if you used the compressed files installation method), see the Creating the Xfce Startup File instructions above.
Changing username and password
Password
Open a terminal and type:
passwd
It will then prompt you for your current password. If you used the Compressed Files installation method, the password should be olpcolpc. It will then want you to enter your new password twice (to make sure you typed it correctly).
Username
Changing your username isn't as simple as your password, but, it's not very hard either. Before I begin, here are a couple of conventions: new_username = your new username, whenever you see this, replace it with your new username olpc = this is your current username, if your username isn't olpc, replace it with whatever it is
To start, open up a terminal and type:
sudo usermod -d /home/new_username -l new_username -m olpc
That'll change everything but your password and your group name. Your password can be changed following the instructions above, your group name will take one more step. If you don't want to change your group name, skip the next paragraph.
What are groups? Well, it's part of the file permissions that Linux has. I'll let Wikipedia explain the rest: http://en.wikipedia.org/wiki/Group_identifier_%28Unix%29 . Why bother changing your group name? Well, there's no real need to, but it'd make more sense for your files to belong to the new_username group than to the olpc group. Plus, it's not hard to do. Just type:
sudo groupmod -n new_username olpc
If sudo is installed (if you used the Compressed Files method, it is), we need to change the sudo information, so in a terminal type:
EDITOR=/usr/bin/nano sudo visudo
Scroll down to the bottom of the file and change all the olpc in the first column with new_username. If you changed your group name, be sure to also change the line
new_username ALL=(root) NOPASSWD: /bin/chgrp olpc /sys/class/backlight/dcon-bl/brightness
to
new_username ALL=(root) NOPASSWD: /bin/chgrp new_username /sys/class/backlight/dcon-bl/brightness
If you changed your group name, open the .xfce4_startup file in your home directory (/home/new_username/.xfce4_startup) and change the line:
sudo chgrp olpc /sys/class/backlight/dcon-bl/brightness
to
sudo chgrp new_username /sys/class/backlight/dcon-bl/brightness
Note: Throughout the rest of these guides, I'll assume that the username is still olpc.
Running graphical programs as root
I don't know why we're running into this problem, but for some reason the .Xauthority file goes missing, which prevents gksu from running, which ends up with us not being able to run graphical programs requiring root privilege. Luckily, there's a simple fix! Just add, to the bottom of your .xfce4_startup file in your home directory (/home/username/.xfce4_startup):
xauth generate $DISPLAY . trusted
That'll fix the problem once you log out of X, but what about your current X session? Well, you could just log out and start Xfce4 again, but there's another way! Just type in a terminal:
xauth generate $DISPLAY . trusted
Installing new software
There are plenty of ways to do this in Ubuntu, but if you're new to Ubuntu, then I'd recommend the Synaptic Package Manager. it's available from the menu, under the System submenu. It'll hopefully ask you for your password. If it says you don't have permission to run it, see the How-To above. If synaptic isn't installed, you can install it using another installation method: apt-get. The apt-get program is a command-line program. Here's an example of how to use it, that happens to install synaptic. Open a terminal and type:
sudo apt-get install synaptic
Rotating the screen
Thanks to cyli's post in the Xfce? thread, it's now possible to rotate the screen in Ubuntu.
First, you need to install the new driver. Visit this website https://launchpad.net/%7Eq-funk/+archive and search for "xserver-xorg-video-amd" in the search bar towards the bottom. It should come back with one result. Show all the files related to that result (click the triangle next to the source name) and download the xserver-xorg-video-amd_2.7.7.6-1ubuntu2_i386.deb file. Open a terminal, change into the directory you downloaded the file to, and run
sudo dpkg -i xserver-xorg-video-amd_2.7.7.6-1ubuntu2_i386.deb
Finally, download freelikegnu's new xorg.conf file to /etc/X11:
cd /etc/X11 wget http://www.freelikegnu.org/wp-content/uploads/2008/01/xorg.conf
You can rotate the screen by using
xrandr -o 2
to flip the screen and
xrandr -o 0
to return it to normal. info_anarchy and Frihet both wrote scripts that make use of the rotate button:
- http://olpcnews.com/forum/index.php?topic=592.msg15755#msg15755
- http://olpcnews.com/forum/index.php?topic=592.msg15814#msg15814
the keycode for the rotate button can be found with "xbindkeys -k" but it only works for the right gamepad the left arrows and the rotate button dont register... so um.. yeah ..
Mapping the Rocker Buttons
By default, the rocker buttons are not recognized by the kernel. But you can find the keycodes by running the following command in the console while pressing the rocker buttons.
tail -f /var/log/messages
You will see many messages like:
Unknown key released (translated set 2, code 0x65 on isa0060/serio0). Use 'setkeycodes 65 <keycode>' to make it known.
This tells us that the key code for this particular button (Up) is 65. Doing this for all the rocker buttons reveals codes 65-68.
I wanted to map the rocker buttons to the arrow keys so I needed to find the key codes for the arrow keys. The following command will reveal the key code for the up arrow key.
root@xo-ubuntu:~# dumpkeys --keys-only | grep Up keycode 103 = Up
Now we know the keycode is 103 for up. You can also grep for Down, Left, Right to find the key code each arrow key. Issuing the following command will map the up rocker to the up arrow key.
setkeycodes 65 103
This can be repeated for each rocker key by replacing 65 and 103 with the buttons' corresponding numbers.
I added the following lines to the /etc/rc.local to map all the rotator buttons on boot.
#setup rocker pad setkeycodes 65 103 setkeycodes 66 108 setkeycodes 67 105 setkeycodes 68 106
References
- Beyond the Ubuntu Installation
- The trackpad is killing me! Help! (Ubuntu+xfce)
- Xfce?
- Ubuntu: getting X to see the rotation button and directional buttons