---
name: "gtkrsyncp"
section: "1"
platform: "linux"
package: "gtkrsync"
version: "1.0.4"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/gtkrsync"
---

# gtkrsyncp(1)

GUI front-end for rsync

Part of [gtkrsync(1)](/gtkrsync/1.md).

## NAME

gtkrsync - GUI front-end for rsync

## SYNOPSIS

**gtkrsync** \[ *args for rsync ...* \]

**gtkrsyncp**

## DESCRIPTION

**gtkrsync** is a graphical interface for displaying the progress of an [**rsync**(1)](/rsync/1.md) session.  It displays a running status display from parsing the output of rsync --progress -v (with --no-inc-recursive with **rsync** v3.0 or above).  This status display includes a per-file and overall status bar, overall estimated time to completion, and an expandable button that shows all rsync status output.

Unlike other GUI rsync frontends such as grsync, **gtkrsync** does not have any GUI tools for configuring or invoking rsync.  **gtkrsync** is designed to be invoked from the command line or shell scripts, which already specify all the needed rsync options.  It is thus ideal for scripted **rsync** runs that need a GUI, or for command-line users that would like a GUI to monitor their **rsync** progress.

**gtkrsync** is a drop-in replacement for rsync.  It fires up the GUI and invokes **rsync**, passing all args to it.  When invoked this way, **gtkrsync** is able to detect if **rsync** exits in error and alerts the user.  **gtkrsync** can also monitor both stdout and stderr from **rsync**, and displays both.  The cancel button in **gtkrsync** also will kill off the **rsync** process.  You must make sure to pass --progress -v on the **gtkrsync** command line in order to get enough information out of **rsync** to build a proper GUI.

If ysing **rsync** version 3.0 or above, you must also add --no-inc-recursive to your command line. These newer versions of **rsync** use incremental tree scanning by default.  As a result, they do not emit information up front about the expected number of files to transfer, and thus **gtkrsync** would lack enough information to display its progress bars.

Besides **gtkrsync**, the other binary is **gtkrsyncp**.  This program accepts the output of rsync --progress -v on standard input and displays it in a GUI.  It cannot detect whether **rsync** exited in error and cannot kill **rsync** when Cancel is pressed.  However, this program may be useful in some cases when direct control of **rsync** is handled elsewhere.

## OPTIONS

All options passed to **gtkrsync** are sent directly to [**rsync**(1)](/rsync/1.md).  **gtkrsyncp** takes no options.

## EXIT VALUES

**gtkrsync** and **gtkrsyncp** both return 0 on success or 20 if the user clicked Cancel or closed the window before the **rsync** was complete. 20 is also the code that **rsync** uses to indicate a transfer interrupted by the user.

In all other cases, **gtkrsync** returns the result code that **rsync** returned.  **gtkrsyncp** returns 0.

## ENVIRONMENT VARIABLES

**gtkrsync** will look for an RSYNC environment variable.  If set, it is taken to be the name of the **rsync** binary. If not given, rsync is used.  **gtkrsyncp** does not use this variable.

This application uses no other environment variables directly, but other programs or standard libraries may do so.  DISPLAY, for instance, must be set for the X libraries to work.

Users using **rsync** over **ssh** may find the SSH\_ASKPASS variable useful.  This is interpreted directly by **ssh** and can specify a GUI tool to use to prompt the user for a password when needed.

## COPYRIGHT

**gtkrsync**, all associated scripts and programs, this manual, and all build scripts are Copyright (C) 2007-2010 John Goerzen.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

## AUTHOR

**gtkrsync**, its modules, documentation, executables, and all included files, except where noted, was written by John Goerzen \<jgoerzen@complete.org\> and copyright is held as stated in the COPYRIGHT section.

**gtkrsync** may be downloaded from the Debian packaging system or at\
  \<URL:http://packages.debian.org/gtkrsync\>.

**gtkrsync** may also be downloaded using git by running **git clone** **git://git.complete.org/gtkrsync**.

## SEE ALSO

[**rsync**(1)](/rsync/1.md), [**gtkrsync**(1)](/gtkrsync/1.md), [**gtkrsyncp**(1)](/gtkrsyncp/1.md), [**ssh**(1)](/ssh/1.md).
