Chico3

From ISRWiki
Revision as of 14:41, 1 June 2009 by Giovanni Saponaro (talk | contribs) (→‎Nautilus buttons: more Nautilus goodness)
Jump to navigation Jump to search

We installed Ubuntu 8.04 LTS Desktop ('Hardy Heron') 64 bit on the Tsunami laptop, dubbed chico3. For systems specifics click here.

Operating system installation

We chose to go for Ubuntu 8.04 because it is proven to be stable and working well with the latest versions of ACE, YARP and OpenCV (as of May 2009).

Partitions

We chose the 'Guided - use entire disk' option, which yields the following:

Hard disk partitioning
size mountpoint filesystem
287GB / ext3
8GB swap

Ubuntu installation parameters

  • machine name: chico3
  • user name: icub

Operations after first boot

Operations performed after the standard installation:

  • choose Main server (rather than Portugal server, which is incomplete) as the software repository. You can do this in System -> Administration -> Synaptic Package Manager -> Settings -> Repositories -> Download from: Main server
  • system update
  • enabled nvidia proprietary drivers (necessary to obtain a decent screen resolution)
  • 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 eth0
  iface eth0 inet static
  address 10.10.1.53 <-- this used to be venus' IP; not anymore
  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.53	chico3
  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
  • TODO: disable wifi (wlan0 and wmaster000 interfaces), for security and power consumption reasons

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

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 

YARP

TODO

iCub software

TODO

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. icub).
  scp /home/icub/.ssh/id_rsa.pub icub@10.10.1.1:   <-- be sure to write the semicolon ":" at the end
  #log in as 'icub' to cortex1
  ssh 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. If you receive an RSA key error because of different pc104 hardware setups (with or without pen), thus different RSA keys, you can use this option:

  ssh -o StrictHostKeyChecking=no pc104

Customization of GNOME panel

We used the same buttons that we put on Chico2. We copied the files by typing this on Chico2:

  scp ~/Pictures/* chico3:/home/icub/Pictures

and then we manually added the buttons one by one on the top toolbar of chico3.

Adding a new terminal button

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 this in the "command" field:
  gnome-terminal --window-with-profile=cortex -e "ssh demo@10.10.1.1 -X"
  • set the name to something like: ssh icub@cortex1

Note about gnome-terminal profiles: the profile we have specified specified (--window-with-profile=cortex) does not exist by default, we need to create it. These 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 do this:

  • open a terminal on, say, cortex1
  • click on File, select "new profile" and name it "cortex". choose the colors
  • cortex windows usually are blue background with white text, while pc104 windows are yellow with black text.

PC104 authentication caveat

For pc104 it might be necessary to add a StrictHostKeyChecking=no option argument to ssh (because there are different incompatible keys depending on the pc104 hardware setup, i.e., with or without pen):

  gnome-terminal --window-with-profile=pc104 -e "ssh -o StrictHostKeyChecking=no icub@10.10.1.50 -X"

Nautilus buttons

For the buttons that start the file manager Nautilus 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://icub@10.10.1.1/home/icub

After you are done browsing a remote machine disk with Nautilus, don't forget to unmount the volume (right-click the relevant icon on the desktop).