---
name: "s5"
section: "1"
platform: "linux"
package: "s5"
version: "1.1.dfsg.2-11"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/s5"
---

# s5(1)

set up and update S5 presentations

## NAME

**s5** – set up and update S5 presentations

## SYNOPSIS

**s5** \[**-Nv**\] \[**-d** *dir*\] \[**-f** *configfile*\] \[**-t** *template*\] \[**-T** *full*\] **blank** *path*

**s5** \[**-Nv**\] \[**-d** *dir*\] \[**-f** *configfile*\] \[**-t** *template*\] \[**-T** *full*\] **cksum** *path*

**s5** \[**-Nv**\] \[**-d** *dir*\] \[**-f** *configfile*\] \[**-t** *template*\] \[**-T** *full*\] **mksum** *path*

**s5** \[**-Nv**\] \[**-d** *dir*\] \[**-f** *configfile*\] \[**-t** *template*\] \[**-T** *full*\] **update** *path*

**s5** **-h**

**s5** **help**

## DESCRIPTION

The **s5** tool eases the creation of presentation slides using the “Simple Standards-based Slide Show System”. It may be used to create a working copy of a template directory or, later, to update the working copy after the template has changed over time.

The **s5** tool supports the following command-line options:

- **-d**

  Specify the top-level directory containing the available templates.

- **-h**

  Display a short help text and exit.

- **-N**

  No-operation mode; just display the commands without executing them.

- **-t** *template*

  Specify the template within the directory given by the **-d** option.

- **-T** *full*

  Specify the full path to the template directory instead of the default */usr/share/s5/s5-blank*

- **-v**

  Verbose operation; display diagnostic information.

The **s5** tool supports the following actions:

- **blank** *path*

  Aliases: **create**, **new**

  Copy the template directory into the directory specified by *path*, creating it if necessary.

- **cksum** *path*

  Aliases: **check**, **verify**

  Verify the checksums recorded for the S5 presentation files in the directory specified by *path*. The **s5** utility reports both files that have been modified (fail the checksum check) and files that no longer exist yet have checksums recorded.

- **help**

  Alias: **usage**

  Display a short help message and exit.

- **mksum** *path*

  Record the template checksums into a file in a directory specified by *path*. Users should never really have to execute this by hand, since it is done internally as part of the **blank** and **update** command processing.

- **update** *path*

  Update the S5 presentation files in the directory specified by *path* with the new versions in the S5 template directory.

  Before updating, the **s5** utility verifies the checksums of the files in the *path* directory, and terminates if a mismatch is found. After that, **s5** checks for any files that exist in both the new template and in the *path* directory, but are not recorded in the checksum file (i.e. have been placed in *path* by hand after the last **s5** **blank** or **s5** **update** run) and terminates if any such files differ.

  If all these checks are successful, the **s5** utility copies the template files over those in *path*, overwriting any existing files and retaining any files that do not exist in the template directory.

## THE CONFIGURATION FILE

The **s5** utility's operation may be customized by specifying some common parameters in a configuration file that is read at each invocation. There are two configuration files - the global */etc/s5.conf* and a per-user *.s5.conf* in the user's home directory. The global file is read first; the per-user file may override any of its settings.

The configuration file has simple shell-like syntax; its purpose is merely to optionally set some variables. Lines starting with the “#” character are ignored as comments. The variables that affect the operation of **s5** are:

- *S5\_DIR*

  The top-level directory containing all the templates; overridden by the command-line **-d** option. Default: */usr/share/s5*

- *S5\_TEMPLATE*

  The name of the template to use, a subdirectory within *S5\_DIR*; overridden by the command-line **-t** option. Default: *s5-blank*

## THE CHECKSUMS FILE

The **s5** utility stores the checksums of blank S5 presentations into a file named *s5-checksums.txt* into the presentation directory. This is a simple text file with lines containing of a keyword and values. The keywords that the **s5** utility currently generates and parses are as follows:

- **CKSUM\_CMD** *checksum-program*

  The name of the checksum program to use; the default is [cksum(1)](/cksum/1.md).

- **CKSUM\_ARGS** \[*\[argument...\]*\]

  The arguments (if any) passed to the checksum program as defined by the **CKSUM\_CMD** line. The default is an empty string, no arguments passed.

- **FILE** *filename*

  The name of the file that the following **CKSUM** line refers to.

- **CKSUM** *checksum-line-text*

  The output of the checksum command as specified by **CKSUM\_CMD** and **CKSUM\_ARGS** conflated into a single line.

## EXAMPLES

Start a brand new presentation:

```
s5 blank ~/txt/openfest/2006/gnupg-pres
```

```
cd ~/txt/openfest/2006/gnupg-pres/
```

```
mv s5-blank/ gnupg/
```

Verify if any of the S5 files in the presentation have been modified:

```
s5 cksum gnupg/
```

Do the same, but display verbose information about the lines read from the checksums file and the files verified:

```
s5 -v cksum gnupg/
```

Update the S5 presentation files after installing a new system-wide version of the S5 template:

```
s5 update gnupg/
```

Store the checksums of the S5 template files (*not* the real files in the presentation directory!) into the *s5-checksums.txt* file in the *gnupg/* directory; this is actually redundant, as it is done as part of the **s5** **blank** invocation:

```
s5 mksum gnupg/
```

## SEE ALSO

The home page of the Simple Standards-based Slide Show System: https://meyerweb.com/eric/tools/s5/

## HISTORY

The Simple Standards-based Slide Show System was written by Eric Meyer based on earlier work by Tantek Çelik. The **s5** tool and this manual page were written by Peter Pentchev in 2008.

## AUTHORS

Eric Meyer ⟨s5@meyerweb.com⟩ Tantek Çelik ⟨tantek@tantek.com⟩ Peter Pentchev ⟨roam@ringlet.net⟩
