cnee [options]


The program cnee can record and replay an X session. cnee also has the ability to distribute events to multiple displays. cnee gets copies of X protocol data from the X server. These are either printed to file ( record mode) or replayed and synchronised ( replay mode). During record and replay cnee can distribute the record/replayed events to multiple displays.


--err-file, -e <file>

Redirect all Xnee verbose output file_name(default is stderr)

--out-file, -o <file>

Redirect all Xnee data to file_name(default is stdout)

--display, -d <displayname>

X server to contact (default is localhost)

--all-clients, -ac

Record all client's data (default)

--data-to-record, -dtr <n>

Intercept n numbers of data ( n<0 means forever)

--time, -t <secs>

Delay start of application for <secs> seconds. Can be used to prevent recording of KeyRelease when starting Xnee from terminal

--record, -rec

Set recording mode

--replay, -rep

Set replaying mode

--distribute, -di <LIST>

Distribute recorded or replayed events to LIST where LIST is comma separated list of displays

--future-clients, -fc

Record future client's data (default)

--plugin, -p <name

Use the plugin name

--verbose, -v

Enable verbose printout

--feedback-xosd, -fx

Use xosd to feedback

--feedback-stderr, -fs

Use stderr to feedback

--feedback-none, -fn

Dont' use feedback

--device-event-range, -devera <X_LIST>

Set device event range to X_LIST

--keep-autorepeat, -ka

Keep autorepeat during record/replay

--no-reparent-recording, -nrr

Prevent explicit recording of ReparentNotify event



Print only first and last of multiple successive MotionEvent


Intercept all events

--events-to-record, -etr <n>

Intercept n numbers of events ( n<0 means forever)

--seconds-to-record, -str <n>

Intercept for n seconds ( n<0 means forever)

--recorded-resolution <res>

Resolution to use when recording is set to res

--human-printout, -hp

Prints human readable

--store-mouse-position, -smp

Store the initial position of the mouse

--request-range, -reqra <X_LIST>

Set request range to X_LIST

--reply-range, -repra <X_LIST>

Set reply range to X_LIST

--delivered-event-range, -devra <X_LIST>

Set delivered event range to X_LIST

--error-range, -erra <X_LIST>

Set error range to X_LIST

--extension-request-major-range, -erqmar <X_LIST>

Set extension request major range to X_LIST

--extension-request-minor-range, -erqmir <X_LIST>

Set extension request minor range to X_LIST

--extension-reply-major-range, -erpmar <X_LIST>

Set extension reply major range to X_LIST

--extension-reply-minor-range, -erpmir <X_LIST>

Set extension reply minor range to X_LIST

--record-from-data-display, -rfdd

Record from data display. This option is experimental.

--record-from-control-display, -rfcd

Record from control display. This option is experimental.


--speed-percent, -sp <speed>

Set replaying speed percentage is set to speed

--replay-resolution <res>

Resolution to use when replaying is set to res


Use resolution adjustment


Synchronise during replay

--no-synchronise, -ns

Don't use synchornisation during replay

--recall-window-position, -rwp

Recall the recorded window position to be used during replay

--force-replay, -fp

Keep replaying even if we are out of sync .... dangerous

--buffer-verbose, -bv

Enable verbose printout of replay buffer

--max-threshold, -mat <nr>

Set the maximum threshold for sync to nr

--min-threshold, -mit <nr>

Set the minimum threshold for sync to tnr

--tot-threshold, -tot <nr>

Set the total threshold for sync to nr

--replay-offset, -ro <x,y>

Set the replay offset to (x,y)

--max-window-moves, -mwm

Maximum times Xnee will try to move a window to the position it was in when recorded


--file, -f <file_name>

Read data from file file_name (default is stdin)

--help, -h

Print this message


Prints all flags/options xnee accepts

--project, -pr <file_name>

Use project file file_name

--version, -V

Print product information

--retype-file <file>

Types (faking user) the contents of the specified file

--write-settings <file>

Writes settings to a resource file

--print-settings, -ps

Prints Xnee settings and waits (for <ENTER>)

--print-event-names, -pens

Prints X11 event number and name

--print-event-name, -pen <ev>

Prints X11 event number or name coresponding to ev

--print-error-names, -perns

Prints X11 error number and name

--print-error-name, -pern <er>

Prints X11 error number or name coresponding to er

--print-reply-names, -pren

Prints X11 reply number and name

--print-request-names, -prns

Prints X11 request number and name

--print-request-name, -prn <req>

Prints X11 request number or name coresponding to req


Record the keyboard


Record mouse events

--print-data-names, -pdn

Prints X11 data number and name


Prints Xnee help text in format as used when generating man page


Prints Xnee help text in format as used when generating info page


Type this help message using faked keys (used to test xnee itself)

--demonstration, -demo

Let Xnee take you on a demonstration ride

--check-syntax, -cs

Check syntax of the command line and/or project file (no exec)

--get-xinput-event-base, -gxeb

Get the event base for Xinput Extension

--disable-xinput-events, -dxe

Disable recording of XInput events

--replay-backend, -rb


--force-core-replay, -fcr

Discard record X Input device data, use recorded core device data

--record-replay, -rr

Record and replay a session (press q to stop recording)



Name of a file (e.g /tmp/my_file.xns)


Name of a display (e.g


Seconds (e.g 10)


Integer number (e.g 100)


Comma separated list of display (e.g,


Comma separated list of integers (e.g 12-23,35,45-56)


cnee --record --events-to-record 1000 --mouse --keyboard -o /tmp/xnee.xns -e /tmp/xnee.log -v

Records 1000 events (keyboard and mouse) to file /tmp/xnee.xns and dumps the verbose printout to /tmp/xnee.log

cnee --replay -f /tmp/xnee.xns -v -e /tmp/xnee.log -ns

Read data from /tmp/xnee.xns, replay it and verbose print to file /tmp/xnee.log

For more examples, read the Xnee manual


Henrik Sandklef.


Report bugs in the program to [email protected].


Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Henrik Sandklef. This is free software; see the source for copying conditions. There is NO warranty;not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.




xnee man page, version 3.19


This page describes cnee. Mail corrections and additions to [email protected]