---
name: "cnee"
section: "1"
platform: "linux"
package: "cnee"
version: "3.19-9.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cnee"
---

# cnee(1)

record, replays or distributes X11 data

## NAME

cnee - record, replays or distributes X11 data

## SYNOPSIS

**cnee \[***options***\]**

## DESCRIPTION

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.

## GENERAL OPTIONS

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

## RECORD OPTIONS

- **--first-last**

  Print only first and last of multiple successive MotionEvent

- **--all-events**

  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.

## REPLAY OPTIONS

- **--speed-percent, -sp \<speed\>**

  Set replaying speed percentage is set to speed

- **--replay-resolution \<res\>**

  Resolution to use when replaying is set to res

- **--resolution-adjustment**

  Use resolution adjustment

- **--synchronised-replay**

  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

## CNEE OPTIONS

- **--file, -f \<file\_name\>**

  Read data from file file\_name (default is stdin)

- **--help, -h**

  Print this message

- **--flags**

  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

- **--keyboard**

  Record the keyboard

- **--mouse**

  Record mouse events

- **--print-data-names, -pdn**

  Prints X11 data number and name

- **--manpage**

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

- **--texipage**

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

- **--type-help**

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

  \<backend\>

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

## COMMENTS

- **file\_name**

  Name of a file (e.g /tmp/my\_file.xns)

- **display\_name**

  Name of a display (e.g 192.168.1.12:0

- **secs**

  Seconds (e.g 10)

- **n**

  Integer number (e.g 100)

- **LIST**

  Comma separated list of display (e.g 192.168.1.12:0,129.12.23.0:0)

- **X\_LIST**

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

## EXAMPLES

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

  ## AUTHOR

Henrik Sandklef.

## REPORTING BUGS

Report bugs in the program to bug-xnee@gnu.org.

## COPYRIGHT

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.

## SEE ALSO

**cnee(info),**xnee(info),[**xev**(1)](/xev/1.md)

## VERSION

xnee man page, version 3.19

## NOTES

This page describes **cnee.** Mail corrections and additions to bug-xnee@gnu.org
