gnokiid

package: gnokii

title: gnokiid(8)

text:
# gnokiid(8)

## NAME
gnokiid - create a virtual modem for old Nokia mobile phones

## SYNOPSIS
gnokiid

gnokiid [--help|--version|--debug]

## DESCRIPTION
gnokiid

is a tool from the gnokii tool suite used to create a virtual modem device with a Nokia portable telephone. The virtual modem device is usually accessed via a symbolic link called /dev/gnokii (created automatically by mgnokiidev(8)). Please note that you don't need a virtual modem when you have real modem accepting AT Hayes commands (most of the modern phones). gnokiid was written for the phones that supported data transfer but didn't expose AT layer (namely Nokia 6110, 6130, 6150, 5110, 5130).

After gnokiid has created the virtual modem, it can be accessed like any other Hayes-compatible modem by such programs as the terminal program minicom(1) or the PPP daemon pppd(8) to make standard data connections to remote computers.

The full range of portable telephone functions (SMS messaging, phone book, operator logos, etc.) are accessed using the command-line program gnokii(1) or the graphical interface program xgnokii(1x).

gnokii is a Linux/Unix tool suite and (eventually) modem/fax driver for Nokia mobile phones, released under the GPL.

gnokii supports most phones from the 3810/8110 and 5110/6110 series, details including bugs specific to each series appear in the files Docs/README-3810 and Docs/README-6110 respectively.

## OPTIONS
If called without any options, gnokiid will set up a virtual modem device using the settings in gnokii(1) config file (if it exists). Otherwise,

--help

print out a short usage message

--version

print out version, copyright, phone, and serial device info

--debug

uses STDIN/STDOUT for a virtual modem

## DIAGNOSTICS
Various error messages are printed to STDERR.

## BUGS
Hmmm...

## AUTHOR
Hugh Blemings <hugh at blemings dot org> and Pavel Janik ml. <Pavel.Janik at suse dot cz> are the authors of the gnokii tool suite.

This manual page was written by Erik Rossen <rossen at freesurf dot ch>.

See also Docs/CREDITS from the gnokii sources.

## COPYING
This program is distributed under the GNU Public License Version 2, or (at your option) any later version..

## SEE ALSO
gnokii, xgnokii, mgnokiidev


mgnokiidev

title: mgnokiidev(8)

summary: links /dev/gnokii to a virtual modem

text:
# mgnokiidev(8)

## NAME
mgnokiidev - links /dev/gnokii to a virtual modem

## SYNOPSIS
mgnokiidev /dev/pts/?

## DESCRIPTION
mgnokiidev is a tool from the gnokii tool suite used to create the link /dev/gnokii that points to a pseudo-tty (/dev/pts/?).

It is called after gnokiid has created a virtual modem that is attached to the pty. It's operation is transparent under normal usage as gnokiid takes care of calling it when required.

Since mgnokiidev must modifiy files in /dev, it must be either run as root or SUID root. The latter is the preferred method. Normally the mgnokiidev binary is chmod 4750 and owned by root.gnokii.

gnokii is a Linux/Unix tool suite and (eventually) modem/fax driver for Nokia mobile phones, released under the GPL.

gnokii supports most phones from the 3810/8110 and 5110/6110 series, details including bugs specific to each series appear in the files Docs/README-3810 and Docs/README-6110 respectively.

## DIAGNOSTICS
Various error messages are printed to STDERR.

## BUGS
None reported.

## AUTHOR
Hugh Blemings <hugh@blemings.org> and Pavel Janik ml. <Pavel.Janik@suse.cz> are the authors of the gnokii tool suite.

This manual page was written by Erik Rossen <rossen@freesurf.ch>.

See also Docs/CREDITS from the gnokii sources.

## COPYING
This program is distributed under the GNU Public License.

## SEE ALSO
gnokiid, gnokii


smsd

package: gnokii-smsd

title: smsd(8)

text:
# smsd(8)

## NAME
smsd - daemon for handling incoming and outgoing SMSes using libgnokii

## SYNOPSIS
smsd [OPTIONS]

## DESCRIPTION
The SMSD (SMS daemon) program is intended for receiving and sending SMSes.

The program is designed to use modules (plugins) to work with different backends. Currently are supported PostgreSQL, MySQL and a special module 'file' which is designed to work without an SQL database (see below for special instructions in the file module section). When SMSD uses an SQL server as a repository for SMSes you must create a database (default name is 'sms') with tables defined in sms.tables.{module}.sql files.

Table 'inbox' is for received SMSes. SMSD periodically checks a given phone memory to move messages to this table. Only received SMSes and status reports are deleted from the phone, other kinds of messages are not removed.

Table 'inbox' has the following fields:

number

phone number from which is sms received

smsdate

date set by SMS center

insertdate

date SMS was inserted into table

text

SMS text

phone

number of phone to use. If you use smsd without -t option you can ignore this column. See -t option below.

processed

smsd sets this always to FALSE. You can use it for another program which will parse SMSes.

Table 'outbox' is for outgoing SMSes. SMSD periodically looks into this table and searches for lines with attribute 'processed' set to FALSE. If it finds such SMS, it will send SMS to 'number'.

Table 'outbox' has the following fields:

number

recipient's phone number

processed_date

date of processing SMS.

insertdate

date of inserting SMS in table

text

SMS text

phone

number of phone to use. If you use smsd without -t option you must not fill this column. See -t option below.

processed

new SMS must have this attribute set to FALSE. SMSD will send this SMS and will update 'processed' to TRUE.

error

This attribute contains return value of gn_sms_send() function. For explanation of numeric values see <gnokii/error.h> in gnokii source.

dreport

request for delivery report per message. Possible values are 0 for no delivery report, 1 for delivery report.

not_before

sms will not be sent before this time (default 00:00:00).

not_after

sms will not be sent after this time (default 23:59:59).

SMSD is multi threaded program. If you list processes you will see more than one instance of smsd.

### THE FILE MODULE
This module doesn't need an SQL server to work. For incoming messages it works in a way that it calls a program giving phone number, date as parameter and the message text on stdin. In the smsd directory there is an example file action. It shows sms data to stdout. If you want something useful you must write your own action. For outgoing messages you can set spool directory where smsd looks regularly.

Incoming sms are passed in format

action number date < sms

Outgoing sms must be in format:

number

text

The name of file is unimportant but smsd ignores all files with prefix "ERR.". If smsd succesfully sends sms, it removes file from spool directory. If smsd cannot send sms prepends file with "ERR." prefix and ignores it. If you use -m file, -u (--user) and -c (--host) will have other meaning. -u is for action (action must be executable) -c is for spool directory where smsd looks for smses. Smsd must have read and write permissions to this directory.

-p, -d parameters have no meaning when -m file is used.

If you don't specify -u, default action is to print sms to stdout. If you don't specify -c, sms sending will be disabled.

### OPTIONS
Available options:

-u, --user db_username

Specify user name.

-p, --password db_password

Specify user password.

-d, --db db_name

Specify database name for 'pq' and 'mysql' modules or full path to database file for 'sqlite' module (defaults to 'sms').

-c, --host db_hostname

Specify database server host name.

-s, --schema db_hostname

Specify database schema used by the PostgreSQL module (defaults to 'public').

-e, --encoding client_encoding

Specify client encoding for database connection.

-m, --module db_module

Specify which module to use for connection to DB server. Currently supported values are 'pq' for PostgreSQL, 'mysql' for MySQL, 'sqlite' for SQLite3 and 'file'. File module is not supported in Windows.

-l, --libdir path_to_db_module

Specify path to DB modules. If you specify pq module, smsd searches in libdir for file libsmsd_pq.so (for mysql - libsmsd_mysql.so). Do not interchange these plugins with default SQL libraries from database distribution!

-f, --logfile file

If used, smsd will monitor sms traffic to file "file". File is reopened and closed for every message so you can simply rename or delete it if you want to rotate logs. If you use '-' as filename smsd will use standard output.

-t, --phone phone_number

You can run more instances of smsd. One instance per phone. In this setup you must configure phone section in the config file. For example:

[global] port = /dev/ttyS0

model = 6110

initlength = default

connection = serial

bindir = /usr/local/sbin/

use_locking = no

serial_baudrate = 38400

smsc_timeout = 10

[phone_1]

port = /dev/ttyS0

model = 6110

initlength = default

connection = serial

bindir = /usr/local/sbin/

use_locking = no

serial_baudrate = 38400

[phone_2]

port = /dev/ttyS1

model = AT

initlength = default

connection = serial

bindir = /usr/local/sbin/

use_locking = no

serial_baudrate = 38400

smsc_timeout = 10

In this setup if you run smsd without -t option it will use config from global section. If you run smsd with -t 1 it will use config from phone_1 and likewise with -t 2 uses phone_2. In case of use -t option smsd fills phone number for incoming sms's and in outbox it looks only for sms's with the specified phone number in column 'phone'. This behaviour gives you possibility to run one instance of smsd for every phone you have at the same time.

-i, --interval interval

Polling interval for incoming sms's in seconds. Default is 1 second.

-S, --maxsms number

When phone driver doesn't support sms status it is possible to specify number of sms's supported by phone. Default is 10. If driver support sms status this option is ignored.

-b, --inbox memory_type

Where to look for new messages (defaults to IN for most Nokia phones and to SM for all other phones). For debugging or for unusual setups you can use another memory type supported by your phone (eg. IN for the Inbox, OU for the Outbox, AR for the Archive, TE for the Templates and F1,...,F20 for your own folders). Use gnokii --showsmsfolderstatus for a list of such memory types.

-0, --firstpos0

SMSD starts messages reading from position 1. If your phone stores sms's from postion 0, use this option.

-v, --version

Shows smsd version.

-h, --help

Shows short help.

## DIAGNOSTICS
Various error messages are printed to STDERR.

Debug output can be enabled setting xdebug=on (for messages specific to SMSD) and debug=on (for messages specific to libgnokii) in the configuration file.

## BUGS
None reported.

## AUTHOR
SMSD was written by Jan Derfinak and contributed by other people. See also Docs/CREDITS from the Gnokii sources.

## COPYING
This program is distributed under the GNU Public License.

## SEE ALSO
gnokii(1)


goa-daemon

package: gnome-online-accounts

title: goa-daemon(8)

summary: GNOME Online Accounts Daemon

text:
# goa-daemon(8)

## NAME
goa-daemon - GNOME Online Accounts Daemon

## SYNOPSIS
goa-daemon [--help] [--replace]

## DESCRIPTION
The goa-daemon program provides the org.gnome.OnlineAccounts name on the session message bus. Users or administrators should never need to start this daemon as it will be automatically started by dbus-daemon(1) whenever an application sends a D-Bus message to the org.gnome.OnlineAccounts name on the session bus.

## CONFIGURATION FILE
The goa-daemon program stores configuration in the $XDG_CONFIG_HOME/goa-1.0/accounts.conf (typically ~/.config/goa-1.0/accounts.conf) file. The format of this file is private and 3rd party programs or libraries should never read it. This file does not contain any passwords or secrets.

See the XDG Base Directory Specification[1] for more information about $XDG_CONFIG_HOME.

## SECRETS
The goa-daemon program stores secrets (such as OAuth tokens) in GNOME Keyring[2]. The format of the stored secrets is private and 3rd party programs or libraries should never read, modify or delete these secrets.

## OPTIONS
--replace

Replace existing instance.

--help

Show help options.

## AUTHOR
Written by David Zeuthen <zeuthen@gmail.com> with a lot of help from many others.

## BUGS
Please send bug reports to either the distribution bug tracker or the upstream bug tracker at https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues. There are some debugging tips at https://wiki.gnome.org/Projects/GnomeOnlineAccounts/Debugging

## SEE ALSO
dbus-daemon(1)

## NOTES
1.

XDG Base Directory Specification

http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

2.

GNOME Keyring

https://live.gnome.org/GnomeKeyring


addgnupghome

title: addgnupghome(8)

summary: Create .gnupg home directories

text:
# addgnupghome(8)

## NAME
addgnupghome - Create .gnupg home directories

## SYNOPSIS
addgnupghome account_1 account_2...account_n

## DESCRIPTION
If GnuPG is installed on a system with existing user accounts, it is sometimes required to populate the GnuPG home directory with existing files. Especially a ‘trustlist.txt’ and a keybox with some initial certificates are often desired. This script helps to do this by copying all files from ‘/etc/skel/.gnupg’ to the home directories of the accounts given on the command line. It takes care not to overwrite existing GnuPG home directories.

addgnupghome is invoked by root as:

```
addgnupghome account1 account2 ... accountn
```


applygnupgdefaults

title: applygnupgdefaults(8)

text:
# applygnupgdefaults(8)

## NAME
applygnupgdefaults - Run gpgconf --apply-defaults for all users.

## SYNOPSIS
applygnupgdefaults

## DESCRIPTION
This is a legacy script. Modern application should use the per component global configuration files under ‘/etc/gnupg/’.

This script is a wrapper around gpgconf to run it with the command --apply-defaults for all real users with an existing GnuPG home directory. Admins might want to use this script to update he GnuPG configuration files for all users after ‘/etc/gnupg/gpgconf.conf’ has been changed. This allows enforcing certain policies for all users. Note, that this is not a bulletproof way to force a user to use certain options. A user may always directly edit the configuration files and bypass gpgconf.

applygnupgdefaults is invoked by root as:

```
applygnupgdefaults
```


dirmngr

title: dirmngr(8)

summary: GnuPG's network access daemon

text:
# dirmngr(8)

## NAME
dirmngr - GnuPG's network access daemon

## SYNOPSIS
dirmngr [options] command [args]

## DESCRIPTION
Since version 2.1 of GnuPG, dirmngr takes care of accessing the OpenPGP keyservers. As with previous versions it is also used as a server for managing and downloading certificate revocation lists (CRLs) for X.509 certificates, downloading X.509 certificates, and providing access to OCSP providers. Dirmngr is invoked internally by gpg, gpgsm, or via the gpg-connect-agent tool.

## COMMANDS
Commands are not distinguished from options except for the fact that only one command is allowed.

--version

Print the program version and licensing information. Note that you cannot abbreviate this command.

--help, -h

Print a usage message summarizing the most useful command-line options. Note that you cannot abbreviate this command.

--dump-options

Print a list of all available options and commands. Note that you cannot abbreviate this command.

--server

Run in server mode and wait for commands on the stdin. The default mode is to create a socket and listen for commands there. This is only used for testing.

--daemon

Run in background daemon mode and listen for commands on a socket. This is the way dirmngr is started on demand by the other GnuPG components. To force starting dirmngr it is in general best to use gpgconf --launch dirmngr.

--supervised

Run in the foreground, sending logs to stderr, and listening on file descriptor 3, which must already be bound to a listening socket. This is useful when running under systemd or other similar process supervision schemes. This option is not supported on Windows.

--list-crls

List the contents of the CRL cache on stdout. This is probably only useful for debugging purposes.

--load-crl file

This command requires a filename as additional argument, and it will make Dirmngr try to import the CRL in file into it's cache. Note, that this is only possible if Dirmngr is able to retrieve the CA's certificate directly by its own means. In general it is better to use gpgsm's --call-dirmngr loadcrl filename command so that gpgsm can help dirmngr.

--fetch-crl url

This command requires an URL as additional argument, and it will make dirmngr try to retrieve and import the CRL from that url into it's cache. This is mainly useful for debugging purposes. The dirmngr-client provides the same feature for a running dirmngr.

--shutdown

This commands shuts down an running instance of Dirmngr. This command has currently no effect.

--flush

This command removes all CRLs from Dirmngr's cache. Client requests will thus trigger reading of fresh CRLs.

## OPTIONS
Note that all long options with the exception of --options and --homedir may also be given in the configuration file after stripping off the two leading dashes.

--options file

Reads configuration from file instead of from the default per-user configuration file. The default configuration file is named ‘dirmngr.conf’ and expected in the home directory.

--homedir dir

Set the name of the home directory to dir. This option is only effective when used on the command line. The default is the directory named ‘.gnupg’ directly below the home directory of the user unless the environment variable GNUPGHOME has been set in which case its value will be used. Many kinds of data are stored within this directory.

-v

--verbose

Outputs additional information while running. You can increase the verbosity by giving several verbose commands to dirmngr, such as -vv.

--log-file file

Append all logging output to file. This is very helpful in seeing what the agent actually does. Use ‘socket://’ to log to socket.

--debug-level level

Select the debug level for investigating problems. level may be a numeric value or by a keyword:

none

No debugging at all. A value of less than 1 may be used instead of the keyword.

basic

Some basic debug messages. A value between 1 and 2 may be used instead of the keyword.

advanced

More verbose debug messages. A value between 3 and 5 may be used instead of the keyword.

expert

Even more detailed messages. A value between 6 and 8 may be used instead of the keyword.

guru

All of the debug messages you can get. A value greater than 8 may be used instead of the keyword. The creation of hash tracing files is only enabled if the keyword is used.

How these messages are mapped to the actual debugging flags is not specified and may change with newer releases of this program. They are however carefully selected to best aid in debugging.

--debug flags

Set debugging flags. This option is only useful for debugging and its behavior may change with a new release. All flags are or-ed and may be given in C syntax (e.g. 0x0042) or as a comma separated list of flag names. To get a list of all supported flags the single word "help" can be used.

--debug-all

Same as --debug=0xffffffff

--tls-debug level

Enable debugging of the TLS layer at level. The details of the debug level depend on the used TLS library and are not set in stone.

--debug-wait n

When running in server mode, wait n seconds before entering the actual processing loop and print the pid. This gives time to attach a debugger.

--disable-check-own-socket

On some platforms dirmngr is able to detect the removal of its socket file and shutdown itself. This option disable this self-test for debugging purposes.

-s

--sh

-c

--csh

Format the info output in daemon mode for use with the standard Bourne shell respective the C-shell. The default is to guess it based on the environment variable SHELL which is in almost all cases sufficient.

--force

Enabling this option forces loading of expired CRLs; this is only useful for debugging.

--use-tor

--no-use-tor

The option --use-tor switches Dirmngr and thus GnuPG into ``Tor mode'' to route all network access via Tor (an anonymity network). Certain other features are disabled in this mode. The effect of --use-tor cannot be overridden by any other command or even by reloading dirmngr. The use of --no-use-tor disables the use of Tor. The default is to use Tor if it is available on startup or after reloading dirmngr. The test on the available of Tor is done by trying to connects to a SOCKS proxy at either port 9050 or 9150); if another type of proxy is listening on one of these ports, you should use --no-use-tor.

--standard-resolver

This option forces the use of the system's standard DNS resolver code. This is mainly used for debugging. Note that on Windows a standard resolver is not used and all DNS access will return the error ``Not Implemented'' if this option is used. Using this together with enabled Tor mode returns the error ``Not Enabled''.

--recursive-resolver

When possible use a recursive resolver instead of a stub resolver.

--resolver-timeout n

Set the timeout for the DNS resolver to N seconds. The default are 30 seconds.

--connect-timeout n

--connect-quick-timeout n

Set the timeout for HTTP and generic TCP connection attempts to N seconds. The value set with the quick variant is used when the --quick option has been given to certain Assuan commands. The quick value is capped at the value of the regular connect timeout. The default values are 15 and 2 seconds. Note that the timeout values are for each connection attempt; the connection code will attempt to connect all addresses listed for a server.

--listen-backlog n

Set the size of the queue for pending connections. The default is 64.

--allow-version-check

Allow Dirmngr to connect to https://versions.gnupg.org to get the list of current software versions. If this option is enabled the list is retrieved in case the local copy does not exist or is older than 5 to 7 days. See the option --query-swdb of the command gpgconf for more details. Note, that regardless of this option a version check can always be triggered using this command:

```
       gpg-connect-agent --dirmngr 'loadswdb --force' /bye
```

--keyserver name

Use name as your keyserver. This is the server that gpg communicates with to receive keys, send keys, and search for keys. The format of the name is a URI: `scheme:[//]keyservername[:port]' The scheme is the type of keyserver: "hkp" for the HTTP (or compatible) keyservers, "ldap" for the LDAP keyservers, or "mailto" for the Graff email keyserver. Note that your particular installation of GnuPG may have other keyserver types available as well. Keyserver schemes are case-insensitive. After the keyserver name, optional keyserver configuration options may be provided. These are the same as the --keyserver-options of gpg, but apply only to this particular keyserver. Most keyservers synchronize with each other, so there is generally no need to send keys to more than one server. Somes keyservers use round robin DNS to give a different keyserver each time you use it.

If exactly two keyservers are configured and only one is a Tor hidden service (.onion), Dirmngr selects the keyserver to use depending on whether Tor is locally running or not. The check for a running Tor is done for each new connection.

If no keyserver is explicitly configured, dirmngr will use the built-in default of https://keyserver.ubuntu.com.

Windows users with a keyserver running on their Active Directory may use the short form ldap:/// for name to access this directory.

For accessing anonymous LDAP keyservers name is in general just a ldaps://ldap.example.com. A BaseDN parameter should never be specified. If authentication is required things are more complicated and two methods are available:

The modern method (since version 2.2.28) is to use the very same syntax as used with the option --ldapserver. Please see over there for details; here is an example:

```
       keyserver ldap:ldap.example.com::uid=USERNAME,ou=GnuPG Users,

       dc=example,dc=com:PASSWORD::starttls
```

The other method is to use a full URL for name; for example:

```
       keyserver ldaps://ldap.example.com/????bindname=uid=USERNAME

       %2Cou=GnuPG%20Users%2Cdc=example%2Cdc=com,password=PASSWORD
```

Put this all on one line without any spaces and keep the '%2C'

as given. Replace USERNAME, PASSWORD, and the 'dc' parts

according to the instructions received from your LDAP

administrator. Note that only simple authentication

(i.e. cleartext passwords) is supported and thus using ldaps is

strongly suggested (since 2.2.28 "ldaps" defaults to port 389

and uses STARTTLS). On Windows authentication via AD can be

requested by adding gpgNtds=1 after the fourth question

mark instead of the bindname and password parameter.

--nameserver ipaddr

In ``Tor mode'' Dirmngr uses a public resolver via Tor to resolve DNS names. If the default public resolver, which is 8.8.8.8, shall not be used a different one can be given using this option. Note that a numerical IP address must be given (IPv6 or IPv4) and that no error checking is done for ipaddr.

--disable-ipv4

--disable-ipv6

Disable the use of all IPv4 or IPv6 addresses.

--disable-ldap

Entirely disables the use of LDAP.

--disable-http

Entirely disables the use of HTTP.

--ignore-http-dp

When looking for the location of a CRL, the to be tested certificate usually contains so called CRL Distribution Point (DP) entries which are URLs describing the way to access the CRL. The first found DP entry is used. With this option all entries using the HTTP scheme are ignored when looking for a suitable DP.

--ignore-ldap-dp

This is similar to --ignore-http-dp but ignores entries using the LDAP scheme. Both options may be combined resulting in ignoring DPs entirely.

--ignore-ocsp-service-url

Ignore all OCSP URLs contained in the certificate. The effect is to force the use of the default responder.

--honor-http-proxy

If the environment variable ‘http_proxy’ has been set, use its value to access HTTP servers.

--http-proxy [http://]host[:port]

Use host and port to access HTTP servers. The use of this option overrides the environment variable ‘http_proxy’ regardless whether --honor-http-proxy has been set.

--ldap-proxy host[:port]

Use host and port to connect to LDAP servers. If port is omitted, port 389 (standard LDAP port) is used. This overrides any specified host and port part in a LDAP URL and will also be used if host and port have been omitted from the URL.

--only-ldap-proxy

Never use anything else but the LDAP "proxy" as configured with --ldap-proxy. Usually dirmngr tries to use other configured LDAP server if the connection using the "proxy" failed.

--ldapserverlist-file file

Read the list of LDAP servers to consult for CRLs and X.509 certificates from file instead of the default per-user ldap server list file. The default value for file is ‘dirmngr_ldapservers.conf’. This server list file contains one LDAP server per line in the format

hostname:port:username:password:base_dn:flags

Lines starting with a ‘#’ are comments.

Note that as usual all strings entered are expected to be UTF-8 encoded. Obviously this will lead to problems if the password has originally been encoded as Latin-1. There is no other solution here than to put such a password in the binary encoding into the file (i.e. non-ascii characters won't show up readable). ([The gpgconf tool might be helpful for frontends as it enables editing this configuration file using percent-escaped strings.])

--ldapserver spec

This is an alternative way to specify LDAP servers for CRL and X.509 certificate retrieval. If this option is used the servers configured in ‘dirmngr_ldapservers.conf’ (or the file given by --ldapserverlist-file) are cleared. Note that ‘dirmngr_ldapservers.conf’ is not read again by a reload signal. However, --ldapserver options are read again. spec is either a proper LDAP URL or a colon delimited list of the form

hostname:port:username:password:base_dn:flags:

with an optional prefix of ldap: (but without the two slashes which would turn this into a proper LDAP URL). flags is a list of one or more comma delimited keywords:

plain

The default: Do not use a TLS secured connection at all; the default port is 389.

starttls

Use STARTTLS to secure the connection; the default port is 389.

ldaptls

Tunnel LDAP through a TLS connection; the default port is 636.

ntds

On Windows authenticate the LDAP connection using the Active Directory with the current user.

Note that in an URL style specification the scheme ldaps:// refers to STARTTLS and _not_ to LDAP-over-TLS.

--ldaptimeout secs

Specify the number of seconds to wait for an LDAP query before timing out. The default are 15 seconds. 0 will never timeout.

--add-servers

This option makes dirmngr add any servers it discovers when validating certificates against CRLs to the internal list of servers to consult for certificates and CRLs. This option is useful when trying to validate a certificate that has a CRL distribution point that points to a server that is not already listed in the ldapserverlist. Dirmngr will always go to this server and try to download the CRL, but chances are high that the certificate used to sign the CRL is located on the same server. So if dirmngr doesn't add that new server to list, it will often not be able to verify the signature of the CRL unless the --add-servers option is used.

Note: The current version of dirmngr has this option disabled by default.

--allow-ocsp

This option enables OCSP support if requested by the client. OCSP requests are rejected by default because they may violate the privacy of the user; for example it is possible to track the time when a user is reading a mail.

--ocsp-responder url

Use url as the default OCSP Responder if the certificate does not contain information about an assigned responder. Note, that --ocsp-signer must also be set to a valid certificate.

--ocsp-signer fpr|file

Use the certificate with the fingerprint fpr to check the responses of the default OCSP Responder. Alternatively a filename can be given in which case the response is expected to be signed by one of the certificates described in that file. Any argument which contains a slash, dot or tilde is considered a filename. Usual filename expansion takes place: A tilde at the start followed by a slash is replaced by the content of ‘HOME’, no slash at start describes a relative filename which will be searched at the home directory. To make sure that the file is searched in the home directory, either prepend the name with "./" or use a name which contains a dot. If a response has been signed by a certificate described by these fingerprints no further check upon the validity of this certificate is done.

The format of the FILE is a list of SHA-1 fingerprint, one per line with optional colons between the bytes. Empty lines and lines prefix with a hash mark are ignored.

--ocsp-max-clock-skew n

The number of seconds a skew between the OCSP responder and them local clock is accepted. Default is 600 (10 minutes).

--ocsp-max-period n

Seconds a response is at maximum considered valid after the time given in the thisUpdate field. Default is 7776000 (90 days).

--ocsp-current-period n

The number of seconds an OCSP response is considered valid after the time given in the NEXT_UPDATE datum. Default is 10800 (3 hours).

--max-replies n

Do not return more that n items in one query. The default is 10.

--ignore-cert-extension oid

Add oid to the list of ignored certificate extensions. The oid is expected to be in dotted decimal form, like 2.5.29.3. This option may be used more than once. Critical flagged certificate extensions matching one of the OIDs in the list are treated as if they are actually handled and thus the certificate won't be rejected due to an unknown critical extension. Use this option with care because extensions are usually flagged as critical for a reason.

--ignore-cert fpr|file

Entirely ignore certificates with the fingerprint fpr. As an alternative to the fingerprint a filename can be given in which case all certificates described in that file are ignored. Any argument which contains a slash, dot or tilde is considered a filename. Usual filename expansion takes place: A tilde at the start followed by a slash is replaced by the content of ‘HOME’, no slash at start describes a relative filename which will be searched at the home directory. To make sure that the file is searched in the home directory, either prepend the name with "./" or use a name which contains a dot. The format of such a file is a list of SHA-1 fingerprint, one per line with optional colons between the bytes. Empty lines and lines prefixed with a hash mark are ignored. This option is useful as a quick workaround to exclude certain certificates from the system store.

--hkp-cacert file

Use the root certificates in file for verification of the TLS certificates used with hkps (keyserver access over TLS). If the file is in PEM format a suffix of .pem is expected for file. This option may be given multiple times to add more root certificates. Tilde expansion is supported. If no hkp-cacert directive is present, dirmngr will use the system CAs.

## EXAMPLES
Here is an example on how to show dirmngr's internal table of OpenPGP keyserver addresses. The output is intended for debugging purposes and not part of a defined API.

```
  gpg-connect-agent --dirmngr 'keyserver --hosttable' /bye
```

To inhibit the use of a particular host you have noticed in one of the keyserver pools, you may use

```
 gpg-connect-agent --dirmngr 'keyserver --dead pgpkeys.bnd.de' /bye
```

The description of the keyserver command can be printed using

```
 gpg-connect-agent --dirmngr 'help keyserver' /bye
```

## FILES
Dirmngr makes use of several directories when running in daemon mode: There are a few configuration files whih control the operation of dirmngr. By default they may all be found in the current home directory (see: [option --homedir]).

dirmngr.conf

This is the standard configuration file read by dirmngr on startup. It may contain any valid long option; the leading two dashes may not be entered and the option may not be abbreviated. This file is also read after a SIGHUP however not all options will actually have an effect. This default name may be changed on the command line (see: [option --options]). You should backup this file.

/etc/gnupg/trusted-certs

This directory should be filled with certificates of Root CAs you are trusting in checking the CRLs and signing OCSP Responses. Usually these are the same certificates you use with the applications making use of dirmngr. It is expected that each of these certificate files contain exactly one DER encoded certificate in a file with the suffix ‘.crt’ or ‘.der’. dirmngr reads those certificates on startup and when given a SIGHUP. Certificates which are not readable or do not make up a proper X.509 certificate are ignored; see the log file for details.

Applications using dirmngr (e.g. gpgsm) can request these certificates to complete a trust chain in the same way as with the extra-certs directory (see below).

Note that for OCSP responses the certificate specified using the option --ocsp-signer is always considered valid to sign OCSP requests.

/etc/gnupg/extra-certs

This directory may contain extra certificates which are preloaded into the internal cache on startup. Applications using dirmngr (e.g. gpgsm) can request cached certificates to complete a trust chain. This is convenient in cases you have a couple intermediate CA certificates or certificates usually used to sign OCSP responses. These certificates are first tried before going out to the net to look for them. These certificates must also be DER encoded and suffixed with ‘.crt’ or ‘.der’.

~/.gnupg/crls.d

This directory is used to store cached CRLs. The ‘crls.d’ part will be created by dirmngr if it does not exists but you need to make sure that the upper directory exists.

## SIGNALS
A running dirmngr may be controlled by signals, i.e. using the kill command to send a signal to the process.

Here is a list of supported signals:

SIGHUP

This signal flushes all internally cached CRLs as well as any cached certificates. Then the certificate cache is reinitialized as on startup. Options are re-read from the configuration file. Instead of sending this signal it is better to use

```
gpgconf --reload dirmngr
```

SIGTERM

Shuts down the process but waits until all current requests are fulfilled. If the process has received 3 of these signals and requests are still pending, a shutdown is forced. You may also use

```
gpgconf --kill dirmngr
```

instead of this signal

SIGINT

Shuts down the process immediately.

SIGUSR1

This prints some caching statistics to the log file.

## SEE ALSO
gpgsm(1), dirmngr-client(1)

The full documentation for this tool is maintained as a Texinfo manual. If GnuPG and the info program are properly installed at your site, the command

```
info gnupg
```

should give you access to the complete manual including a menu structure and an index.


gdomap

package: gnustep-base

title: gdomap(8)

summary: GNUstep Distributed Objects name server

text:
# gdomap(8)

## NAME
gdomap - GNUstep Distributed Objects name server

## SYNOPSIS
gdomap [-C|-H] [-I pidfile] [-L name] [-M name] [-N] [-P number] [-R name] [-S] [-T type] [-U name] [-a file] [-c file] [-d] [-f] [-i seconds] [-j path] [-p]

## DESCRIPTION
gdomap The gdomap daemon is used by GNUstep programs to look up distributed objects of processes running across the network (and between different user accounts on a single machine). The daemon is NOT used for lookup where two processes belonging to the same user are using a host-local connection. This manual page explains the usage of gdomap. For design and implementation information (and special notes for packagers), please see the HTML documentation installed in $GNUSTEP_SYSTEM_DOC, under Command-line Tools.

Usually the gdomap daemon is started at system boot time and binds itself to port 538. See the GNUstep Build Guide for a sample startup script.

By default gdomap probes every machine on the local network to see if there is a copy of gdomap running on it. This is done for class-C networks and subnets of class-C networks. If your host is on a class-B or class-A net then the default behaviour is to treat it as a class-C net and probe only the hosts that would be expected on a class-C network of the same number.

If you are running on a class-A or class-B network, or if your net has a large number of hosts which will not have gdomap on them - you may want to supply a configuration file listing the hosts to be probed explicitly, rather than getting gdomap to probe all hosts on the local net.

You may also want to supply the configuration file so that hosts which are not actually on your local network can still be found when your code tries to connect to a host using @"*" as the host name. NB. this functionality does not exist in OpenStep.

A configuration file consists of a list of IP addresses to be probed. The IP addresses should be in standard 'dot' notation, one per line. Empty lines are permitted in the configuration file. Anything on a line after a hash ('#') is ignored. You tell gdomap about the config file with the '-c' command line option.

gdomap uses the SIOCGIFCONF ioctl to build a list of IP addresses and netmasks for the network interface cards on your machine. On some operating systems, this facility is not available (or is broken), so you must tell gdomap the addresses and masks of the interfaces using the '-a' command line option. The file named with '-a' should contain a series of lines with space separated pairs of addresses and masks in 'dot' notation. You must NOT include loopback interfaces in this list. If you want to support broadcasting of probe information on a network, you may supply the broadcast address as a third item on the line. If your operating system has some other method of giving you a list of network interfaces and masks, please send me example code so that I can implement it in gdomap.

## OPTIONS
-C

help about configuration

-H

general help

-I

pid file to write pid

-L name

perform lookup for name then quit.

-M name

machine name for -L and -N

-N

list all names registered on host

-P number

port number required for -R option.

-R name

register name locally then quit. -S

-S

list the addresses of all gdomap servers known to host

-T type

port type for -L , -R and -U options - tcp_gdo, udp_gdo, tcp_foreign, udp_foreign.

-U name

unregister name locally then quit.

-a file

use config file for interface list.

-c file

use config file for probe.

-d

extra debug logging (normally via syslog).

-f

avoid fork() to make debugging easy

-i seconds

re-probe at this interval (roughly), min 60

-j path

place the process in a chroot jail at this path rather than in /tmp

-p

disable probing for other servers

## FILES
Use the -c option to specify a configuration file for gdomap. See under DESCRIPTION for possible configurations.

## DIAGNOSTICS
Kill with SIGUSR1 to obtain a dump of all known peers in /tmp/gdomap.dump

gdomap -N lists all registered names on the local host.

## SEE ALSO
gdomap -C gives above instructions on how to set up gdomap.

gdnc(1), GNUstep(7), gpbs(1)

The GNUstep Build Guide example rc script: <http://gnustep.made-it.com/BuildGuide/index.html#GNUSTEP.SERVICES>

## HISTORY
Work on gdomap started in October 1996.

This manual page first appeared in gnustep-base 1.7.1 (June 2003).

## AUTHORS
gdomap was written by Richard Frith-Macdonald <rfm@gnu.org>

This manual page was put together by Martin Brecher <martin@mb-itconsulting.com>.


gpart

package: gpart

title: gpart(8)

summary: guess PC-type hard disk partitions

text:
# gpart(8)

## NAME
gpart - guess PC-type hard disk partitions

## SYNOPSIS
gpart [options] device

Options: [-b <backup MBR>][-C c,h,s][-c][-d][-E][-e][-f] [-g][-h][-i][-K <last-sector>][-k <# of sectors>] [-L] [-l <log file>][-n <increment>] [-q][-s <sector-size>] [-t <module-name>][-V][-v] [-W <device>][-w <module-name, weight>]

## DESCRIPTION
gpart tries to guess which partitions are on a hard disk. If the primary partition table has been lost, overwritten or destroyed the partitions still exist on the disk but the operating system cannot access them.

gpart ignores the primary partition table and scans the disk (or disk image, file) sector after sector for several filesystem/partition types. It does so by "asking" filesystem recognition modules if they think a given sequence of sectors resembles the beginning of a filesystem or partition type. Currently the following filesystem types are known to gpart (listed by module names) :

beos

BeOS filesystem type.

bsddl

FreeBSD/NetBSD/386BSD disklabel sub-partitioning scheme used on Intel platforms.

ext2

Linux second extended filesystem.

fat

MS-DOS FAT12/16/32 "filesystems".

hpfs

IBM OS/2 High Performance filesystem.

hmlvm

Linux LVM physical volumes (LVM by Heinz Mauelshagen).

lswap

Linux swap partitions (versions 0 and 1).

minix

The Minix operating system filesystem type.

ntfs

MS Windows NT/2000 filesystem.

qnx4

QNX 4.x filesystem.

reiserfs

The Reiser filesystem (version 3.5.X, X > 11, 3.6.X).

s86dl

Sun Solaris on Intel platforms uses a sub-partitioning scheme on PC hard disks similar to the BSD disklabels.

xfs

Silicon Graphic's journalling filesystem for Linux.

More filesystem guessing modules can be added at runtime (see the -t option). Please consult the gpart README file for detailed explanations on how to create guessing modules. All modules are accompanied by a guessing weight factor which denotes how "educated" their guesses are compared to other modules. This weight can be changed if a certain module keeps on mis-identifying a partition.

Naturally only partitions which have been formatted in some way can be recognized. If the type of a partition entry in the primary partition table is changed from x to y while the filesystem is still of type x, gpart will also still guess a type x.

No checks are performed whether a found filesystem is clean or even consistent/mountable, so it is quite possible that gpart may identify partitions which existed prior to the current partitioning scheme of the disk. Especially on large disks old file system headers/superblocks may be present a long time until they are finally overwritten with user data.

It should be stressed that gpart does a very heuristic job, never believe its output without any plausability checks. It can be easily right in its guesswork but it can also be terribly wrong. You have been warned.

After having found a list of possible partition types, the list is checked for consistency. For example, a partition which overlaps with the previous one will be discarded. All remaining partitions are labelled with one of the following attributes: "primary", "logical", "orphaned" or "invalid".

A partition labelled "orphaned" is a logical partition which seems ok but is missed in the chain of logical partitions. This may occur if a logical partition is deleted from the extended partition table without overwriting the actual disk space.

An "invalid" partition is one that cannot be accepted because of various reasons. If a consistent primary partition table was created in this process it is printed and can be written to a file or device.

## EXTENDED PARTITIONS
If the disk/file to be examined consists of primary partitions only, gpart has quite a good chance to identify them. Extended partitions on the other hand can result in a lot of problems.

Extended partitions are realized as a linked list of extended partition tables, each of which include an entry pointing to a logical partition. The size of an extended partition depends on where the last logical partition ends. This means that extended partitions may include "holes", unallocated disk space which should only be assigned to logical, not primary partitions.

gpart tries to do its best to check a found chain of logical partitions but there are very many possible points of failure. If "good" fdisk programs are used to create extended partitions, the resulting tables consist of a zeroed boot record and the four partition entries of which at least two should be marked unused. Unfortunately e.g. the fdisk program shipped with Windows NT does not seem to zero out the boot record area so gpart has to be overly tolerant in recognizing extended partition tables. This tolerance may result in quite stupid guesses.

## DISK TRANSFERS
If you want to investigate hard disks from other systems you should note down the geometry (number of cylinders, heads per cylinder and sectors per head) used for that disk, and tell gpart about this geometry.

Investigating disks from machines with a different endianness than the scanning one has not been tested at all, and is currently not recommended.

## LARGE DISKS
gpart relies on the OS reporting the correct disk geometry. Unfortunately sometimes the OS may report a geometry smaller the the actual one (e.g. disks with more than 1024 or 16384 cylinder).

gpart checks if guessed partitions extend beyond the disk size and marks those "invalid", but may be mistaken in case the disk size is calculated from an incorrect geometry. For instance if a disk with the geometry 1028/255/63 should be scanned, and the OS reports 1024/255/63 gpart should be called like

gpart -C 1028,255,63 <other options> <device>

## PRECAUTIONS
gpart may be of some help when the primary partition table was lost or destroyed but it can under no circumstances replace proper disk/partition table backups. To save the master boot record (MBR) including the primary partition table to a file type

dd if=/dev/hda of=mbr bs=512 count=1

exchanging /dev/hda with the block device name of the disk in question. This should be done for all disks in the system. To restore the primary partition table without overwriting the MBR type

dd if=mbr of=/dev/hda bs=1 count=64 skip=446 seek=446

Warning: make sure that all parameters are typed as shown and that the disk device is correct. Failing to do so may result in severe filesystem corruption. The saved file should be stored in a safe place like a floppy disk.

## OPTIONS
-b backupfile

If the guessed primary partition table seems consistent and should be written (see the -W option) backup the current MBR into the specified file.

-C c,h,s

Set the disk geometry (cylinders, heads, sectors) for the scan. This is useful if a disk should be scanned which was partitioned using a different geometry, if the device is a disk-image or if the disk geometry cannot be retrieved through the PCs BIOS. No spaces are allowed between the numbers, unless all three are enclosed in quotes.

-c

Check/compare mode (implies the -q quiet option). After the scan is done, the resulting primary partition table is compared to the existing one. The return code of gpart then contains the number of differences (0 if they are identical except for the boot/active flag which cannot be guessed). This option has no effect if -d is given on the command line.

-d

Do not start the guessing loop. Useful if the partition table should be printed (in combination with the -v option) without actually scanning for partitions.

-E

Do not try to identify extended partition tables. If there are extended partitions on the given device gpart will most certainly complain about too many primary partitions because there can be only four primary partitions. Existing logical partitions will be listed as primary ones.

-e

Do not skip disk read errors. If this option is given, and short disk reads or general disk read errors (EIO) are encountered, gpart will exit. If not given, the program tries to continue.

-f

Full scan. When a possible partition is found, gpart normally skips all sectors this entry seems to occupy and continues the scan from the end of the last possible partition. The disk scan can take quite a while if this option is given, be patient.

-g

Do not try to get the disk geometry from the OS. If the device is no block or character device but a plain file this option should be supplied. If the file to be scanned is an image of a disk, the geometry can be given by the -C option.

-h

Show some help.

-i

Run interactively. Each time a possible partition is identified the user is asked for confirmation.

-K last sector

Scan only up to the given sector or the end of the file or device whichever comes first.

-k sectors

Skip given number of sectors before the scan. Potentially useful if a partition is looked for at the end of a large disk.

-L

List available filesystem/partition type modules and their weights, then exit.

-l logfile

Log output to the given file (even if -q was supplied).

-n increment

Scan increment: number of sectors or "s" for single sector increment, "h" for an increment of sectors per head (depends on geometry) or "c" for cylinder increment. The increment also influences the condition where extended partition tables are searched: if the scan increment is "s" (i.e. 1) extended partition tables are required to be on a head boundary, otherwise they must be on a cylinder boundary.

If the disk geometry could not be retrieved and no geometry was given on the command line, the default increment is one sector.

-q

Quiet/no output mode. However if a logfile was specified (see -l option) all output is written to that file. This option overrides the -i interactive mode.

-s sector size

Preset medium sector size. gpart tries to find out the sector size but may fail in doing so. Probed sector sizes are 2^i, i=9..14 (512 to 16384 bytes). The default medium sector size is 512 bytes.

-V

Show version number.

-v

Be verbose. This option can be given more than once resulting in quite a lot of information.

-W device

Write partition table. If a consistent primary partition table has been guessed it can be written to the specified file or device. The supplied device can be the same as the scanned one. Additionally the guessed partition entries can be edited. No checks are performed on the entered values, thus the resulting table is allowed to be highly inconsistent. Please beware.

Warning: The guessed partition table should be checked very carefully before writing it back. You can always write the guessed partition table into a plain file and write this into sector 0 using dd(1) (see section PRECAUTIONS above).

-w module name,weight

Put the given module at the head of the module chain and assign a new weight to that module. All modules are given an initial weight of 1.0. A weight of 0 deactivates the filesystem recognition module. Again no spaces are allowed.

Default settings are "-n h".

## EXAMPLES
- To scan the first IDE hard disk under Linux using default settings type

gpart /dev/hda

- To print the primary partition table of the third IDE drive without starting the scan loop in FreeBSD type

gpart -vvd /dev/wd2

- If lilo(8) was installed in the master boot record (MBR) of a hard disk it saves the contents of the first sector in a file called /boot/boot.<major/minor>. To list the partitions contained in such a file type e.g.

gpart -vdg /boot/boot.0300

If the partition table contains an extended partition, gpart will complain about invalid extended partition tables because the extended entry points to sectors not within that file.

- Usually the first primary partition starts on the second head. If gpart cannot identify the first partition properly this may not be the case. gpart can be told to start the scan directly from sector one of the disk, using the sector-wise scan mode:

gpart -k 1 -n s /dev/hdb

- Suppose gpart identifies an NTFS partition as FAT on a certain disk. In this situation the "ntfs" module should be made the first module to be probed and given a weight higher than the usual weight of 1.0:

gpart -w ntfs,1.5 /dev/hdb

To list the available modules and their weights use the -L option.

- Suppose the hard disk contains a lot of virtual machines and the filesystems inside the VMs isn't used outside. Thereby deactivating the guessing of those filesystems reduces the noise and false positives during the scan process.

Set the module weight to 0 to deactivate guessing it.

For example: The hard disk is formatted with XFS and EXT3 filesystems only and there are a lot of Windows VMs on these filesystems. Thereby deactivating of FAT and NTFS guesses reduce the noise during the scan process and produces a more accurate guess.

gpart -w fat,0 -w ntfs,0 /dev/hdb

- After having checked the output of gpart at least thrice, the primary partition table can be written back to the device this way:

gpart -W /dev/sdc /dev/sdc

This of course may be extremely dangerous to your health and social security, so beware.

- A hard disk with 63 sectors per head is scanned in steps of 63 sectors. To perform the scan on every second head while skipping the first 1008 sectors type

gpart -k 1008 -n 126 /dev/sda

- If you want to see how easily gpart can be mislead, and how many probable partition starts are on a disk, search the whole disk really sector by sector, writing all output to a logfile:

gpart -vvfn s -ql /tmp/gpart.log /dev/sd2 &

Usually gpart will not be able to produce an educated guess of the primary partition table in this mode. The logfile however may contain enough hints to manually reconstruct the partition table.

## FILES
/dev/*

Hard disk block devices. The naming scheme of hard disk block devices is OS dependent, consult your system manuals for more information.

## DIAGNOSTICS
There are many error message types, all of them should be self-explanatory. Complain if they are not.

## BUGS
gpart is beta software, so expect buggy behaviour.

- gpart only accepts extended partition links with one logical partition. There may be fdisk variants out there creating links with up to three logical partition entries but these are not accepted.

## TO DO
- Support big-endian architectures.

- Test on 64-bit architectures.

- Look for boot manager partitions (e.g. OS/2 BM).

- Think about reconstructing logical partition chains.

## AUTHOR
Please send bug reports, suggestions, comments etc. to

Michail Brzitwa <michail@brzitwa.de>

## SEE ALSO
fdisk(8).


gparted

package: gparted

title: gparted(8)

text:
# gparted(8)

## NAME
gparted - GNOME Partition Editor for manipulating disk partitions.

## SYNOPSIS
gparted [device]...

## DESCRIPTION
The gparted application is the GNOME partition editor for creating, reorganizing, and deleting disk partitions.

A disk device can be subdivided into one or more partitions. The gparted application enables you to change the partition organization on a disk device while preserving the contents of the partition.

With gparted you can accomplish the following tasks:

- Create a partition table on a disk device.

- Enable and disable partition flags such as boot and hidden.

- Perform actions with partitions such as create, delete, resize, move, check, label, copy, and paste.

More documentation can be found in the application help manual, and online at:

https://gparted.org

## EXAMPLES
You can run gparted from a command line and specify one or more disk devices.

For example, to start gparted with the devices /dev/sda and /dev/sdc you would use the following command:

gparted /dev/sda /dev/sdc

## NOTES
Editing partitions has the potential to cause LOSS of DATA.

The gparted application is designed to enable you to edit partitions while reducing the risk of data loss. The application is carefully tested and is used by the GParted project team. However, loss of data might occur due to software bugs, hardware problems, or power failure.

You can help to reduce the risk of data loss by not mounting or unmounting partitions outside of the gparted application while gparted is running.

You are advised to BACKUP your DATA before using the gparted application.

## REPORTING BUGS
Report bugs at:

https://gparted.org/bugs.php

## AUTHOR
Manual page written by Curtis Gedak <gedakc@users.sf.net>

## SEE ALSO
parted(8), fdisk(8), mkfs(8), ntfsprogs(8)


gpm

package: gpm

title: gpm(8)

text:
# gpm(8)

## NAME
gpm - a cut and paste utility and mouse server for virtual consoles

## SYNOPSIS
gpm [ options ]

## DESCRIPTION
This package tries to be a useful mouse server for applications running on the Linux console. It is based on the "selection" package, and some of its code comes from selection itself. This package is intended as a replacement for "selection" as a cut-and-paste mechanism; it also provides additional facilities. The "selection" package offered the first cut-and-paste implementation for Linux using two mouse buttons, and the cut buffer is still called "selection buffer" or just "selection" throughout this document. The information below is extracted from the texinfo file, which is the preferred source of information.

The gpm executable is meant to act like a daemon (thus, gpmd would be a better name for it). This section is meant to describe the command-line options for gpm, while its internals are outlined in the next section.

Due to restrictions in the ioctl(TIOCLINUX) system call, gpm must be run by the superuser. The restrictions have been added in the last 1.1 kernels to fix a security hole related to selection and screen dumping.

The server can be configured to match the user's taste, and any application using the mouse will inherit the server's attitude. From release 1.02 up to 1.19.2 is was possible for any user logged on the system console to change the mouse feeling using the -q option. This is no longer possible for security reasons.

As of 0.97 the server program puts itself in the background. To kill gpm you can just reinvoke it with the -k cmdline switch, although killall gpm can be a better choice.

## SPECIAL COMMANDS
Version 1.10 adds the capability to execute special commands on certain circumstances. Special commands default to rebooting and halting the system, but the user can specify his/her personal choice. The capability to invoke commands using the mouse is a handy one for programmers, because it allows to issue a clean shutdown when the keyboard is locked and no network is available to restore the system to a sane state.

Special commands are toggled by triple-clicking the left and right button -- an unlikely event during normal mouse usage. The easiest way to triple-click is pressing one of the buttons and triple-click the other one. When special processing is toggled, a message appears on the console (and the speaker beeps twice, if you have a speaker); if the user releases all the buttons and presses one of them again within three seconds, then the special command corresponding to the button is executed.

The default special commands are:

left button

Reboot the system by signalling the init process

middle button (if any)

Execute /sbin/shutdown -h now

right button

Execute /sbin/shutdown -r now

The -S command line switch enables special command processing and allows to change the three special commands. To accept the default commands use -S "" (i.e., specify an empty argument). To specify your own commands, use a colon-separated list to specify commands associated to the left, middle and right button. If any of the commands is empty, it is interpreted as `send a signal to the init process'. This particular operation is supported, in addition to executing external commands, because sometimes bad bugs put the system to the impossibility to fork; in these rare case the programmer should be able to shutdown the system anyways, and killing init from a running process is the only way to do it.

As an example, -S ":telinit 1:/sbin/halt", associates killing init to the left button, going single user to the middle one, and halting the system to the right button.

System administrators should obviously be careful about special commands, as gpm runs with superuser permissions. Special commands are best suited for computers whose mouse can be physically accessed only by trusted people.

## COMMAND LINE OPTIONS
Available command line options are the following:

-a accel

Set the acceleration value used when a single motion event is longer than delta (see -d).

-A[limit]

Start up with selection pasting disabled. This is intended as a security measure; a plausible attack on a system seems to be to stuff a nasty shell command into the selection buffer (rm -rf /) including the terminating line break, then all the victim has to do is click the middle mouse button .. As of version 1.17.2, this has developed into a more general aging mechanism; the gpm daemon can disable (age) selection pasting automatically after a period of inactivity. To enable this mode just give the optional limit parameter (no space in between !) which is interpreted as the time in seconds for which a selection is considered valid and pastable. As of version 1.15.7, a trivial program called disable-paste is provided. The following makes a good addition to /etc/profile if you allow multiple users to work on your console.

case $( /usr/bin/tty ) in

/dev/tty[0-9]*) /usr/bin/disable-paste ;;

esac

-b baud

Set the baud rate.

-B sequence

Set the button sequence. 123 is the normal sequence, 321 can be used by left-handed people, and 132 can be useful with two-button mice (especially within Emacs). All the button permutations are allowable.

-d delta

Set the delta value. When a single motion event is longer than delta, accel is used as a multiplying factor. (Must be 2 or above)

-D

Do not automatically enter background operation when started, and log messages to the standard error stream, not the syslog mechanism. This is useful for debugging; in previous releases it was done with a compile-time option.

-g number

With glidepoint devices, emulate the specified button with tapping. number must be 1, 2, or 3, and refers to the button number before the -B button remapping is performed. This option applies to the mman and ps2 decoding. No button is emulated by default because the ps2 tapping is incompatible with some normal ps2 mice

-h

Print a summary of command line options.

-i interval

Set interval to be used as an upper time limit for multiple clicks. If the interval between button-up and button-down events is less than limit, the press is considered a double or triple click. Time is in milliseconds.

-k

Kill a running gpm. This can be used by busmouse users to kill gpm before running X (unless they use -R or the single-open limitation is removed from the kernel).

-l charset

Choose the inword() look up table. The charset argument is a list of characters. - is used to specify a range and \ is used to escape the next character or to provide octal codes. Only visible character can appear in charset because control characters can't appear in text-mode video memory, whence selection is cut.

-m filename

Choose the mouse file to open. Must be before -t and -o.

-M

Enable multiple mode. The daemon will read two different mouse devices. Any subsequent option will refer to the second device, while any preceding option will be used for the first device. This option automatically forces the repeater (-R) option on.

-o list-of-extra-options

The option works similary to the ``-o'' option of mount; it is used to specify a list of ``extra options'' that are specific to each mouse type. The list is comma-separated. The options dtr, rts or both are used by the serial initialization to toggle the modem lines like, compatibly with earlier gpm versions; note however that using -o dtr associated with non-plain-serial mouse types may now generate an error. And by the way, use -o after -m and after -t.

-p

Forces the pointer to be visible while selecting. This is the behaviour of selection-1.7, but it is sometimes confusing. The default is not to show the pointer, which can be confusing as well.

-r number

Set the responsiveness. A higher responsiveness is used for a faster cursor motion.

-R[name]

Causes gpm to act as a repeater: any mouse data received while in graphic mode will be produced on the fifo /dev/gpmdata in protocol name, given as an optional argument (no space in between !). In principle, you can use the same names as for the -t option, although repeating into some protocols may not be implemented for a while. In addition, you can specify raw as the name, to repeat the mouse data byte by byte, without any protocol translation. If name is omitted, it defaults to msc. Using gpm in repeater mode, you can configure the X server to use its fifo as a mouse device. This option is useful for bus-mouse owners to override the single-open limitation. It is also an easy way to manage those stupid dual-mode mice which force you to keep the middle button down while changing video mode. The option is forced on by the -M option.

-s number

Set the sample rate for the mouse device.

-S commands

Enable special-command processing, and optionally specify custom commands as a colon-separated list. See above for a detailed description of special commands.

-t name

Set the mouse type. Use -t help to get a list of allowable types. Since version 1.18.1, the list also shows which protocols are available as repeaters (see -R above), by marking them with an asterisk (``*''). Use -t after you selected the mouse device with -m.

-v

Print version information and exit.

-V[verbosity increment]

Raise or decrease the maximum level of messages that will be logged. Thus a positive argument has the effect of making the program more verbose. One can also give a negative argument to hush the program; due to getopt(3) rules, any optional argument needs to be passed without a space in between! When omitting the argument, the increment defaults to 1. Default verbosity level is 5 (LOG_NOTICE).

-2

Force two buttons. This means that the middle button, if any, will be taken as it was the right one.

-3

Force three buttons. By default the mouse is considered to be a 2-buttons one, until the middle button is pressed. If three buttons are there, the right one is used to extend the selection, and the middle one is used to paste it. Beware: if you use the -3 option with a 2-buttons mouse, you won't be able to paste the selection.

## OPERATION
To select text press the left mouse button and drag the mouse. To paste text in the same or another console, press the middle button. The right button is used to extend the selection, like in `xterm'.

Two-button mice use the right button to paste text.

Double and triple clicks select whole word and whole lines. Use of the `-p' option is recommended for best visual feedback.

If a trailing space after the contents of a line is highlighted, and if there is no other text on the remainder of the line, the rest of the line will be selected automatically. If a number of lines are selected, highlighted trailing spaces on each line will be removed from the selection buffer.

Any output on the virtual console holding the selection will clear the highlighted selection from the screen, to maintain integrity of the display, although the contents of the paste buffer will be unaffected.

The selection mechanism is disabled if the controlling virtual console is placed in graphics mode, for example when running X11, and is re-enabled when text mode is resumed. (But see BUGS section below.)

## BUGS
The gpm server may have problems interacting with X: if your mouse is a single-open device (i.e. a bus mouse), you should kill gpm before starting X, or use the -R option (see above). To kill gpm just invoke gpm -k. This problem doesn't apply to serial mice.

Two instances of gpm can't run on the same system. If you have two mice use the -M option (see above).

While the current console is in graphic mode, gpm sleeps until text mode is back (unless -R is used). Thus, it won't reply to clients. Anyways, it is unlikely that mouse-eager clients will spur out in hidden consoles.

The clients shipped out with gpm are not updated, thus there are potential security risks when using them.

## AUTHORS

```
Andrew Haylett <ajh@gec-mrc.co.uk> (the original selection code)
Ian Zimmerman <itz@speakeasy.org> (old maintainer)
Alessandro Rubini <rubini@linux.it> (old maintainer (still helps a lot))
Nico Schottelius <nico@schottelius.org> (maintainer)
Many many contributors, to both selection and gpm.
```

## MAINTAINERS
The current maintainer is Nico Schottelius. But without the help of Alessandro Rubini and the mailing list it would be impossible for him to maintain gpm. The development mailing list can be reached under gpm@lists.linux.it. More information on the list is in the README file part of the source distribution of gpm.

## FILES

```
/var/run/gpm.pid The PID of the running gpm
/dev/gpmctl     A control socket for clients
/dev/gpmdata    The fifo written to by a repeater (`-R') daemon.
```

## SEE ALSO

```
 mev(1)        A sample client for the gpm daemon.
 gpm-root(1)   An handler for Control-Mouse events.
```

The info file about `gpm', which gives more complete information and explains how to write a gpm client.