neulab/tldr huggingface dataset:
-d DPI, --export-dpi=DPI The resolution used for PNG export.  It is also used for fallback rasterization of filtered objects when exporting to PS, EPS, or PDF (unless you specify --export-ignore-filters to suppress rasterization). The default is 96 dpi, which corresponds to 1 SVG user unit (px, also called "user unit") exporting to 1 bitmap pixel.  This value overrides the DPI hint if used with --export-use-hints.
-w WIDTH, --export-width=WIDTH The width of generated bitmap in pixels.  This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints).
-h HEIGHT, --export-height=HEIGHT The height of generated bitmap in pixels.  This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints).
--export-margin=MARGIN Adds a margin around the exported area. The size of the margin is specified in units of page size (for SVG) or millimeters (for PS/PDF).  The option currently has no effect for other export formats.
-i ID, --export-id=OBJECT-ID[;OBJECT-ID]* For PNG, PS, EPS, PDF and plain SVG export, the id attribute value of the object(s) that you want to export from the document; all other objects are not exported.  By default the exported area is the bounding box of the object; you can override this using --export-area (PNG only) or --export-area-page.
If you specify many values with a semicolon separated list of objects, each one will be exported separately. In this case the exported files will be named this way: [input_filename]_[ID].[export_type]
-j, --export-id-only For PNG and plain SVG, only export the object whose id is given in --export-id. All other objects are hidden and won't show in export even if they overlay the exported object.  Without --export-id, this option is ignored. For PDF export, this is the default, so this option has no effect.
-l, --export-plain-svg Export document(s) to plain SVG format, without sodipodi: or inkscape: namespaces and without RDF metadata. Use the --export-filename option to specify the filename.
--export-ps-level=LEVEL Set language version for PS and EPS export. PostScript level 2 or 3 is supported. Default is 3.
--export-pdf-version=VERSION Select the PDF version of the exported PDF file. This option basically exposes the PDF version selector found in the PDF- export dialog of the GUI. You must provide one of the versions from that combo-box, e.g. "1.4". The default pdf export version is "1.4".
-T, --export-text-to-path Convert text objects to paths on export, where applicable (for PS, EPS, PDF and SVG export).
--export-latex (for PS, EPS, and PDF export) Used for creating images for LaTeX documents, where the image's text is typeset by LaTeX.  When exporting to PDF/PS/EPS format, this option splits the output into a PDF/PS/EPS file (e.g. as specified by --export-type) and a LaTeX file. Text will not be output in the PDF/PS/EPS file, but instead will appear in the LaTeX file. This LaTeX file includes the PDF/PS/EPS. Inputting (\input{image.tex}) the LaTeX file in your LaTeX document will show the image and all text will be typeset by LaTeX. See the resulting LaTeX file for more information.  Also see GNUPlot's `epslatex' output terminal.
--export-ignore-filters Export filtered objects (e.g. those with blur) as vectors, ignoring the filters (for PS, EPS, and PDF export).  By default, all filtered objects are rasterized at --export-dpi (default 96 dpi), preserving the appearance.
-t, --export-use-hints While exporting to PNG, use export filename and DPI hints stored in the exported object (only with --export-id).  These hints are set automatically when you export selection from within Inkscape. So, for example, if you export a shape with id="path231" as /home/me/shape.png at 300 dpi from document.svg using Inkscape GUI, and save the document, then later you will be able to reexport that shape to the same file with the same resolution simply with
inkscape -i path231 -t document.svg
If you use --export-dpi, --export-width, or --export-height with this option, then the DPI hint will be ignored and the value from the command line will be used.  If you use --export-filename with this option, then the filename hint will be ignored and the filename from the command line will be used.
-b COLOR, --export-background=COLOR Background color of exported PNG.  This may be any SVG supported color string, for example "#ff007f" or "rgb(255, 0, 128)".  If not set, then the page color set in Inkscape in the Document Properties dialog will be used (stored in the pagecolor= attribute of sodipodi:namedview).
-y VALUE, --export-background-opacity=VALUE Opacity of the background of exported PNG.  This may be a value either between 0.0 and 1.0 (0.0 meaning full transparency, 1.0 full opacity) or greater than 1 up to 255 (255 meaning full opacity).  If not set and the -b option is not used, then the page opacity set in Inkscape in the Document Properties dialog will be used (stored in the inkscape:pageopacity= attribute of sodipodi:namedview).  If not set but the -b option is used, then the value of 255 (full opacity) will be used.
-I, --query-id=OBJECT-ID[,OBJECT-ID]* Set the ID(s) of the object(s) whose dimensions are queried in a comma-separated list. If not set, query options will return the dimensions of the drawing (i.e. all document objects), not the page or viewbox.
If you specify many values with a comma separated list of objects, any geometry query (e.g. --query-x) will return a comma separated list of values corresponding to the list of objects in --query-id.
-S, --query-all Prints a comma delimited listing of all objects in the SVG document with IDs defined, along with their x, y, width, and height values.
-X, --query-x Query the X coordinate of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).
-Y, --query-y Query the Y coordinate of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).
-W, --query-width Query the width of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).
-H, --query-height Query the height of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).
--vacuum-defs Remove all unused items from the "<defs>" section of the SVG file.  If this option is invoked in conjunction with --export-plain-svg, only the exported file will be affected.  If it is used alone, the specified file will be modified in place.
--select=OBJECT-ID[,OBJECT-ID]* The --select command will cause objects that have the ID specified to be selected.  You can select many objects width a comma separated list.  This allows various verbs to act upon them.  To remove all the selections use "--verb=EditDeselect". The object IDs available are dependent on the document specified to load.
--actions=ACTION(:ARG)[;ACTION(:ARG)]* Actions are a new method to call functions with an optional single parameter.  To get a list of the action IDs available, use the --action-list command line option.  Eventually all verbs will be replaced by actions.   Temporarily, any verb can be used as an action (without a parameter).  Note, most verbs require a GUI (even if they don't use it). To close the GUI automatically at the end of processing, use --batch-process.  In addition all export options have matching actions (remove the '--' in front of the option and replace '=' with ':').
If only actions are used --batch-process must be used.
Export can be forced at any point with the export-do action. This allows one to do multiple exports on a single file.
--action-list Prints a list of all available actions.
--verb=VERB[;VERB]* The --verb command will execute a specific verb or list of verbs as if they were called from a menu or button. Dialogs will appear if that is part of the verb.  To get a list of the verb IDs available, use the --verb-list command line option.
Note that the --verb command requires a GUI.
Together with --select provides some basic scripting for Inkscape from the command line.  They both can receive many arguments as needed on the command line and are executed in order on every document.
--verb-list Lists all the verbs that are available in Inkscape by ID. This ID can be used in defining keymaps or menus. It can also be used with the --verb command line option.
-g, --with-gui Try to use the GUI (on Unix, use the X server even if $DISPLAY is not set).
--batch-process Close GUI after executing all actions or verbs.
--shell With this parameter, Inkscape will enter an interactive command line shell mode. In this mode, you type in commands at the prompt and Inkscape executes them, without you having to run a new copy of Inkscape for each command. This feature is mostly useful for scripting and server uses: it adds no new capabilities but allows you to improve the speed and memory requirements of any script that repeatedly calls Inkscape to perform command line tasks (such as export or conversions).
In shell mode Inkscape expects a sequence of actions (or verbs) as input.  They will be processed line by line, that means typically when pressing enter.  It is possible (but not necessary) to put all actions on a single line.
The following example opens a file and exports it into two different formats, then opens another file and exports a single object:
file-open:file1.svg; export-type:pdf; export-do; export-type:png; export-do file-open:file2.svg; export-id:rect2; export-id-only; export-filename:rect_only.svg; export-do
The main configuration file is located in ~/.config/inkscape/preferences.xml; it stores a variety of customization settings that you can change in Inkscape (mostly in the Inkscape Preferences dialog).  Also in the subdirectories there, you can place your own:
$HOME/.config/inkscape/extensions/ - extension effects.
$HOME/.config/inkscape/icons/ - icons.
$HOME/.config/inkscape/keys/ - keyboard maps.
$HOME/.config/inkscape/templates/ - new file templates.
The program returns zero on success or non-zero on failure.
A variety of error messages and warnings may be printed to STDERR or STDOUT.  If the program behaves erratically with a particular SVG file or crashes, it is useful to look at this output for clues.
While obviously Inkscape is primarily intended as a GUI application, it can be used for doing SVG processing on the command line as well.
Open an SVG file in the GUI:
inkscape filename.svg
Export an SVG file into PNG with the default resolution of 96 dpi (one SVG user unit translates to one bitmap pixel):
inkscape --export-filename=filename.png filename.svg
Same, but force the PNG file to be 600x400 pixels:
inkscape --export-filename=filename.png -w 600 -h 400 filename.svg
Same, but export the drawing (bounding box of all objects), not the page:
inkscape --export-filename=filename.png --export-area-drawing filename.svg
Export two different files into four distinct file formats each:
inkscape --export-type=png,ps,eps,pdf filename1.svg filename2.svg
Export to PNG the object with id="text1555", using the output filename and the resolution that were used for that object last time when it was exported from the GUI:
inkscape --export-id=text1555 --export-use-hints filename.svg
Same, but use the default 96 dpi resolution, specify the filename, and snap the exported area outwards to the nearest whole SVG user unit values (to preserve pixel-alignment of objects and thus minimize aliasing):
inkscape --export-id=text1555 --export-filename=text.png --export-area-snap filename.svg
Convert an Inkscape SVG document to plain SVG:
inkscape --export-plain-svg --export-filename=filename2.svg filename1.svg
Convert an SVG document to EPS, converting all texts to paths:
inkscape --export-filename=filename.eps --export-text-to-path filename.svg
Query the width of the object with id="text1555":
inkscape --query-width --query-id=text1555 filename.svg
Duplicate the objects with id="path1555" and id="rect835", rotate the duplicates 90 degrees, save SVG, and quit:
inkscape --select=path1555,rect835 --verb="EditDuplicate;ObjectRotate90;FileSave;FileQuit" filename.svg
Select all objects with ellipse tag, rotate them 30 degrees, save the file, and quit.
inkscape --actions="select-by-element:ellipse;transform-rotate:30;FileSave;FileClose" --batch-process filename.svg
Export the object with the ID MyTriangle with a semi transparent purple background to the file triangle_purple.png and with a red background to the file triangle_red.png.
inkscape --actions="export-id:MyTriangle; export-id-only; export-background:purple; export-background-opacity:0.5;export-filename:triangle_purple.png; export-do; export-background:red; export-background-opacity:1; export-filename:triangle_red.png" filename.svg
Read an SVG from standard input (stdin) and export it to PDF format:
cat filename.svg | inkscape --pipe --export-filename=filename.pdf
Export an SVG to PNG format and write it to standard output (stdout), then convert it to JPG format with ImageMagick's convert program:
inkscape --export-type=png --export-filename=- filename.svg | convert - filename.jpg
Same as above, but also reading from a pipe (--export-filename can be omitted in this case)
cat filename.svg | inkscape --pipe --export-type=png | convert - filename.jpg
INKSCAPE_PROFILE_DIR Set a custom location for the user profile directory.
INKSCAPE_DATADIR Set a custom location for the Inkscape data directory (e.g. $PREFIX/share if Inkscape's shared files are in $PREFIX/share/inkscape).
INKSCAPE_LOCALEDIR Set a custom location for the translation catalog.
For more details see also <http://wiki.inkscape.org/wiki/index.php/Environment_variables>
To load different icons sets instead of the default $PREFIX/share/inkscape/icons/icons.svg file, the directory $HOME/.config/inkscape/icons/ is used.  Icons are loaded by name (e.g. fill_none.svg), or if not found, then from icons.svg.  If the icon is not loaded from either of those locations, it falls back to the default system location.
The needed icons are loaded from SVG files by searching for the SVG id with the matching icon name.  (For example, to load the "fill_none" icon from a file, the bounding box seen for SVG id "fill_none" is rendered as the icon, whether it comes from fill_none.svg or icons.svg.)
The canonical place to find Inkscape info is at <https://www.inkscape.org/>.  The website has news, documentation, tutorials, examples, mailing list archives, the latest released version of the program, bugs and feature requests databases, forums, and more.
potrace, cairo, rsvg, batik, ghostscript, pstoedit.
SVG compliance test suite: <https://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview>
SVG validator: <https://validator.w3.org/>
Scalable Vector Graphics (SVG) 1.1 Specification W3C Recommendation 16 August 2011 <https://www.w3.org/TR/SVG11/>
Scalable Vector Graphics (SVG) 1.2 Specification W3C Working Draft 13 April 2005 <https://www.w3.org/TR/SVG12/>
Scalable Vector Graphics (SVG) 2 Specification W3C Candidate Recommendation 15 September 2016 <https://www.w3.org/TR/SVG2/>
Document Object Model (DOM): Level 2 Core W3C Recommendation 13 November 2000 <https://www.w3.org/TR/DOM-Level-2-Core/>
To learn Inkscape's GUI operation, read the manual in Help > Inkscape manual, and the tutorials in Help > Tutorials.
Apart from SVG, Inkscape can import (File > Import) most bitmap formats (PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PS and EPS (requires Ghostscript), PDF and AI format (AI version 9.0 or newer).
Inkscape exports 32-bit PNG images (File > Export PNG Image) as well as AI, PS, EPS, PDF, DXF, and several other formats via File > Save as.
Inkscape can use the pressure and tilt of a graphic tablet pen for width, angle, and force of action of several tools, including the Calligraphic pen.
Inkscape includes a GUI front-end to the Potrace bitmap tracing engine (<http://potrace.sf.net>) which is embedded into Inkscape.
Inkscape can use external scripts (stdin-to-stdout filters) that are represented by commands in the Extensions menu. A script can have a GUI dialog for setting various parameters and can get the IDs of the selected objects on which to act via the command line. Inkscape comes with an assortment of effects written in Python.
To get a complete list of keyboard and mouse shortcuts, view doc/keys.html, or use the Keys and Mouse command in Help menu.
Many bugs are known; please refer to the website (<https://www.inkscape.org/>) for reviewing the reported ones and to report newly found issues.  See also the Known Issues section in the Release Notes for your version (file `NEWS').
The codebase that would become Inkscape began life in 1999 as the program Gill, the GNOME Illustrator application, created by Raph Levien.  The stated objective for Gill was to eventually support all of SVG.  Raph implemented the PostScript bezier imaging model, including stroking and filling, line cap style, line join style, text, etc.  Raph's Gill page is at <http://www.levien.com/svg/>.  Work on Gill appears to have slowed or ceased in 2000.
The next incarnation of the codebase was to become the highly popular program Sodipodi, led by Lauris Kaplinski.  The codebase was turned into a powerful illustration program over the course of several year's work, adding several new features, multi-lingual support, porting to Windows and other operating systems, and eliminating dependencies.
Inkscape was formed in 2003 by four active Sodipodi developers, Bryce Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a different direction with the codebase in terms of focus on SVG compliance, interface look-and-feel, and a desire to open development opportunities to more participants.  The project progressed rapidly, gaining a number of very active contributors and features.
Much work in the early days of the project focused on code stabilization and internationalization.  The original renderer inherited from Sodipodi was laced with a number of mathematical corner cases which led to unexpected crashes when the program was pushed beyond routine uses; this renderer was replaced with Livarot which, while not perfect either, was significantly less error prone.  The project also adopted a practice of committing code frequently, and encouraging users to run developmental snapshots of the program; this helped identify new bugs swiftly, and ensure it was easy for users to verify the fixes.  As a result, Inkscape releases have generally earned a reputation for being robust and reliable.
Similarly, efforts were taken to internationalize and localize the interface, which has helped the program gain contributors worldwide.
Inkscape has had a beneficial impact on the visual attractiveness of Open Source in general, by providing a tool for creating and sharing icons, splash screens, website art, and so on.  In a way, despite being "just an drawing program", Inkscape has played an important role in making Open Source more visually stimulating to larger audiences.
This codebase owes its existence to a large number of contributors throughout its various incarnations.  The following list is certainly incomplete, but serves to recognize the many shoulders on which this application sits:
Maximilian Albert, Joshua A. Andler, Tavmjong Bah, Pierre Barbry-Blot, Jean-François Barraud, Campbell Barton, Bill Baxter, John Beard, Adam Belis, John Bintz, Arpad Biro, Nicholas Bishop, Joshua L. Blocher, Hanno Böck, Tomasz Boczkowski, Adrian Boguszewski, Henrik Bohre, Boldewyn, Daniel Borgmann, Bastien Bouclet, Hans Breuer, Gustav Broberg, Christopher Brown, Marcus Brubaker, Luca Bruno, Brynn, Nicu Buculei, Bulia Byak, Pierre Caclin, Ian Caldwell, Gail Carmichael, Ed Catmur, Chema Celorio, Jabiertxo Arraiza Cenoz, Johan Ceuppens, Zbigniew Chyla, Alexander Clausen, John Cliff, Kees Cook, Ben Cromwell, Jon Cruz, Aurélie De-Cooman, Kris De Gussem, Milosz Derezynski, Daniel Díaz, Bruno Dilly, Larry Doolittle, Nicolas Dufour, Tim Dwyer, Maxim V. Dziumanenko, Moritz Eberl, Johan Engelen, Miklos Erdelyi, Ulf Erikson, Noé Falzon, Sebastian Faubel, Frank Felfe, Andrew Fitzsimon, Edward Flick, Marcin Floryan, Fred, Ben Fowler, Cedric Gemy, Steren Giannini, Olivier Gondouin, Ted Gould, Toine de Greef, Michael Grosberg, Bryce Harrington, Dale Harvey, Aurélio Adnauer Heckert, René de Hesselle, Carl Hetherington, Jos Hirth, Hannes Hochreiner, Thomas Holder, Joel Holdsworth, Christoffer Holmstedt, Alan Horkan, Karl Ove Hufthammer, Richard Hughes, Nathan Hurst, inductiveload, Thomas Ingham, Jean-Olivier Irisson, Bob Jamison, Ted Janeczko, Marc Jeanmougin, jEsuSdA, Lauris Kaplinski, Lynn Kerby, Niko Kiirala, James Kilfiger, Nikita Kitaev, Jason Kivlighn, Adrian Knoth, Krzysztof Kosiński, Petr Kovar, Benoît Lavorata, Alex Leone, Julien Leray, Raph Levien, Diederik van Lierop, Nicklas Lindgren, Vitaly Lipatov, Ivan Louette, Fernando Lucchesi Bastos Jurema, Pierre-Antoine Marc, Aurel-Aimé Marmion, Colin Marquardt, Craig Marshall, Ivan Masár, Dmitry G. Mastrukov, David Mathog, Matiphas, Patrick McDermott, Michael Meeks, Federico Mena, MenTaLguY, Aubanel Monnier, Vincent Montagne, Tim Mooney, Derek P. Moore, Chris Morgan, Peter Moulder, Jörg Müller, Yukihiro Nakai, Victor Navez, Christian Neumair, Nick, Andreas Nilsson, Mitsuru Oka, Vinícius dos Santos Oliveira, Martin Owens, Alvin Penner, Matthew Petroff, Jon Phillips, Zdenko Podobny, Alexandre Prokoudine, Jean-René Reinhard, Alexey Remizov, Frederic Rodrigo, Hugo Rodrigues, Jean Franco Amoni Rodríguez, Juarez Rudsatz, Xavier Conde Rueda, Felipe Corrêa da Silva Sanches, Christian Schaller, Marco Scholten, Tom von Schwerdtner, Markus Schwienbacher, Danilo Šegan, Abhishek Sharma, Tim Sheridan, Shivaken, Michael Sloan, John Smith, Sandra Snan, Boštjan Špetič, Aaron Spike, Kaushik Sridharan, Ralf Stephan, Dariusz Stojek, Patrick Storz, Martin Sucha, ~suv, Pat Suwalski, Adib Taraben, Parcly Taxel, Hugh Tebby, Jonas Termeau, David Turner, Andre Twupack, Aleksandar Urošević, Alex Valavanis, Joakim Verona, Lucas Vieites, Daniel Wagenaar, Liam P. White, Sebastian Wüst, Michael Wybrow, Gellule Xg, Daniel Yacob, Masatake Yamato, David Yip
MOSH(1)                      General Commands Manual                     MOSH(1)
mosh - mobile shell with roaming and intelligent local echo
mosh [options] [--] [user@]host [command...]
mosh (mobile shell) is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.
Compared with ssh, mosh is more robust — its connections stay up across sleeps and changes in the client's IP address — and more responsive, because the protocol is tolerant of packet loss and the client can echo most keystrokes immediately, without waiting for a network round-trip.
mosh uses ssh to establish a connection to the remote host and authenticate with existing means (e.g., public-key authentication or a password). mosh executes the unprivileged mosh-server helper program on the server, then closes the SSH connection and starts the mosh-client, which establishes a long-lived datagram connection over UDP.
To improve responsiveness, mosh runs a predictive model of the server's behavior in the background, trying to guess the effect of each keystroke on the screen. It makes predictions for normal typing, backspace, and the left- and right-arrow keys. When it is confident, mosh displays the predictions without waiting for the server. The predictive model must prove itself anew on each row of the terminal and after each control character, so mosh avoids echoing passwords or non-echoing editor commands.
By default, mosh shows its predictions only on high-latency connections and to smooth out network glitches. (On longer-latency links, the predicted cells are underlined until confirmed by the server.) Occasional echo mistakes are corrected within a network round-trip and do not cause lasting effect.
mosh does not support X forwarding or the non-interactive uses of SSH, including port forwarding or sshfs. mosh works through typical client- side network address translators but requires UDP to pass between client and server. By default, mosh uses the ports between 60000 and 61000, but allows the user to request a particular UDP port instead.
Currently, mosh has limited support for IPv6, dual-stack networks, and servers with multiple addresses.  At session start, it will select a single IPv4 or IPv6 server address to connect to for the lifetime of the session.
mosh will do its best to arrange a UTF-8 character set locale on the client and server. The client must have locale-related environment variables that specify UTF-8. mosh will pass these client variables to the mosh-server on its command line, but in most cases they will not need to be used. mosh-server first attempts to use its own locale-related environment variables, which come from the system default configuration (sometimes /etc/default/locale) or from having been passed over the SSH connection. But if these variables don't call for the use of UTF-8, mosh- server will apply the locale-related environment variables from the client and try again.
Options named  --experimental-* are subject to change or removal in future versions of Mosh; their design or function is not yet final.
command Command to run on remote host. By default, mosh executes a login shell.
--client=PATH path to client helper on local machine (default: "mosh-client")
--server=COMMAND command to run server helper on remote machine (default: "mosh- server")
The server helper is unprivileged and can be installed in the user's home directory.
This option can be used to set environment variables for the server by using the env(1) command to wrap the actual server command.  See mosh-server(1) for available environment variables.
--ssh=COMMAND OpenSSH command to remotely execute mosh-server on remote machine (default: "ssh")
An alternate ssh port can be specified with, e.g., --ssh="ssh -p 2222".
--ssh-pty --no-ssh-pty Enable or disable ssh's use of a pty when connecting to a remote host.  The default is enabled.
--predict=WHEN Controls use of speculative local echo. WHEN defaults to `adaptive' (show predictions on slower links and to smooth out network glitches) and can also be `always` or `never'.
The MOSH_PREDICTION_DISPLAY environment variable controls this setting permanently and can adopt the same three values.
Even on `always', mosh will only show predictions when it is confident. This generally means a previous prediction on the same row of the terminal has been confirmed by the server, without any intervening control character keystrokes.
-a     Synonym for --predict=always
-n     Synonym for --predict=never
--family=inet Only use IPv4 for the SSH connection and Mosh session.
--family=inet6 Only use IPv6 for the SSH connection and Mosh session.  This and the following modes require Perl's IO::Socket::IP or IO::Socket::INET6 modules.
--family=auto Autodetect IPv4 or IPv6 for hosts that only have addresses in a single family.  Hosts with both IPv4 and IPv6 addresses will raise an error, and require re-invocation of mosh with another --family option.
--family=all Choose an address from all available IPv4 or IPv6 address, even for dual-stack hosts.  This is the most convenient option, but requires dual-stack connectivity, and Mosh 1.2.5 or later on the server, when roaming with dual-stack servers.
--family=prefer-inet Similar to --family=all, but attempt connects to the IPv4 addresses first.  This is the default.
--family=prefer-inet6 Similar to --family=all, but attempt connects to the IPv6 addresses first.
-4     Synonym for --family=inet
-6     Synonym for --family=inet6
-p PORT[:PORT2], --port=PORT[:PORT2] Use a particular server-side UDP port or port range, for example, if this is the only port that is forwarded through a firewall to the server. With -p 0, the server will let the operating system pick an available UDP port. Otherwise, mosh will choose a port between 60000 and 61000. Please note that this option does not affect the server-side port used by SSH.
--bind-server={ssh|any|IP} Control the IP address that the mosh-server binds to.
The default is `ssh', in which case the server will reply from the IP address that the SSH connection came from (as found in the SSH_CONNECTION environment variable). This is useful for multihomed servers.
With --bind-server=any, the server will reply on the default interface and will not bind to a particular IP address. This can be useful if the connection is made through sslh or another tool that makes the SSH connection appear to come from localhost.
With --bind-server=IP, the server will attempt to bind to the specified IP address.
--no-init Do not send the smcup initialization string and rmcup deinitialization string to the client's terminal. On many terminals this disables alternate screen mode.
--local Invoke mosh-server locally, without using ssh.  This option requires the host argument to be a local, numeric IPv4/IPv6 address.  This option is useful for testing.
--experimental-remote-ip={proxy|local|remote} Select the method used to discover the IP address that the mosh- client connects to.
The default is proxy, which uses SSH's --ssh-proxy-command option to generate and report the exact address that ssh uses to connect to the remote host.  This option is generally the most compatible with hosts and other options configured in ssh configuration files.  However, this may not work for some configurations, or for environments where a ssh bastion host forwards to a remote machine.  It only works with OpenSSH.
With remote, the server's SSH_CONNECTION environment variable will be used.  This is useful for environments where ssh forwarding is used, or the --ssh-proxy-command option is used for other purposes.
With local, Mosh resolves the hostname given on its command line, and uses that address for both ssh and Mosh connections.  This option ignores any configuration in ssh_config for the same hostname.
The default escape character used by Mosh is ASCII RS (decimal 30).  This is typically typed as Ctrl-^ or Ctrl-Shift-6, on US English keyboards. Users of non-English keyboards may find it difficult or impossible to type the default escape character, and may need to change the escape character.  See the description of MOSH_ESCAPE_KEY, below.  In this description, the configured escape character is represented as Esc.
There are two slightly different modes for escape sequences, depending whether the escape character is printable or not.
If the escape character is a printable character, it must be prefixed with a newline, similar to OpenSSH.  To send the escape character itself, type it twice.  If the escape character is set to ~, mosh will behave much like OpenSSH.
If the escape character is a non-printable control character, no prefix is used and the escape character is recognized at any time.  To send the escape character itself, type the escape character, then its corresponding ASCII character (for Ctrl-^ you would type ^, for Ctrl-B you would type B).
The escape sequence to shut down the connection is Esc .. The sequence Esc Ctrl-Z suspends the client.  Any other sequence passes both characters through to the server.
These variables are not actually interpreted by mosh(1) itself, but are passed through to mosh-server(1).  They are described here for ease of use.
MOSH_ESCAPE_KEY When set, this configures the escape character used for local commands.  The escape character may be set to any ASCII character in the range 1-127.  The variable must be set with a single literal ASCII character.  Control characters are set with the actual ASCII control character, not with a printable representation such as "^B".
MOSH_PREDICTION_DISPLAY Controls local echo as described above.  The command-line flag overrides this variable.
MOSH_TITLE_NOPREFIX When set, inhibits prepending "[mosh]" to window title.
mosh-client(1), mosh-server(1).
Project home page: https://mosh.org
mosh was written by Keith Winstein <mosh-devel@mit.edu>.
Please report bugs to mosh-devel@mit.edu. Users may also subscribe to the mosh-users@mit.edu mailing list, at http://mailman.mit.edu/mailman/listinfo/mosh-users
GIT-OBLITERATE(1)                  Git Extras                  GIT-OBLITERATE(1)
git-obliterate - rewrite past commits to remove some files
git obliterate <files...> [-- <rev-list options...>]
Completely remove some files from the repository, including past commits and tags. WARNING! This command will rewrite the history similar to git rebase(though it affects more). The rewritten history will have different object names for all the objects and will not converge with the original branch. So avoid using it on commits that you shared. And it will mess up stash, so don´t have stash when you run git obliterate.
You can pass rev-list options to indicate the range of commits affected. Those options need to be separated with ´--´ before them. Run git help rev-list to see the acceptable options.
Examples Remove .secret from the repository:
$ git obliterate .secret
Remove .secret from commits between origin and feature:
$ git obliterate .secret -- feature ^origin
Remove .secret from commit abcdefg to commit 1234567
$ git obliterate .secret -- abcdefg..1234567
Written by <brianloveswords@gmail.com>
ADDR2LINE(1)                  GNU Development Tools                 ADDR2LINE(1)
addr2line - convert addresses into file names and line numbers
addr2line [-a|--addresses] [-b bfdname|--target=bfdname] [-C|--demangle[=style]] [-r|--no-recurse-limit] [-R|--recurse-limit] [-e filename|--exe=filename] [-f|--functions] [-s|--basename] [-i|--inlines] [-p|--pretty-print] [-j|--section=name] [-H|--help] [-V|--version] [addr addr ...]
addr2line translates addresses into file names and line numbers.  Given an address in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it.
The executable or relocatable object to use is specified with the -e option.  The default is the file a.out.  The section in the relocatable object to use is specified with the -j option.
addr2line has two modes of operation.
In the first, hexadecimal addresses are specified on the command line, and addr2line displays the file name and line number for each address.
In the second, addr2line reads hexadecimal addresses from standard input, and prints the file name and line number for each address on standard output.  In this mode, addr2line may be used in a pipe to convert dynamically chosen addresses.
The format of the output is FILENAME:LINENO.  By default each input address generates one line of output.
Two options can generate additional lines before each FILENAME:LINENO line (in that order).
If the -a option is used then a line with the input address is displayed.
If the -f option is used, then a line with the FUNCTIONNAME is displayed. This is the name of the function containing the address.
One option can generate additional lines after the FILENAME:LINENO line.
If the -i option is used and the code at the given address is present there because of inlining by the compiler then additional lines are displayed afterwards.  One or two extra lines (if the -f option is used) are displayed for each inlined function.
Alternatively if the -p option is used then each input address generates a single, long, output line containing the address, the function name, the file name and the line number.  If the -i option has also been used then any inlined functions will be displayed in the same manner, but on separate lines, and prefixed by the text (inlined by).
If the file name or function name can not be determined, addr2line will print two question marks in their place.  If the line number can not be determined, addr2line will print 0.
The long and short forms of options, shown here as alternatives, are equivalent.
-a --addresses Display the address before the function name, file and line number information.  The address is printed with a 0x prefix to easily identify it.
-b bfdname --target=bfdname Specify that the object-code format for the object files is bfdname.
-e filename --exe=filename Specify the name of the executable for which addresses should be translated.  The default file is a.out.
-f --functions Display function names as well as file and line number information.
-s --basenames Display only the base of each file name.
-i --inlines If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed.  For example, if "main" inlines "callee1" which inlines "callee2", and address is from "callee2", the source information for "callee1" and "main" will also be printed.
-j --section Read offsets relative to the specified section instead of absolute addresses.
-p --pretty-print Make the output more human friendly: each location are printed on one line.  If option -i is specified, lines for all enclosing scopes are prefixed with (inlined by).
-r -R --recurse-limit --no-recurse-limit --recursion-limit --no-recursion-limit Enables or disables a limit on the amount of recursion performed whilst demangling strings.  Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault.  The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting.
The -r option is a synonym for the --no-recurse-limit option.  The -R option is a synonym for the --recurse-limit option.
Note this option is only effective if the -C or --demangle option has been enabled.
Info entries for binutils.
guake(1)                     General Commands Manual                    guake(1)
guake â€” A drop-down terminal for GNOME environment.
guake [-h, --help] [-p, --preferences] [-a, --about] [-q, --quit] [-f, --fullscreen] [-t, --toggle-visiblity] [--show] [--hide] [-s, --select-tab] [-g, --selected-tab] [-e, --execute-command] [-t, --tab-index] [--bgcolor] [--fgcolor] [-r, --rename-current-tab]
Guake is a drop-down terminal for GNOME and any other desktop.  It aims to provide a quick-access terminal, that show/hide on screen with a simple key pressing.
-t, --toggle-visibility Toggle the visibility of guake
--show Display the main window
--hide Hide the main window
-p, --preferences Shows the preferences window of guake
-a, --about Shows the about window of guake
-n, --new-tab Create a new tab in Guake
-s, --select-tab Select a tab given its 0-based index
-g, --selected-tab Return the index of the current tab
-e, --execute-command Execute a command in the selected tab
-i, --tab-index Specify which tab to rename. Default is 0.
--bgcolor Set the hexadecimal (#rrggbb) background color of the selected tab.
--fgcolor Set the hexadecimal (#rrggbb) foreground color of the selected tab
--rename-tab Rename the specified tab. Reset to default if TITLE is a single dash "-".
-r, --rename-current-tab Rename the current tab. Reset to default if TITLE is a single dash "-".
-q, --quit Closes the current running guake
guake was originally written by <gabriel@guake-terminal.org>
This manual page was written by Gabriel Falcao Goncalves de Moura <gabriel@guake-terminal.org>, for the Debian project (but may be used by others).
envoy(1)                          User Commands                         envoy(1)
envoy - authentication agent controller
envoy [options] [keys]
envoy is the client side to envoyd(1). It connects to the daemon and gets all the information associated with the current running agent. It can then do things like add new keys to the agent or output shell code to inject these variables into a shell.
This effectively allows a user to share a single long-running authentication agent between all shells and sessions in a clean and managed fashion that doesn't clutter user login sessions.
Sourcing Environmental Variables To connect/source the environmental variables...
envoy -t ssh-agent [key ...]     # gpg-agent also supported source <(envoy -p)
-h, --help Display help message.
-d, --defer Defer adding keys until the next envoy call. Useful for using envoy with ssh-agent in scripts. A useful safety to launch envoy correctly when in a environment where it can't ask for keys.
-a, --add Add private key identities to the authentication agent using ssh- add(1). Note that when passing in keys, if they reside in ~/.ssh/, then just providing the filename is sufficient.
-k, --kill Terminate the running agent. Sends SIGTERM to the running agent.
-r, --reload For gpg-agent only, flush all cached passphrases and, if the program has been started with a configuration file, reload it. Sends RELOADAGENT over gpg-agent's socket.
-l, --list Lists fingerprints of all identities currently represented by the agent.
-u[PASSWORD], --unlock=[PASSWORD] For gpg-agent only, unlock the agent's keyrings. The password will be prompted for if its not optionally provided. This requires that allow-preset-passphrase is set in your gpg-agent.conf to work.
-p, --print Print out the environmental variables associated with the running agent.  Useful for injecting these variables into the shell.
-s, --sh Print sh-style commands when outputting environmental variables.
-c, --csh Print csh-style commands when outputting environmental variables.
-f, --fish Print fish-style commands when outputting environmental variables.
-t AGENT, --agent=AGENT Set the agent type to launch. If this isn't set, its up to envoyd to decide which agent is launched. ssh-agent and gpg-agent are supported agents.
ENVOY_SOCKET Both envoyd and envoy use this environment variable for the location of the unix domain socket for communication. Prefixing the socket with a @ denotes an abstract namespace. The default socket is @/vodik/envoy.
Simon Gomizelj <simongmzlj@gmail.com>
envoyd(1), envoy-exec(1), ssh-agent(1), ssh-add(1), gpg-agent(1)
GEDIT(1)                     General Commands Manual                    GEDIT(1)
gedit - text editor for the GNOME Desktop
gedit [OPTION...] [FILE...] [+LINE[:COLUMN]] gedit [OPTION...] -
gedit is the official text editor of the GNOME desktop environment.
While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor.  It can be used to create and edit all kinds of text files.
gedit features a flexible plugin system which can be used to dynamically add new advanced features to gedit itself.
--encoding Set the character encoding to be used for opening the files listed on the command line.
--list-encodings Display list of possible values for the encoding option and exit.
--new-window Create a new toplevel window in an existing instance of gedit.
--new-document Create a new document in an existing instance of gedit.
-s, --standalone Run gedit in standalone mode.
-w, --wait Open files and block the gedit process.
FILE   Specifies the file to open when gedit starts. If this is not specified, gedit will load a blank file with an "Unsaved Document" label. Multiple files can be loaded if they are separated by spaces.  gedit also supports handling of remote files. For example, you can pass the location of a webpage to gedit , like "http://www.gnome.org", or load a file from a FTP server, like "ftp://ftp.gnome.org/robots.txt".
-      gedit will read from stdin
+LINE  For the first file, go to the line specified by LINE (do not insert a space between the "+" sign and the number).  If LINE is missing, go to the last line.
COLUMN For the first file, go to the column specified by COLUMN.  If COLUMN is missing, go to the first column.
If you find a bug, please report it at the GNOME bug tracker. See https://wiki.gnome.org/Apps/Gedit/ReportingBugs.
Paolo Maggi (paolo@gnome.org)
Paolo Borelli (pborelli@gnome.org)
Steve FrÃ©cinaux (code@istique.net)
Jesse van den Kieboom (jessevdk@gnome.org)
Ignacio Casal Quinteiro <icq@gnome.org>
James Willcox (jwillcox@gnome.org)
Federico Mena Quintero (federico@novell.com)
Chema Celorio
HYPERFINE(1)                 General Commands Manual                HYPERFINE(1)
hyperfine - command-line benchmarking tool
hyperfine [-ihV] [-w warmupruns] [-r runs] [-p cmd...]  [-c cmd] [-s style] [cmd...]
A command-line benchmarking tool which includes:
* Statistical analysis across multiple runs * Support for arbitrary shell commands * Constant feedback about the benchmark progress and current estimates * Warmup runs can be executed before the actual benchmark * Cache-clearing commands can be set up before each timing run * Statistical outlier detection to detect interference from other programs and caching effects * Export results to various formats: CSV, JSON, Markdown, AsciiDoc * Parameterized benchmarks (e.g. vary the number of threads)
-w, --warmup warmupruns
Perform warmupruns (number) before the actual benchmark. This can be used to fill (disk) caches for I/O-heavy programs.
-m, --min-runs minruns
Perform at least minruns (number) runs for each command. Default: 10.
-M, --max-runs maxruns
Perform at most maxruns (number) runs for each command. Default: no limit.
-r, --runs runs
Perform exactly runs (number) runs for each command. If this option is not specified, hyperfine automatically determines the number of runs.
-p, --prepare cmd...
Execute cmd before each timing run. This is useful for clearing disk caches, for example.  The --prepare option can be specified once for all commands or multiple times, once for each command. In the latter case, each preparation command will be run prior to the corresponding benchmark command.
-c, --cleanup cmd
Execute cmd after the completion of all benchmarking runs for each individual command to be benchmarked. This is useful if the commands to be benchmarked produce artifacts that need to be cleaned up.
-P, --parameter-scan var min max
Perform benchmark runs for each value in the range min..max. Replaces the string '{var}' in each command by the current parameter value.
Example: hyperfine -P threads 1 8 'make -j {threads}'
This performs benchmarks for 'make -j 1', 'make -j 2', ..., 'make -j 8'.
-D, --parameter-step-size delta
This argument requires --parameter-scan to be specified as well. Traverse the range min..max in steps of delta.
Example: hyperfine -P delay 0.3 0.7 -D 0.2 'sleep {delay}'
This performs benchmarks for 'sleep 0.3', 'sleep 0.5' and 'sleep 0.7'.
-L, --parameter-list var values
Perform benchmark runs for each value in the comma-separated list of values.  Replaces the string '{var}' in each command by the current parameter value.
Example: hyperfine -L compiler gcc,clang '{compiler} -O2 main.cpp'
This performs benchmarks for 'gcc -O2 main.cpp' and 'clang -O2 main.cpp'.
-s, --style type
Set output style type (default: auto). Set this to 'basic' to disable output coloring and interactive elements. Set it to 'full' to enable all effects even if no interactive terminal was detected. Set this to 'nocolor' to keep the interactive output without any colors. Set this to 'color' to keep the colors without any interactive output. Set this to 'none' to disable all the output of the tool.
-S, --shell shell
Set the shell to use for executing benchmarked commands.
-i, --ignore-failure
Ignore non-zero exit codes of the benchmarked programs.
-u, --time-unit unit
Set the time unit to be used. Default: second. Possible values: millisecond, second.
--export-asciidoc file
Export the timing summary statistics as an AsciiDoc table to the given file.
--export-csv file
Export the timing summary statistics as CSV to the given file. If you need the timing results for each individual run, use the JSON export format.
--export-json file
Export the timing summary statistics and timings of individual runs as JSON to the given file.
--export-markdown file
Export the timing summary statistics as a Markdown table to the given file.
--show-output
Print the stdout and stderr of the benchmark instead of suppressing it. This will increase the time it takes for benchmarks to run, so it should only be used for debugging purposes or when trying to benchmark output speed.
-n, --command-name name
Identify a command with the given name. Commands and names are paired in the same order: the first command executed gets the first name passed as option.
Print help message.
Basic benchmark of 'find . -name todo.txt': hyperfine 'find . -name todo.txt'
Perform benchmarks for 'sleep 0.2' and 'sleep 3.2' with a minimum 5 runs each: hyperfine --min-runs 5 'sleep 0.2' 'sleep 3.2'
Perform a benchmark of 'grep' with a warm disk cache by executing 3 runs up front that are not part of the measurement: hyperfine --warmup 3 'grep -R TODO *'
Export the results of a parameter scan benchmark to a markdown table: hyperfine --export-markdown output.md --parameter-scan time 1 5 'sleep {time}'
David Peter (sharkdp)