Workshop: Scripting with bash

Today at IT University (Gothenburg, Sweden) I will do a workshop on scripting with bash. This workshop is the first (beta) of a series of planned workshops organised by  FSCONS and FFKP. More information here:

https://wiki.ffkp.se/index.php/Hacknights_at_IT-U

Invitation text:

Today there will be a workshop in the square of the 2nd year students. The workshop introduce you to scripting, using bash.

When:    April 6, 16.00 – 18.00
Where:   IT University, Building Patricia, floor 4, 2nd year square
Registration: None – just show up

During the workshop, aimed at helping the “embedded project” with setting up automated tests, we will go through:

* hello world
* redirect
* checking return values
* remote commands (with ssh)
* checking out (branching) code under version control
* pipes
* catching output from a program
* making the script run every night (or hour?)
* using settings
* parsing command line options
* writing functions
* evaluating expression
* test if (directory or file exists…)
* writing to a log file
* ….. and much more

GNU Xnee 3.09 (‘Moore’) released

We are pleased to announce the availability of GNU Xnee 3.09

GNU Xnee is a suite of programs that can record, replay and distribute  user actions under the X11 environment. Think of it as a robot that can imitate the job you just did. GNU Xnee can be used to:

  • Automate tests
  • Demonstrate programs
  • Distribute actions
  • Record and replay ‘macro’
  • Retype the content of a file

Getting the Software

http://ftp.gnu.org/gnu/xnee/xnee-3.09.tar.gz
http://ftp.gnu.org/gnu/xnee/xnee-3.09.tar.gz.sig

or one of the mirror sites as found in:

http://www.gnu.org/prep/ftp.html

Checksums

md5sum:
c59b875a522dc71be545921c30a0c807  xnee-3.09.tar.gz

cksum:
111533042 1782493 xnee-3.09.tar.gz

New in this release

* Fixed bugs:

Reported on Savannah:
#31231: Replay in demo mode malfunctions
#28238: XI2 extension support
#28431: Separate tests needing a running X server
#32291: Xnee fails checking gtk.h
#28242: Missing makeinfo dep in configure

Reported on xnee-devel mailing list:
cnee loves Xephyr ?
lists.gnu.org/archive/html/xnee-devel/2011-02/msg00000.html

Debian bug report:
# 613237 “3.08 is available which works fine in unstable”

About calling the release “Moore”

Following the tradition to pay tribute to old heroes who have passed away this release is named after Gary Moore. I used to listen to Thin Lizzy and from there I discovered Moore. Somewhere in a box somewhere I have a shaped picture 12″ vinyl of Shapes of things. This song is written by Yardbirds member so I discovered them through Moore ….

http://en.wikipedia.org/wiki/Gary_moore

GNU Xnee 3.08 ('Captain Beefheart') released

We are pleased to announce the availability of GNU Xnee 3.08

GNU Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. Think of it as a robot that can imitate the job you just did. GNU Xnee can be used to:

  • Automate tests
  • Demonstrate programs
  • Distribute actions
  • Record and replay ‘macro’
  • Retype the content of a file

Getting the Software

http://ftp.gnu.org/gnu/xnee/xnee-3.08.tar.gz

http://ftp.gnu.org/gnu/xnee/xnee-3.08.tar.gz.sig

or one of the mirror sites as found in:

http://www.gnu.org/prep/ftp.html

Checksums

md5sum:
eb00ce2359e764ff6ad30ecdf4fb223b  xnee-3.08.tar.gz

cksum:
3444816400 1781771 xnee-3.08.tar.gz

New in this release

* Various fixes to make Xnee work with new versions
of RECORD extension

About calling the release “Captain Beefheart”

It’s a way to pay tribute to Don Glen Vliet, aka Captain Beefheart (January 15, 1941 – December 17, 2010) . For more information on Captain Beefheart, visit:

http://en.wikipedia.org/wiki/Captain_Beefheart

A proposed name for this release was “frownland” after the super amazing song Frownland on the album “Trout mask replica”, but …. “Captain beefheart” is the name.

GNU Xnee 3.07 released

We are pleased to announce the availability of GNU Xnee 3.07

GNU Xnee is a suite of programs that can record, replay and distribute
user actions under the X11 environment. Think of it as a robot that can
imitate the job you just did. GNU Xnee can be used to:
 Automate tests
 Demonstrate programs
 Distribute actions
 Record and replay 'macro'
 Retype the content of a file

Getting the Software
====================

 http://ftp.gnu.org/gnu/xnee/xnee-3.07.tar.gz
 http://ftp.gnu.org/gnu/xnee/xnee-3.07.tar.gz.sig

or one of the mirror sites as found in:

 http://www.gnu.org/prep/ftp.html

Checksums
===========

 md5sum:
 f9fca0c7475a90487c86eca2027d0fcd  xnee-3.07.tar.gz

 cksum:
 510662476 1779830 xnee-3.07.tar.gz

New in this release
===================

 * New features:
 Supports recording xnd replaying of XInput device events
 * Forced replaying of X11 core events can be done
 * Backward compatible with old session files

 * Build changes:

 --enable-man
 Checks for makeinfo once, uses result many times
 Can build guis and manual without all doc stuff

 --disable-xinput2
 By default Xnee is built with XI support

 Looks for gtk-config when configuring
 Checks for makeinfo once, uses result many times
 Can build guis and manual without all doc stuff

 * Issues
 Human printout of X Input events needs more work
 Need to make X Input code be totally ifdefed away

 * New options:
 --force-core-replay,-fcr
 Discard recorded X Input device data,
 use recorded core device data

 --disable-xinput-events
 Disable recording of XInput events

 * Fixed bugs as reported on ubuntuforums:
 http://ubuntuforums.org/showthread.php?t=1253453&highlight=xnee

 savannah bug: #30134 "Missing xnee.xpm in gnee"
 savannah bug: #30136 "Configure misses to check for gnome.h"

 * Reported problems on N900 are fixed

 * Patches from Tuukka Pasanen, Fabian Keil

 * Experimental and undocumented features (read the source):
 * replay backend
 * xswine - new swinput backend for Xnee

Call for testers: Xnee 3.06.96 (in prep for 3.07)

 Support for X Input* has been added to GNU Xnee. Tests have been performed on:
     Debian Lenny
     Ubuntu 10.04
     Mameo , N900
and things (finally) seems to be working.
Building
---------------
Download:
    http://alpha.gnu.org/gnu/xnee/xnee-3.06.96.tar.gz

... unpack and build:
tar zxvf /home/hesa/gnu/xnee/xnee-3.06.96.tar.gz
cd xnee-3.06.96/
./configure --disable-gui --disable-gnome-applet --enable-xinput2 && make

Before releasing 3.07 it would be great to have some more tests done on other environments. If you can, here's some test cases:

Preparation:
-----------------------------
Execute:
    ./cnee/src/cnee --record --mouse --keyboard -o test-xi.xns -sk q
Move mouse, press and release some keys, ... stop recording by pressing q
Test case 1 "XI Replay":
-----------------------------
    ./cnee/src/cnee --replay -f test-xi.xns
Test case 2 "Core Replay":
-----------------------------
    ./cnee/src/cnee --replay -f test-xi.xns  --force-core-replay
Send feedback to http://lists.gnu.org/mailman/listinfo/bug-xnee  (or to me and I'll compile and anonymize your report and forward it to the list)
*) Multi-touch, multiple input devices ....

xswine: new program for the GNU Xnee suite

I been writing a small program, xswine, that can take a recorded GNU Xnee session file and replay that to swinput . Swinput had its share of changes and a new swinput release will see the light of day any day. The difference betwen replaying using swinput compared to replaying using Xnee itself is that swinput fakes the device events from the kernel and Xnee fakes at X11 level using XTest.

There’s a some questions that need to be solved before a proper xswine release, such as:

  • how to map the device id as recorded from X Input Extension to the “correct” input device as presented by swinput
  • timing – what do we do when we drift away from the start time, but want to keep the recorded diff between events

Currently there’s not much of the recorded X11 events that can be replayed. Here’s the current list:

  • X11 motion event – no
  • X11 button event – no
  • X11 key event – no
  • X Input device motion event – yes!!!
  • X Input device button event – no
  • X Input device key event – no

This means xswine can replay (using the kernel) recorded Multi-touch events!

But if that’s all xswine can do do, why do I bother writing a blog entry. Two reasons:

  1. nobody reads my blog…so nobody will complain about this blog post
  2. I want to “claim” the name xswine

So, what does xswine mean?

X – is for Xnee

swin – is for Swinput

e – dear reader of this blog (just claimed I had zero readers!), help me out … what should e stand for?

If you compile GNU Xnee and swinput (and install) from CVS HEAD you should be able to do:

sudo modprobe swmouse devs=4 && sudo chmod a+rwx /dev/swmouse*
./cnee/src/cnee --record --mouse -o whoa-mule.xns
cat whoa-mule.xns | ./xswine/xswine

Cnee records (partly) on N900/maemo

Some progress have been made on the work to make cnee (part of GNU Xnee) work on the N900. Earlier I reported that replaying works.

Now recording of mouse clicks (press, release) and key press and release works. But, MotionEvent cannot be recorded…. Feels like diving into the X server of N900 is the thing to do.But before that I shall report back to this: http://lists.maemo.org/pipermail/maemo-developers/2010-July/027097.html

If you want to test the last cnee for maemo, here’s a binary built from CVS HEAD 2010-09-12 23.50 (ish):

http://itupw056.itu.chalmers.se/xnee/special-dist/maemo/20100913/cnee

Nomination period open for Nordic Free Software Award

Until October 22 you can nominate a person, a project or an organisation for the Nordic Free Software Award.

The Nordic Free Software Award given to people, projects or organisations in the Nordic countries that have made a prominent contribution to the advancement of Free Software. The award will be announced during FSCONS 2010 in Gothenburg.

Send an email to award at fscons.org with the following information:

  • Name of nominee
  • Description/Bio of the nominee
  • Motivation for the award
  • Description of accomplishments

The Nordic Free Software Award has previously been given to:

  • 2009 Simon Josefsson and Daniel Stenberg
  • 2008 Mats Östling
  • 2007 SkoleLinux
More information about the award can be found here

GNU Xnee can replay on Maemo / N900

Last week I got a N900 from Pelagicore to make sure GNU Xnee executes on the device. And as soon as Xnee is verified to work on the N900, we can start testing the work done in Xnee to support X Input Extension input devices.

Last Friday I tested Xnee on the N900, by logging in to my development computer (x86) from the N900, using ssh -X. It didn’t work. Since I didn’t know where the problem lied, Xnee or the X server or perhaps the ssh client/server,  I decided to natively build Xnee for N900…. but when to do that?

Today, I finally had some spare time to hack on Xnee and N900. First thing, set up scratchbox. It was great getting to know scratchbox. After scratchbox was installed there was nothing hindering me … or was it?

It took an hour to play around with some new ./configure options, change the autotools config files, add some #define and to add some libs to the linker in order to get an executable cnee for the Maemo device. The compilation worked well (after a while), so I continued with testing cnee on the device.

* Record: does not work

* Replay: works

* Retype: works

so I guess it’s time to dive down into the X server shipped with the device to figure out what’s wrong with RECORD extension in the N900 X server. More info to come….

Thanks Pelagicore for the N900

GNU Xnee 3.06 ('Dio') released

We are pleased to announce the availability of GNU Xnee 3.06 ('Dio')

GNU Xnee is a suite of programs that can record, replay and distribute
user actions under the X11 environment. Think of it as a robot that can
imitate the job you just did. GNU Xnee can be used to:
    Automate tests
    Demonstrate programs
    Distribute actions
    Record and replay 'macro'
    Retype the content of a file

Getting the Software
====================

   http://ftp.gnu.org/gnu/xnee/xnee-3.06.tar.gz
   http://ftp.gnu.org/gnu/xnee/xnee-3.06.tar.gz.sig

or one of the mirror sites as found in:

   http://www.gnu.org/prep/ftp.html

Checksums
===========

  md5sum:
	1e68436f4be1ccb896f6db5e38957d1e

  cksum:
        809144464 1598910

New in this release
===================

   * New logo:
       pixmap/512x512/xnee-new.png

   * Build changes:
       configure bails out when building any gui
       and no pkg-config installed

   * Test changes:
       Separated tests:
       * make check  - does not need an X server to connect to
       * make xcheck - needs an X server to connect to

   * Fixed bugs as reported on bug-xnee@gnu.org:
       "crash in xnee_key2string when verbose"
       "cnee causing segfault"

   * New options:
        --no-reparent-recording

   * Options that didn't make it: (added and removed since last 3.05)
        --force-reparent-recording