iTalc2 on Ubuntu 12.04

UPDATE: Deb files for italc are available! Instructions adapted from http://ubuntuhandbook.org/index.php/2014/01/install-italc-ppa-ubuntu-linux/

Optional: You may want to manually add the key for the PPA:

apt-key adv --recv-key --keyserver keyserver.ubuntu.com 4C1CBE14852541CB

Add the Ubuntu Handbook repository:

sudo add-apt-repository ppa:ubuntuhandbook1/apps

Next, update the package lists:

sudo apt-get update

Now install italc2 on the master computer:

sudo apt-get install italc-master -y

Install italc2 on the client computer:

sudo apt-get install italc-client

At this prompt, you can choose to either have the italc keys generated automatically, or to do this process manually. I prefer to do it manually, so this tutorial will reflect a selection of "no" at this prompt.

Next, we have to add a startup script that will automatically start the italc process. To do this, first create the following script in a location of your choosing and make it executable:

#!/bin/bash
killall ica
/usr/bin/ica &

Then, add the following line to /etc/lightdm/lightdm.conf:

greeter-setup-script=/path/to/your/script

Next, set up the appropriate key pairs on the master computer. The role can be admin, teacher, or supporter.

imc -role teacher -createkeypair
imc -role admin -createkeypair

Creating key pairs will create keys inside the following locations, according to the role used to create the key pair.

/etc/italc/keys/public/teacher/

/etc/italc/keys/private/teacher/

/etc/italc/keys/public/admin/

/etc/italc/keys/private/admin/

It is advisable to create an italc group on the master computer and add system users to that group.

addgroup italc
adduser [your user] italc

We now need to set permissions for the private italc folders.

chmod -R 640 /etc/italc/keys/private
chgrp -R italc /etc/italc/keys/private

The client needs the public keys. First, create a location in which to store the keys on the client:

mkdir -p /etc/italc/keys/public/teacher/
mkdir -p /etc/italc/keys/public/admin/

Then copy the public keys to the corresponding italc folders on the client. This can be done any number of ways. If deploying to many clients, perhaps a shared network drive or a web server would be easy methods of deployment. Using SCP is shown below.

scp /etc/italc/keys/public/teacher/key root@[client]:/etc/italc/keys/public/key

The last step is to disable permission requests when using key authentication. If this is not done, then the client sees this annoying popup box on the screen asking to verify the connection to the master computer, and this popup does not go away until you click yes. Scripting this process is ideal for many clients. The client script:

#!/bin/bash
sed -e 's/PermissionRequiredWithKeyAuthentication=1/PermissionRequiredWithKeyAuthentication=0/' /etc/xdg/iTALC\ Solutions/iTALC.conf > /etc/xdg/iTALC\ Solutions/iTALC.conf.new
rm /etc/xdg/iTALC\ Solutions/iTALC.conf
mv /etc/xdg/iTALC\ Solutions/iTALC.conf.new /etc/xdg/iTALC\ Solutions/iTALC.conf

Otherwise, start up the Italc Management Console (type imc at the command prompt) and uncheck the box for key file authentication in the Authentication >> Access confirmation sections:

The final step is to log out of both the master and client so that the startup script can take effect. After logging back in to the master, you can start italc-master and start entering the client information.

If you would rather compile from source, follow the instructions below. First, a few dependencies:

  • libqt4-dev
  • xorg-dev
  • x11vnc
  • libXtst-dev
  • libjpeg62-dev
  • zlib1g-dev
  • libssl-dev
  • cmake
  • libpam0g-dev
  • g++

Download the latest iTalc from sourceforge and extract the contents. Within the extracted italc folder, create a build folder, go into the build folder and run cmake

  • mkdir build
  • cd build
  • cmake..

Now install the program:

  • make install

For 64-bit machines, copy libItalcCore.so from /usr/local/lib64 to /usr/lib/

  • cp /usr/local/lib64/libItalcCore.so /usr/lib/