| .\" |
| .\" Licensed to the Apache Software Foundation (ASF) under one |
| .\" or more contributor license agreements. See the NOTICE file |
| .\" distributed with this work for additional information |
| .\" regarding copyright ownership. The ASF licenses this file |
| .\" to you under the Apache License, Version 2.0 (the |
| .\" "License"); you may not use this file except in compliance |
| .\" with the License. You may obtain a copy of the License at |
| .\" |
| .\" http://www.apache.org/licenses/LICENSE-2.0 |
| .\" |
| .\" Unless required by applicable law or agreed to in writing, |
| .\" software distributed under the License is distributed on an |
| .\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| .\" KIND, either express or implied. See the License for the |
| .\" specific language governing permissions and limitations |
| .\" under the License. |
| .\" |
| .TH guaclog 1 "26 Jan 2018" "version @PACKAGE_VERSION@" "Apache Guacamole" |
| . |
| .SH NAME |
| guaclog \- Guacamole input log interpreter |
| . |
| .SH SYNOPSIS |
| .B guaclog |
| [\fB-f\fR] |
| [\fIFILE\fR]... |
| . |
| .SH DESCRIPTION |
| .B guaclog |
| is an interpreter which accepts Guacamole protocol dumps, such as those saved |
| when input logging is enabled for a Guacamole session recording, writing |
| human-readable text logs as output. |
| .B guaclog |
| is essentially an implementation of a Guacamole client which accepts |
| its input from files instead of a network connection, however unlike |
| .B guacenc |
| it only handles instructions related to user input. |
| .P |
| Each \fIFILE\fR specified will be translated into a new human-readable text |
| file named \fIFILE\fR.txt. Existing files will not be overwritten; the |
| interpreting process for any input file will be aborted if it would result in |
| overwriting an existing file. |
| .P |
| Guacamole acquires a write lock on recordings as they are being written. By |
| default, |
| .B guaclog |
| will check whether the each input file is locked and will refuse to read and |
| interpret an input file if it appears to be an in-progress recording. This |
| behavior can be overridden by specifying the \fB-f\fR option. Interpreting an |
| in-progress recording will still work; the resulting human-readable text file |
| will simply cover the user's session only up to the current point in time. |
| . |
| .SH OPTIONS |
| .TP |
| \fB-f\fR |
| Overrides the default behavior of |
| .B guaclog |
| such that input files will be interpreted even if they appear to be recordings |
| of in-progress Guacamole sessions. |
| . |
| .SH OUTPUT FORMAT |
| The output format of |
| .B guaclog |
| is meant to match what the user would have typed within a typical text editor |
| as closely as possible, while also representing non-printable characters and |
| keyboard shortcuts in a human-readable way. |
| .P |
| All output is on one line, with new lines started only as a result of the user |
| pressing enter/return. Keys which produce printable characters are translated |
| into their corresponding Unicode codepoints and encoded as UTF-8, while |
| non-printable characters are enclosed within angle brackets and represented |
| with their human-readable names. Keyboard shortcuts which are made up of more |
| than one key are enclosed within angle brackets, with each key within the |
| shortcut separated by plus signs. |
| .P |
| Spaces and newlines are included as their Unicode character, except when |
| represented within a keyboard shortcut, in which case their human-readable |
| names are used instead. As the output of pressing tab can be easily mistaken |
| for spaces, and as pressing tab frequently has special meaning within |
| applications, tab is always represented by its human-readable name. |
| .P |
| Modifiers are output as part of keyboard shortcuts only. Simple pressing and |
| releasing of a modifier will be ignored, as are presses of shift or AltGr while |
| typing. |
| .P |
| For example, if the user typed "Hello WORLD!", selected everything by pressing |
| Ctrl+a, copied the selected text by pressing Ctrl+c, switched to another |
| application by pressing Alt+Shift+Tab, and then pasted the previously-copied |
| text by pressing Ctrl+v, the resulting log from |
| .B |
| guaclog |
| would look like: |
| .PP |
| .RS 0 |
| Hello WORLD!<Ctrl+a><Ctrl+c><Alt+Shift+Tab><Ctrl+v> |
| . |
| .SH SEE ALSO |
| .BR guacenc (1) |