cnee record(1) replays or distributes X11 data


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)
Record future client's data
--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


--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)


--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)


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 --no-sync

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.06


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