Chico2 desktop machine configuration
Operating system installation
We installed Ubuntu 8.04 'Hardy Heron' because it is proven to be stable and working well with the latest versions of ACE and YARP (as of May 2009).
Partitions
size | mountpoint | filesystem |
---|---|---|
498GB | / | ext3 |
2GB | swap |
Ubuntu installation parameters
machine name: chico2
user name: vislab (we might need a user icub in the future for "yarp run" operations since the pc104 only has user icub as a permanent one)
Operations after first boot
operations performed after the standard installation
- system update
- enabled nvidia drivers
- removed the package network-manager-gnome.
Other operations performed
Network
- manually configured the internet connection (/etc/network/interfaces):
auto lo iface lo inet loopback auto eth1 iface eth1 inet static address 10.10.1.52 netmask 255.255.255.0 network 10.10.1.0 broadcast 10.10.1.255 gateway 10.10.1.254
- added the following lines to /etc/hosts, to enable running commands like: ping cortex1.
10.10.1.50 pc104 10.10.1.51 icubsrv 10.10.1.52 chico2 10.10.1.1 cortex1 10.10.1.2 cortex2 10.10.1.3 cortex3 10.10.1.4 cortex4 10.10.1.5 cortex5
Additional packages
- install some required packages:
sudo apt-get install libncurses5-dev libace-dev cmake libgsl0-dev libgtk2.0-dev libgtkmm-2.4-dev libglademm-2.4-dev cvs g++ subversion ssh
Additional RobotCub software
- install YARP
mkdir ~/YARP cd ~/YARP cvs -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 login cvs -z3 -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 co -P yarp2 cd yarp2 ccmake . #click "c" when cmake starts, then enable: #COMPILE_NEW_YARPVIEW, CREATE_DEVICE_LIBRARY_MODULES, CREATE_GUIS, CREATE_LIB_MATH and ENABLE_yarpmod_opencv_grabber. #they will probably not be available at first: enable the ones you find, then run "c" again and continue enabling them until done. #then click on "g": generate and quit. make make test sudo make install
add these lines to /etc/bash.bashrc:
YARP_DIR=/home/vislab/YARP/yarp2/ export YARP_DIR YARP_ROOT=$YARP_DIR export YARP_ROOT
- install OpenCV (Ubuntu prepackaged version 1.0.0-4)
sudo apt-get install libcv1 libcvaux1 libcvaux-dev libcv-dev libhighgui1 libhighgui-dev opencv-doc python-opencv
- install the iCub software:
in /home/vislab/ cvs -d vislab@cvs.robotcub.org:/cvsroot/robotcub co iCub ccmake . make sudo make install
add these lines to /etc/bash.bashrc:
ICUB_DIR=/home/vislab/iCub/ export ICUB_DIR ICUB_ROOT=$ICUB_DIR export ICUB_ROOT
modify /etc/environment adding the path of the iCub binaries at the end of the PATH line:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/vislab/iCub/bin"
I'm not sure if this takes effect immediately, but after a reboot it does. this enables yarp run to find the binaries.
- create a local version of these configuration files, in $ICUB_DIR/app/default/scripts:
cp config.sh.template config.sh cp config-nodes.sh.template config-nodes.sh #there might be some misspellings in them, beware.
- edit file $ICUB_ROOT/app/default/scripts/config-nodes.sh like this:
NODE_CAMERAS=pc104 NODE_VIEWERS=chico2
More VisLab-specific configuration
- set up passwordless log-in to the Cortex computers:
#generate the public and private keys on this computer. enter empty strings when prompted for various answers. ssh-keygen #the cortex computers (ip addresses 10.10.1.1 to 10.10.1.5) share the same disk, so you need to do the set up only once.
#copy the public key you just generated to cortex1, on the user account you want to use there (e.g. demo). scp /home/vislab/.ssh/id_rsa.pub demo@10.10.1.1: #log in to cortex1 ssh demo@10.10.1.1 #add the public key to the authorized ones cat id_rsa.pub >> ~/.ssh/authorized_keys #remove the id_rsa.pub file and log out from cortex1. rm id_rsa.pub exit exit #log in again to each cortex computer, to check that the process worked and they don't prompt for a password.
- set up passwordless log-in to pc104
pc104 boots from a read-only medium, so you cannot modify permanently its authorized_keys file. pc104, though, mounts a part of icubsrv's hard-disk and then runs some scripts from there (see the pc104 page for reference).
#copy the usual public key to the icubsrv (laptop) scp id_rsa.pub icub@10.10.1.51: #ssh to icubsrv ssh icub@10.10.1.51 #add the key to the authorized ones cat id_rsa.pub >> /exports/code-pc104/pc104/hooks/keys/authorized_keys #rm the id_rsa.pub file rm id_rsa.pub #restart pc104 and check that you can log in passwordlessly.
Customization of GNOME panel
See Chico2 machine configuration/Archive for obsolete information. Here we report how we actually proceeded.
- add buttons to the panel/bar at the top of the screen, to conveniently open terminals and file managers on remote machines.
the top bar should look something like this when you're done:
pick the images you like and turn them into 48x48pixel gif images (you can use the GIMP for this). example for the button to open the gnome-terminal on cortex1: right click on the panel and select "add to panel" select "custom application launcher" click on the icon and select the directory where your icons are, typically ~/Pictures/ click on open, then select the picture for this particular button write in the field "command": gnome-terminal --window-with-profile=cortex -e "ssh demo@10.10.1.1 -X" set the name to something like: ssh demo@cortex1 the profile specified (--window-with-profile=cortex) does not exist by default, you need to create it. those profiles are used to give terminals on different machines different colors (e.g. all terminals running in a cortex computer will be blue, terminals local to chico2 will be white, etc.). to create the "cortex" profile: open a terminal on, say, cortex1 click on File, select "new profile" and name it "cortex". choose the colors. cortex windows usually are blue with white text, while pc104 windows are yellow with black text.
for the buttons that start nautilus, the file manager, on pc104 and on cortex (once again, all cortex computers share the same disk, so you need only one button for them) you should use these lines of code: nautilus sftp://icub@10.10.1.50/home/icub/ nautilus sftp://demo@10.10.1.1/home/demo
and... you're done! easy, huh? :-)
if you'd like to, you can set the desktop background to: