<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.g4slv.info/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Make It Tea - public:computers:archive</title>
        <description></description>
        <link>https://www.g4slv.info/dokuwiki/</link>
        <lastBuildDate>Tue, 14 Jul 2026 05:37:54 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=logo.png</url>
            <title>Make It Tea</title>
            <link>https://www.g4slv.info/dokuwiki/</link>
        </image>
        <item>
            <title>Old stuff but good</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:alpine</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;old_stuff_but_good&quot;&gt;Old stuff but good&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Old stuff but good&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;old_stuff_but_good&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-51&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;alpine&quot;&gt;Alpine&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_bbb72ee261cc7a5312d2d82ea0975a3d_1&quot;&gt;.pinerc &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_bbb72ee261cc7a5312d2d82ea0975a3d_1&quot;&gt;&lt;pre class=&quot;code&quot;&gt;#
# Alpine configuration file
#
# This file sets the configuration options used by Alpine and PC-Alpine. These
# options are usually set from within Alpine or PC-Alpine. There may be a
# system-wide configuration file which sets the defaults for some of the
# variables. On Unix, run alpine -conf to see how system defaults have been set.
# For variables that accept multiple values, list elements are separated by
# commas. A line beginning with a space or tab is considered to be a
# continuation of the previous line. For a variable to be unset its value must
# be blank. To set a variable to the empty string its value should be &amp;quot;&amp;quot;.
# You can override system defaults by setting a variable to the empty string.
# Lines beginning with &amp;quot;#&amp;quot; are comments, and ignored by Alpine.

# Over-rides your full name from Unix password file. Required for PC-Alpine.
personal-name=

# Sets domain part of From: and local addresses in outgoing mail.
user-domain=gm4slv.plus.com

# List of SMTP servers for sending mail. If blank: Unix Alpine uses sendmail.
smtp-server=relay.plus.net:587/user=gm4slv@gm4slv.plus.com

# NNTP server for posting news. Also sets news-collections for news reading.
nntp-server=&amp;quot;&amp;quot;

# Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox
# Normal Unix default is the local INBOX (usually /var/spool/mail/$USER).
inbox-path={imap.plus.net:993/ssl/user=gm4slv@gm4slv.plus.com}inbox

# List of folder pairs; the first indicates a folder to archive, and the
# second indicates the folder read messages in the first should
# be moved to.
incoming-archive-folders=

# List of folders, assumed to be in first folder collection,
# offered for pruning each month.  For example: mumble
pruned-folders=

# Over-rides default path for sent-mail folder, e.g. =old-mail (using first
# folder collection dir) or ={host2}sent-mail or =&amp;quot;&amp;quot; (to suppress saving).
# Default: sent-mail (Unix) or SENTMAIL.MTX (PC) in default folder collection.
default-fcc={imap.plus.net:993/ssl/user=gm4slv@gm4slv.plus.com}Inbox.Sent

# Over-rides default path for saved-msg folder, e.g. =saved-messages (using 1st
# folder collection dir) or ={host2}saved-mail or =&amp;quot;&amp;quot; (to suppress saving).
# Default: saved-messages (Unix) or SAVEMAIL.MTX (PC) in default collection.
default-saved-msg-folder=

# Over-rides default path for postponed messages folder, e.g. =pm (which uses
# first folder collection dir) or ={host4}pm (using home dir on host4).
# Default: postponed-msgs (Unix) or POSTPOND.MTX (PC) in default fldr coltn.
postponed-folder=

# If set, specifies where already-read messages will be moved upon quitting.
read-message-folder=

# If set, specifies where form letters should be stored.
form-letter-folder=

# If set, specifies where trash is moved to in Web Alpine.
trash-folder=

# Contains the actual signature contents as opposed to the signature filename.
# If defined, this overrides the signature-file. Default is undefined.
literal-signature=

# Over-rides default path for signature file. Default is ~/.signature
signature-file=

# List of features; see Alpine&amp;#039;s Setup/options menu for the current set.
# e.g. feature-list= select-without-confirm, signature-at-bottom
# Default condition for all of the features is no-.
feature-list=combined-folder-display,
	expanded-view-of-folders,
	expose-hidden-config,
	no-force-arrow-cursor,
	enable-incoming-folders,
	combined-subdirectory-display,
	enable-incoming-folders-checking,
	preopen-stayopen-folders,
	no-enable-msg-view-forced-arrows,
	enable-full-header-and-text,
	enable-cruise-mode,
	prefer-plain-text,
	enable-mail-check-cue,
	no-show-cursor,
	quell-empty-directories,
	no-separate-folder-and-directory-entries,
	no-enable-dot-folders,
	vertical-folder-list,
	single-column-folder-list,
	expanded-view-of-distribution-lists,
	disable-take-last-comma-first,
	no-assume-slow-link,
	show-plain-text-internally,
	enable-msg-view-addresses,
	no-enable-arrow-navigation-relaxed,
	no-enable-lame-list-mode

# Alpine executes these keys upon startup (e.g. to view msg 13: i,j,1,3,CR,v)
initial-keystroke-list=

# Only show these headers (by default) when composing messages
default-composer-hdrs=

# Add these customized headers (and possible default values) when composing
customized-hdrs=

# When viewing messages, include this list of headers
viewer-hdrs=

# When viewing messages, number of blank spaces between left display edge and text
viewer-margin-left=

# When viewing messages, number of blank spaces between right display edge and text
viewer-margin-right=

# When viewing messages, number of lines of quote displayed before suppressing
quote-suppression-threshold=

# Determines default folder name for Saves...
# Choices: default-folder, by-sender, by-from, by-recipient, last-folder-used.
# Default: &amp;quot;default-folder&amp;quot;, i.e. &amp;quot;saved-messages&amp;quot; (Unix) or &amp;quot;SAVEMAIL&amp;quot; (PC).
saved-msg-name-rule=

# Determines default name for Fcc...
# Choices: default-fcc, by-recipient, last-fcc-used.
# Default: &amp;quot;default-fcc&amp;quot; (see also &amp;quot;default-fcc=&amp;quot; variable.)
fcc-name-rule=

# Sets presentation order of messages in Index. Choices:
# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.
# Order may be reversed by appending /Reverse. Default: &amp;quot;Arrival&amp;quot;.
sort-key=

# Sets presentation order of address book entries. Choices: dont-sort,
# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname
# Default: &amp;quot;fullname-with-lists-last&amp;quot;.
addrbook-sort-rule=

# Sets presentation order of folder list entries. Choices: alphabetical,
# alpha-with-dirs-last, alpha-with-dirs-first.
# Default: &amp;quot;alpha-with-directories-last&amp;quot;.
folder-sort-rule=

# Sets the default folder and collection offered at the Goto Command&amp;#039;s prompt.
goto-default-rule=

# Sets message which cursor begins on. Choices: first-unseen, first-recent,
# first-important, first-important-or-unseen, first-important-or-recent,
# first, last. Default: &amp;quot;first-unseen&amp;quot;.
incoming-startup-rule=

# Allows a default answer for the prune folder questions. Choices: yes-ask,
# yes-no, no-ask, no-no, ask-ask, ask-no. Default: &amp;quot;ask-ask&amp;quot;.
pruning-rule=

# Controls behavior when reopening an already open folder.
folder-reopen-rule=

# Style that MESSAGE INDEX is displayed in when threading.
threading-display-style=

# Style of THREAD INDEX or default MESSAGE INDEX when threading.
threading-index-style=

# When threading, character used to indicate collapsed messages underneath.
threading-indicator-character=

# When threading, character used to indicate expanded messages underneath.
threading-expanded-character=

# When threading, character used to indicate this is the last reply
# to the parent of this message.
threading-lastreply-character=

# Reflects capabilities of the display you have.
# If unset, the default is taken from your locale. That is usually the right
# thing to use. Typical alternatives include UTF-8, ISO-8859-x, and EUC-JP
# (where x is a number between 1 and 9).
display-character-set=

# Reflects capabilities of the keyboard you have.
# If unset, the default is to use the same value
# used for the display-character-set.
keyboard-character-set=

# Defaults to UTF-8. This is used for outgoing messages.
# It is usually correct to leave this unset.
posting-character-set=

# Defaults to nothing, which is equivalent to US-ASCII. This is used for
# unlabeled incoming messages. It is ok to leave this unset but if you receive
# unlabeled mail that is usually in some known character set, set that here.
unknown-character-set=

# Specifies the program invoked by ^_ in the Composer,
# or the &amp;quot;enable-alternate-editor-implicitly&amp;quot; feature.
editor=

# Specifies the program invoked by ^T in the Composer.
speller=

# Specifies the column of the screen where the composer should wrap.
composer-wrap-column=

# Specifies the string to insert when replying to a message.
reply-indent-string=

# Specifies the introduction to insert when replying to a message.
reply-leadin=

# Specifies the string to replace quotes with when viewing a message.
quote-replace-string=

# When these characters appear in the middle of a word in the composer
# the forward word function will stop at the first text following (as happens
# with SPACE characters by default)
composer-word-separators=

# Specifies the string to use when sending a  message with no to or cc.
empty-header-message=

# Program to view images (e.g. GIF or TIFF attachments).
image-viewer=

# If &amp;quot;user-domain&amp;quot; not set, strips hostname in FROM address. (Unix only)
use-only-domain-name=

# This variable takes a list of programs that message text is piped into
# after MIME decoding, prior to display.
display-filters=

# This defines a program that message text is piped into before MIME
# encoding, prior to sending
sending-filters=

# A list of alternate addresses the user is known by
alt-addresses=

# A list of keywords for use in categorizing messages
keywords=

# Characters which surround keywords in SUBJKEY token.
# Default is &amp;quot;{&amp;quot; &amp;quot;} &amp;quot;
keyword-surrounding-chars=

# Characters between subject and opening text in SUBJECTTEXT token.
# Default is &amp;quot; - &amp;quot;
opening-text-separator-chars=

# This is a list of formats for address books.  Each entry in the list is made
# up of space-delimited tokens telling which fields are displayed and in
# which order.  See help text
addressbook-formats=

# This gives a format for displaying the index.  It is made
# up of space-delimited tokens telling which fields are displayed and in
# which order.  See help text
index-format=

# The number of lines of overlap when scrolling through message text
viewer-overlap=

# Number of lines from top and bottom of screen where single
# line scrolling occurs.
scroll-margin=

# The number of seconds to sleep after writing a status message
status-message-delay=

# Number of times per-second to update busy cue messages
busy-cue-rate=

# The approximate number of seconds between checks for new mail
mail-check-interval=

# The approximate number of seconds between checks for new mail in folders
# other than the current folder and inbox.
# Default is same as mail-check-interval
mail-check-interval-noncurrent=

# The minimum number of seconds between checks for new mail in a Mail Drop.
# This is always effectively at least as large as the mail-check-interval
maildrop-check-minimum=

# For newsgroups accessed using NNTP, only messages numbered in the range
# lastmsg-range+1 to lastmsg will be considered
nntp-range=

# Full path and name of NEWSRC file
newsrc-path=

# Path and filename of news configuration&amp;#039;s active file.
# The default is typically &amp;quot;/usr/lib/news/active&amp;quot;.
news-active-file-path=

# Directory containing system&amp;#039;s news data.
# The default is typically &amp;quot;/var/spool/news&amp;quot;
news-spool-directory=

# Path and filename of the program used to upload text from your terminal
# emulator&amp;#039;s into Alpine&amp;#039;s composer.
upload-command=

# Text sent to terminal emulator prior to invoking the program defined by
# the upload-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the upload.
upload-command-prefix=

# Path and filename of the program used to download text via your terminal
# emulator from Alpine&amp;#039;s export and save commands.
download-command=

# Text sent to terminal emulator prior to invoking the program defined by
# the download-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the download.
download-command-prefix=

# Sets the search path for the mailcap configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mailcap-search-path=

# Sets the search path for the mimetypes configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mimetype-search-path=

# Sets the path for the system ssl certificates issued by a trusted
# certificate authority. Note that this could be a list of paths, if the same
# pinerc is used in different systems. Alpine always chooses the first one that
# it finds. Value must be an absolute path.
system-certs-path=

# Sets the path for the system ssl file container of certificates issued by a
# certificate authority. Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
system-certs-file=

# Sets the path for a file that contains certificates that a user trusts.
Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
user-certs-path=

# Sets the path for a file that contains certificates that a user trusts.
Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
user-certs-file=

# List of programs to open Internet URLs (e.g. http or ftp references).
url-viewers=

# List of directories that are preferred locations to save or export attachments.
default-directories=

# The maximum number of non-stayopen remote connections that Alpine will use
max-remote-connections=

# A list of folders that should be left open once opened (INBOX is implicit)
stay-open-folders=&amp;quot;&amp;quot;

# Sets the time in seconds that Alpine will attempt to open a network
# connection when checking for new unseen messages in an incoming folder.
#  The default is 5.
incoming-check-timeout=

# Sets the approximate number of seconds between checks for unseen messages
# in incoming folders. The default is 180.
incoming-check-interval=

# Sets the approximate number of seconds between checks for unseen messages
# for other than local or IMAP folders. The default is 180.
incoming-check-interval-secondary=

# List of incoming folders to check for unseen messages. The default if left
# blank is to check all incoming folders.
incoming-check-list=

# Specifies the number of dead letter files to keep when canceling.
dead-letter-files=

# Sets the filename for the newmail fifo (named pipe). Unix only.
newmail-fifo-path=

# Sets the width for the NewMail screen.
newmail-window-width=

# List of incoming msg folders besides INBOX, e.g. ={host2}inbox, {host3}inbox
# Syntax: optnl-label {optnl-imap-host-name}folder-path
incoming-folders=W2W {imap.123-reg.co.uk:993/ssl/user=john@wire2waves.co.uk}INBOX

# List of directories where saved-message folders may be. First one is
# the default for Saves. Example: Main {host1}mail/[], Desktop mail\[]
# Syntax: optnl-label {optnl-imap-hostname}optnl-directory-path[]
folder-collections=&amp;quot;W2W Folders&amp;quot; {imap.123-reg.co.uk:993/ssl/user=john@wire2waves.co.uk}[],
	PlusNet {imap.plus.net:993/user=gm4slv@gm4slv.plus.com/ssl}INBOX.[]

# List, only needed if nntp-server not set, or news is on a different host
# than used for NNTP posting. Examples: News *[] or News *{host3/nntp}[]
# Syntax: optnl-label *{news-host/protocol}[]
news-collections=

# List of file or path names for personal addressbook(s).
# Default: ~/.addressbook (Unix) or \PINE\ADDRBOOK (PC)
# Syntax: optnl-label path-name
address-book=

# List of file or path names for global/shared addressbook(s).
# Default: none
# Syntax: optnl-label path-name
global-address-book=

# Set by Alpine; controls beginning-of-month sent-mail pruning.
last-time-prune-questioned=122.9

# Set by Alpine; controls display of &amp;quot;new version&amp;quot; message.
last-version-used=6.24

# This names the path to an alternative program, and any necessary arguments,
# to be used in posting mail messages.  Example:
#                    /usr/lib/sendmail -oem -t -oi
# or,
#                    /usr/local/bin/sendit.sh
# The latter a script found in Alpine distribution&amp;#039;s contrib/util directory.
# NOTE: The program MUST read the message to be posted on standard input,
#       AND operate in the style of sendmail&amp;#039;s &amp;quot;-t&amp;quot; option.
sendmail-path=

# This names the root of the tree to which the user is restricted when reading
# and writing folders and files.  For example, on Unix ~/work confines the
# user to the subtree beginning with their work subdirectory.
# (Note: this alone is not sufficient for preventing access.  You will also
# need to restrict shell access and so on, see Alpine Technical Notes.)
# Default: not set (so no restriction)
operating-dir=

# If no user input for this many hours, Alpine will exit if in an idle loop
# waiting for a new command.  If set to zero (the default), then there will
# be no timeout.
user-input-timeout=

# Sets the time in seconds that Alpine will attempt to open a network
# connection.  The default is 30, the minimum is 5, and the maximum is
# system defined (typically 75).
tcp-open-timeout=

# Network read warning timeout. The default is 15, the minimum is 5, and the
# maximum is 1000.
tcp-read-warning-timeout=

# Network write warning timeout. The default is 0 (unset), the minimum
# is 5 (if not 0), and the maximum is 1000.
tcp-write-warning-timeout=

# If this much time has elapsed at the time of a tcp read or write
# timeout, Alpine will ask if you want to break the connection.
# Default is 60 seconds, minimum is 5, maximum is 1000.
tcp-query-timeout=

# If this much time has elapsed at the time of a tcp read or write timeout,
# Alpine will close the connection automatically without user intervention.
# Setting this value to zero (the default) disables this. Setting this variable
# to a smaller value than tcp-query-timeout will close the connection
# automatically, and you will never be asked if you want to wait.
close-connection-timeout=

# Sets the format of the command used to open a UNIX remote
# shell connection.  The default is &amp;quot;%s %s -l %s exec /etc/r%sd&amp;quot;
# NOTE: the 4 (four) &amp;quot;%s&amp;quot; entries MUST exist in the provided command
# where the first is for the command&amp;#039;s path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically &amp;quot;imap&amp;quot;)
rsh-command=

# Sets the name of the command used to open a UNIX remote shell connection.
# The default is typically /usr/ucb/rsh.
rsh-path=

# Sets the time in seconds that Alpine will attempt to open a UNIX remote
# shell connection.  The default is 15, min is 5, and max is unlimited.
# Zero disables rsh altogether.
rsh-open-timeout=

# Sets the format of the command used to open a UNIX secure
# shell connection.  The default is &amp;quot;%s %s -l %s exec /etc/r%sd&amp;quot;
# NOTE: the 4 (four) &amp;quot;%s&amp;quot; entries MUST exist in the provided command
# where the first is for the command&amp;#039;s path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically &amp;quot;imap&amp;quot;)
ssh-command=

# Sets the name of the command used to open a UNIX secure shell connection.
# Typically this is /usr/bin/ssh.
ssh-path=

# Sets the time in seconds that Alpine will attempt to open a UNIX secure
# shell connection.  The default is 15, min is 5, and max is unlimited.
# Zero disables ssh altogether.
ssh-open-timeout=

# Sets the version number Alpine will use as a threshold for offering
# its new version message on startup.
new-version-threshold=

# List of mail drivers to disable.
disable-these-drivers=

# List of SASL authenticators to disable.
disable-these-authenticators=

# A range in the form min,max that sets the minimum amd maximum versions of the
# SSL protocol that Alpine will use when connecting to a secure server.
encryption-protocol-range=

# Set by Alpine; contains data for caching remote address books.
remote-abook-metafile=

# How many extra copies of remote address book should be kept. Default: 3
remote-abook-history=

# Minimum number of minutes between checks for remote address book changes.
# 0 means never check except when opening a remote address book.
# -1 means never check. Default: 5
remote-abook-validity=

# Your default printer selection
printer=

# List of special print commands
personal-print-command=

# Which category default print command is in
personal-print-category=

# Your client-id and client-secret information to authenticate using XOAUTH2
xoauth2-info=

# Patterns and their actions are stored here.
patterns-roles=LIT:pattern=&amp;quot;/NICK=Wire2waves/FLDTYPE=SPEC/FOLDER={imap.123-reg.co.uk:993\/ssl\/user=john@wire2waves.co.uk}Personal,W2W&amp;quot; action=&amp;quot;/ROLE=1/FROM=John Pumford-Green &amp;lt;john@wire2waves.co.uk&amp;gt;/SMTP=smtp.123-reg.co.uk\/ssl\/user=john@wire2waves.co.uk/RTYPE=NC/FTYPE=NC/CTYPE=NC&amp;quot;

# Patterns and their actions are stored here.
patterns-filters2=

# Patterns and their actions are stored here.
patterns-scores2=

# Patterns and their actions are stored here.
patterns-indexcolors=

# Patterns and their actions are stored here.
patterns-other=

# Patterns and their actions are stored here.
patterns-search=

# Controls display of color
color-style=use-termdef

# Controls display of color for current index line
current-indexline-style=flip-colors

# Controls display of color for the titlebar at top of screen
titlebar-color-style=default

# Choose: black, blue, green, cyan, red, magenta, yellow, or white.
normal-foreground-color=255,255,255
normal-background-color=000,000,000
reverse-foreground-color=
reverse-background-color=
title-foreground-color=000,255,255
title-background-color=000,000,174
title-closed-foreground-color=
title-closed-background-color=
folder-foreground-color=
folder-background-color=
directory-foreground-color=
directory-background-color=
folder-list-text-foreground-color=
folder-list-text-background-color=
status-foreground-color=
status-background-color=
keylabel-foreground-color=000,255,255
keylabel-background-color=000,000,174
keyname-foreground-color=255,255,000
keyname-background-color=000,000,174
selectable-item-foreground-color=
selectable-item-background-color=
meta-message-foreground-color=
meta-message-background-color=
quote1-foreground-color=
quote1-background-color=
quote2-foreground-color=
quote2-background-color=
quote3-foreground-color=
quote3-background-color=
incoming-unseen-foreground-color=
incoming-unseen-background-color=
signature-foreground-color=
signature-background-color=
prompt-foreground-color=
prompt-background-color=
header-general-foreground-color=
header-general-background-color=
index-to-me-foreground-color=
index-to-me-background-color=
index-important-foreground-color=
index-important-background-color=
index-deleted-foreground-color=
index-deleted-background-color=
index-answered-foreground-color=255,255,255
index-answered-background-color=000,000,174
index-new-foreground-color=
index-new-background-color=
index-recent-foreground-color=
index-recent-background-color=
index-forward-foreground-color=
index-forward-background-color=
index-unseen-foreground-color=
index-unseen-background-color=
index-highpriority-foreground-color=
index-highpriority-background-color=
index-lowpriority-foreground-color=
index-lowpriority-background-color=
index-arrow-foreground-color=
index-arrow-background-color=
index-subject-foreground-color=
index-subject-background-color=
index-from-foreground-color=
index-from-background-color=
index-opening-foreground-color=
index-opening-background-color=

# Colors in which tokens will be displayed in the index screen
index-token-colors=

# When viewing messages, these are the header colors
viewer-hdr-colors=

# Colors used to display keywords in the index
keyword-colors=

# Public certificates are kept in files in this directory. The files should
# contain certificates in PEM format. The name of each file should look
# like &amp;lt;emailaddress&amp;gt;.crt. The default directory is .alpine-smime/public.
smime-public-cert-directory=

# If this option is set then public certificates are kept in a single container
# &amp;quot;file&amp;quot; similar to a remote configuration file instead of in the
# smime-publiccert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-public-cert-container=

# Private keys are kept in files in this directory. The files are in PEM format.
# The name of a file should look like &amp;lt;emailaddress&amp;gt;.key.
# The default directory is .alpine-smime/private.
smime-private-key-directory=

# If this option is set then private keys are kept in a single container
# &amp;quot;file&amp;quot; similar to a remote configuration file instead of in the
# private-key-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-private-key-container=

# Certificate Authority certificates (in addition to the normal CACerts for the
# system) are kept in files in this directory. The files are in PEM format.
# Filenames should end with .crt. The default directory is .alpine-smime/ca.
smime-cacert-directory=

# If this option is set then CAcerts are kept in a single container
# &amp;quot;file&amp;quot; similar to a remote configuration file instead of in the
# ca-cert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-cacert-container=

# LDAP servers for looking up addresses.
ldap-servers=

# RSS News feed
rss-news=

# RSS Weather feed
rss-weather=

# Web Alpine index table row height
wp-indexheight=

# Web Alpine number of index lines in table
wp-indexlines=

# Web Alpine aggregate operations tab state
wp-aggstate=

# Web Alpine various aspects of cross-session state
wp-state=

# Web Alpine preferred width for message display in characters
wp-columns=
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Alpine&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;alpine&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;52-25617&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;telnet&quot;&gt;telnet&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I&amp;#039;ve put telnetd on the shack box and telnet clients on anything that didn&amp;#039;t already have it. 
&lt;/p&gt;

&lt;p&gt;
SSH is great, but sometimes it&amp;#039;s nice to go back to simpler times…..
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;telnet&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;telnet&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;25618-25804&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ftp&quot;&gt;ftp&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
And the same for ftp….
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ftp&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ftp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;25805-25848&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;section_two&quot;&gt;Section Two&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 30/09/22 18:26&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Section Two&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section_two&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;25849-25918&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;25919-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>AntiX</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:antix</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;antix&quot;&gt;AntiX&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I&amp;#039;m testing a Live-USB Linux &lt;a href=&quot;https://antixlinux.com/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://antixlinux.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;**AntiX**&lt;/a&gt; on a Lenovo laptop that has always been sluggish running Windows 10 (and even running Debian from the HDD).
&lt;/p&gt;

&lt;p&gt;
I don&amp;#039;t know if the issue is related to the performance (speed/RAM etc) of the machine or to the HDD itself. To see how the machine performs separately from the HDD I&amp;#039;ll use AntiX for general web browsing and email for a few days and see how I find it.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;persistence&quot;&gt;Persistence&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I&amp;#039;ve set up &lt;code&gt;static root persistence&lt;/code&gt; to allow me to install and configure software, and save files etc. that remain after rebooting. This required setting up persistence :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;rootfs = 3GB
homefs = 3GB&lt;/pre&gt;

&lt;p&gt;
I installed &lt;code&gt;rwho&lt;/code&gt; and &lt;code&gt;rwhod&lt;/code&gt; to confirm new packages remained after reboot. I needed to change the default Live-USB user passwords to allow persistence to work - the first time I rebooted after setting up persistence I was forced to do so. I also added a new user, rather than stick with the Live-USB&amp;#039;s default of &lt;code&gt;demo&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;browser&quot;&gt;Browser&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I then installed &lt;code&gt;chromium&lt;/code&gt; as the preferred browser (instead of the default &lt;code&gt;seamonkey&lt;/code&gt;)
&lt;/p&gt;

&lt;p&gt;
To make it the menu-selected choice of browser I struggled to see how the menu item &lt;code&gt;desktop-defaults-run -b&lt;/code&gt; (&lt;code&gt;-b for  &lt;em class=&quot;u&quot;&gt;b&lt;/em&gt;rowser&lt;/code&gt;) was made to point to &lt;code&gt;chromium&lt;/code&gt; until I found one way (using the GUI control centre):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;menu
control centre
preferred applications
web-browser --&amp;gt; /usr/share/application/chromium.desktop&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;chromium&lt;/code&gt; does not allow syncing to a &lt;code&gt;google account&lt;/code&gt; any more, despite appearing to let you sign in to Google to initiate the sync.
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;ll stick with &lt;code&gt;chromium&lt;/code&gt; for this Live-USB version.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;Email?&lt;/code&gt; : not sure I need to go this far, unless it turns out to be much more user friendly than the Windows10 OS from the HDD.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mouse_touchpad&quot;&gt;Mouse Touchpad&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I hate “tap-click” on touchpads….
&lt;/p&gt;

&lt;p&gt;
add :
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# disable touchpad tapping for button1 &lt;/span&gt;
synclient &lt;span class=&quot;re2&quot;&gt;tapbutton1&lt;/span&gt;=-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
to &lt;code&gt;~/.desktop-session/startup&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;update&quot;&gt;Update&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
After a couple of hours of using AntiX for Websurfing, You Tube and Dokuwiki editing I&amp;#039;m happy at the speedy response….
&lt;/p&gt;

&lt;p&gt;
Let&amp;#039;s see how it performs for other things ….
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get install claws-mail&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;bashrc&quot;&gt;~/.bashrc&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Change default prompt to a single line, rather than split across 2 lines:
comment out default PS1 and copy/edit to look like :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;PS1=&amp;quot;$PURPLE\u$nc@$CYAN\H$nc:$GREEN\w$GREEN\$$nc &amp;quot;&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$UID&lt;/span&gt;&amp;quot;&lt;/span&gt; = &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;PS1&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$red&lt;/span&gt;\u&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt;@&lt;span class=&quot;es2&quot;&gt;$red&lt;/span&gt;\H&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt;:&lt;span class=&quot;es2&quot;&gt;$CYAN&lt;/span&gt;\w&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt;\&lt;span class=&quot;es1&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;es2&quot;&gt;$red&lt;/span&gt;#&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt; &amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    PS1=&amp;quot;$PURPLE\u$nc@$CYAN\H$nc:$GREEN\w$nc\\n$GREEN\$$nc &amp;quot;&lt;/span&gt;
    &lt;span class=&quot;re2&quot;&gt;PS1&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$PURPLE&lt;/span&gt;\u&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt;@&lt;span class=&quot;es2&quot;&gt;$CYAN&lt;/span&gt;\H&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt;:&lt;span class=&quot;es2&quot;&gt;$GREEN&lt;/span&gt;\w&lt;span class=&quot;es2&quot;&gt;$GREEN&lt;/span&gt;&lt;span class=&quot;es1&quot;&gt;\$&lt;/span&gt;&lt;span class=&quot;es2&quot;&gt;$nc&lt;/span&gt; &amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;desktop_choice&quot;&gt;Desktop Choice&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I prefer &lt;code&gt;fluxbox&lt;/code&gt; for low-resource linux machines, and I&amp;#039;m using the &lt;code&gt;zzz/fluxbox&lt;/code&gt; desktop which integrates the &lt;code&gt;zzzFM&lt;/code&gt; file-manager. The default &lt;em&gt;single-click-opens-files&lt;/em&gt; is annoying and I found the way to disable it is:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;right-click on the &amp;#039;&amp;#039;File Manager&amp;#039;&amp;#039; desktop icon, 
select &amp;#039;&amp;#039;Desktop Settings --&amp;gt; General&amp;#039;&amp;#039; tab and un-tick &amp;#039;&amp;#039;single-click open files&amp;#039;&amp;#039; 
and do the same on the &amp;#039;&amp;#039;Desktop&amp;#039;&amp;#039; tab.&lt;/pre&gt;

&lt;p&gt;
Page Updated: 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:antix&amp;amp;do=showtag&amp;amp;tag=antix&quot; class=&quot;wikilink1&quot; title=&quot;tag:antix&quot; rel=&quot;tag&quot;&gt;antix&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;AntiX&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;antix&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;16-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>DBUS &amp; Automount</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dbus_automount</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dbus_automount&quot;&gt;DBUS &amp;amp; Automount&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; Running X from &lt;code&gt;startx&lt;/code&gt; and making automount work &lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DBUS &amp;amp; Automount&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dbus_automount&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-107&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;background&quot;&gt;Background&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I don&amp;#039;t use a &lt;code&gt;DESKTOP ENVIRONMENT&lt;/code&gt; on Linux - I boot to a console and start X11 via the &lt;code&gt;startx&lt;/code&gt; command.
&lt;/p&gt;

&lt;p&gt;
This runs commands from &lt;code&gt;~/.xinitrc&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;xrdb &lt;span class=&quot;re5&quot;&gt;-load&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;.Xdefaults
setxkbmap &lt;span class=&quot;re5&quot;&gt;-layout&lt;/span&gt; gb
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; s noblank
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; s noexpose
&lt;span class=&quot;kw2&quot;&gt;xset&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-dpms&lt;/span&gt;
&amp;nbsp;
~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;background.sh &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
dwmblocks &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
xfce4-power-manager &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
pasystray &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
nm-applet &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; dwm&lt;/pre&gt;

&lt;p&gt;
My &lt;strong&gt;window manager&lt;/strong&gt; is &lt;code&gt;DWM&lt;/code&gt; and I don&amp;#039;t want/need all the extra stuff of a &lt;code&gt;desktop environment&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
I &lt;em&gt;&lt;strong&gt;would&lt;/strong&gt;&lt;/em&gt; however like to be able to &lt;code&gt;automount&lt;/code&gt; external USB drives rather than what I do currently
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;dmesg&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;#find drive device&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;xxxx &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;/pre&gt;

&lt;p&gt;
then copy files as necessary between &lt;code&gt;/mnt/xxxxx&lt;/code&gt; and the machine&amp;#039;s filesystem
&lt;/p&gt;

&lt;p&gt;
Afterwards….
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sync&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;umount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Background&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;background&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;108-934&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;graphical_file_manager&quot;&gt;Graphical File Manager&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I installed &lt;code&gt;Thunar&lt;/code&gt; along with &lt;code&gt;gvfs&lt;/code&gt; and all the additional stuff I &lt;em&gt;thought&lt;/em&gt; I needed (&lt;code&gt;gvfs-backends*&lt;/code&gt; etc).
&lt;/p&gt;

&lt;p&gt;
But Thunar complained that &lt;code&gt;it appears you don&amp;#039;t have gvfs&lt;/code&gt; or similar…
&lt;/p&gt;

&lt;p&gt;
I briefly tried installing the &lt;code&gt;MATE&lt;/code&gt; Desktop environment - and then spent a long time forcing it to use &lt;code&gt;DWM&lt;/code&gt; as window manager, and turning off as much as I could
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; uninstalled &lt;code&gt;caja&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; uninstalled &lt;code&gt;mate-panel&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; edited via &lt;code&gt;dconf-editor&lt;/code&gt; to make &lt;code&gt;dwm&lt;/code&gt; start as window manager….&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Then &lt;code&gt;Thunar&lt;/code&gt; &lt;em&gt;&lt;strong&gt;was&lt;/strong&gt;&lt;/em&gt; happy with &lt;code&gt;gvfs&lt;/code&gt; and would &lt;code&gt;automount&lt;/code&gt; a USB drive (or more importantly my Swiss Micros calculator&amp;#039;s USB drive).
&lt;/p&gt;

&lt;p&gt;
But I wasn&amp;#039;t happy with this as a solution - too messy and too much crap going on - messing up the appearance of GTK-aware apps like &lt;code&gt;claws-mail&lt;/code&gt; and &lt;code&gt;GNUCASH&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
I wanted to get back to simply running &lt;code&gt;DWM&lt;/code&gt; etc. without all the rest
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Graphical File Manager&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;graphical_file_manager&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;935-1859&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;dbus&quot;&gt;DBUS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
It appears the issue is that with my method of starting &lt;code&gt;X&lt;/code&gt; via &lt;code&gt;~/.xinitrc&lt;/code&gt; I fail to correctly start &lt;code&gt;DBUS&lt;/code&gt;. This needs to be started correctly in the setting up of an &lt;code&gt;X-session&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
The answer isn&amp;#039;t to add an invocation of &lt;code&gt;DBUS&lt;/code&gt; into my &lt;code&gt;~/.xinitrc&lt;/code&gt; as I first thought.
&lt;/p&gt;

&lt;p&gt;
The answer is to let &lt;code&gt;X11&lt;/code&gt; start via the &lt;strong&gt;SYSTEM&lt;/strong&gt; &lt;code&gt;xinitrc&lt;/code&gt; which only happens &lt;strong&gt;as long as I don&amp;#039;t have my own &lt;code&gt;~/.xinitrc&lt;/code&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Starting &lt;code&gt;X&lt;/code&gt; this way which will then run various other things, including &lt;code&gt;DBUS&lt;/code&gt;, as the &lt;code&gt;XSession&lt;/code&gt; is spun-up via &lt;code&gt;startx&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Then the process is finished by running my file &lt;code&gt;~/.xsession&lt;/code&gt; - which is actually just my &lt;code&gt;~/.xinitrc&lt;/code&gt; file renamed to &lt;code&gt;~/.xsession&lt;/code&gt;. 
&lt;/p&gt;

&lt;p&gt;
I found this at &lt;a href=&quot;https://momi.ca/posts/2021-10-11-startxdebian/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://momi.ca/posts/2021-10-11-startxdebian/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://momi.ca/posts/2021-10-11-startxdebian/&lt;/a&gt; which describes my own situation perfectly, and the solution works perfectly.
&lt;/p&gt;

&lt;p&gt;
I can still boot into a console session, and use &lt;code&gt;startx&lt;/code&gt; to switch to &lt;code&gt;DWM&lt;/code&gt; - and automount works for &lt;code&gt;Thunar&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DBUS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dbus&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1860-2839&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:dbus&amp;amp;do=showtag&amp;amp;tag=dbus&quot; class=&quot;wikilink1&quot; title=&quot;tag:dbus&quot; rel=&quot;tag&quot;&gt;dbus&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:startx&amp;amp;do=showtag&amp;amp;tag=startx&quot; class=&quot;wikilink1&quot; title=&quot;tag:startx&quot; rel=&quot;tag&quot;&gt;startx&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:thunar&amp;amp;do=showtag&amp;amp;tag=thunar&quot; class=&quot;wikilink1&quot; title=&quot;tag:thunar&quot; rel=&quot;tag&quot;&gt;thunar&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:automount&amp;amp;do=showtag&amp;amp;tag=automount&quot; class=&quot;wikilink1&quot; title=&quot;tag:automount&quot; rel=&quot;tag&quot;&gt;automount&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
Updated : 16/02/26 08:40 GMT
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2840-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 16 Feb 2026 08:40:39 +0000</pubDate>
        </item>
        <item>
            <title>DokuWiki Unison Backup</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_backup</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dokuwiki_unison_backup&quot;&gt;DokuWiki Unison Backup&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Using &lt;code&gt;unison&lt;/code&gt; to sync a copy of the full &lt;code&gt;dokuwiki&lt;/code&gt; data on the VPS to a Dropbox folder on my Shack PC, so that I have a backup copy, &lt;em&gt;in the cloud&lt;/em&gt; in case of disaster. I&amp;#039;d hate to lose all the work that goes into writing this stuff…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DokuWiki Unison Backup&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dokuwiki_unison_backup&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-283&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;config_files&quot;&gt;Config Files&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on the Shack PC create a &lt;code&gt;~/.unison/dokuwiki.prf&lt;/code&gt; file&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;root = &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Dropbox&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Documents&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki
root = ssh:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;gm4slv.org.uk&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki
sshargs = &lt;span class=&quot;re5&quot;&gt;-C&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
To account for making the laptop&amp;#039;s copy into a &lt;code&gt;git&lt;/code&gt; repository  I added: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ignore = Path .git&lt;/pre&gt;

&lt;p&gt;
to the laptop config (see &lt;a href=&quot;#github_repository&quot; title=&quot;public:computers:archive:dokuwiki_backup ↵&quot; class=&quot;wikilink1&quot;&gt;Github Repository&lt;/a&gt; )  — &lt;em&gt;John Pumford-Green 29/05/22 00:29&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on the VPS server create a similar &lt;code&gt;~/.unison/dokuwiki.prf&lt;/code&gt; file&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;root = &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki
root = ssh:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;gm4slv.plus.com:&lt;span class=&quot;nu0&quot;&gt;27659&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Dropbox&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Documents&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki
sshargs = &lt;span class=&quot;re5&quot;&gt;-C&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Config Files&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;config_files&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;284-907&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;first_run&quot;&gt;First Run&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Run the first time on the Shack PC to download the dokuwiki directory tree &lt;em&gt;from&lt;/em&gt; the VPS 
&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_57174af551d1af75af5c5b6f3b3ffc5a_1&quot;&gt;unison dokuwiki &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_57174af551d1af75af5c5b6f3b3ffc5a_1&quot;&gt;&lt;pre class=&quot;code&quot;&gt;gm4slv@laptop:~/.unison $ unison dokuwiki
Unison 2.51.3 (ocaml 4.11.1): Contacting server...
Connected [//gm4slv//var/www/html/dokuwiki -&amp;gt; //laptop//home/gm4slv/Dropbox/Docu                                                                                                 ments/dokuwiki]
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
        /home/gm4slv/Dropbox/Documents/dokuwiki
        //gm4slv//var/www/html/dokuwiki
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.

Update detection may take a while on this run if the replicas are
large.

Unison will assume that the &amp;#039;last synchronized state&amp;#039; of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.

If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations.  See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.

Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison


Press return to continue.[&amp;lt;spc&amp;gt;]
  Waiting for changes from server
Reconciling changes

local          gm4slv
         &amp;lt;---- file       .htaccess.dist  [f]
         &amp;lt;---- file       COPYING  [f]
         &amp;lt;---- file       README  [f]
         &amp;lt;---- file       VERSION  [f]
         &amp;lt;---- dir        bin  [f]
         &amp;lt;---- dir        conf  [f]
         &amp;lt;---- dir        data  [f]
         &amp;lt;---- file       doku.php  [f]
         &amp;lt;---- file       feed.php  [f]
         &amp;lt;---- dir        inc  [f]
         &amp;lt;---- file       index.php  [f]
         &amp;lt;---- file       install.php  [f]
         &amp;lt;---- dir        lib  [f]
         &amp;lt;---- dir        vendor  [f]

Proceed with propagating updates? [] y
Propagating updates

........
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Everything is downloaded from the VPS and saved in the Dropbox folder, from where it is uploaded to the &lt;em&gt;cloud&lt;/em&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;First Run&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;first_run&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;908-3362&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;future_runs&quot;&gt;Future runs...&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I could automate the process, using various command line switches to automatically &lt;em&gt;“do the right thing”&lt;/em&gt; without needing to answer Yes/No questions
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;unison -auto -batch -silent dokuwiki&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
and even put it in a cron job,  but for now just running it every now and again manually might be enough.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Future runs...&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;future_runs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3363-3692&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;restore_from_backup&quot;&gt;restore from backup&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
If the VPS version of the dokuwiki ever gets totally screwed up I can restore it by running the same script from the other side and chosing which direction to do the sync in ( shack → VPS ) 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on the VPS server&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;code&gt;unison dokuwkiki&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
which will pull the last sync&amp;#039;d version &lt;em&gt;from&lt;/em&gt; my backup &lt;em&gt;to&lt;/em&gt; my &lt;strong&gt;home&lt;/strong&gt; directory on the VPS ( i.e. not straight to &lt;code&gt;/var/www/html/dokuwiki&lt;/code&gt;) from where I can copy it back to the webserver directory. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;I can run this command regularly to keep a mirror of the Dropbox backup on the VPS in case I need it later.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
(&lt;em class=&quot;u&quot;&gt;update 28/5/22&lt;/em&gt;) I&amp;#039;ve added it to &lt;code&gt;crontab&lt;/code&gt; to run daily at 04:30:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
unison &lt;span class=&quot;re5&quot;&gt;-batch&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-auto&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-silent&lt;/span&gt; dokuwiki&lt;/pre&gt;

&lt;p&gt;
crontab:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;30 04 * * * /home/gm4slv/bin/dokuwiki_unison.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;restore from backup&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;restore_from_backup&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3693-4513&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;github_repository&quot;&gt;Github Repository&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I made a new github repository to hold the Dokuwiki folder tree, too. The &lt;code&gt;laptop / Dropbox&lt;/code&gt; backup, taken via Unison from the VPS server, is the local repository.
&lt;/p&gt;

&lt;p&gt;
The workflow to keep things backed up:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; on Shack Laptop&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; run unison to retrieve the current &lt;em&gt;production&lt;/em&gt; copy of the DokuWiki directory tree:&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt; unison -batch -auto dokuwiki &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; there was an error flagged → the &lt;code&gt;.git&lt;/code&gt; folder isn&amp;#039;t present on the VPS&amp;#039;s webserver root but &lt;em&gt;is&lt;/em&gt; in the unison backup directory on the laptop. &lt;em&gt;Just ignore it?&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; I found you can tell &lt;code&gt;unison&lt;/code&gt; to ignore the &lt;code&gt;.git&lt;/code&gt; folder by adding &lt;pre class=&quot;code&quot;&gt;ignore = Path .git&lt;/pre&gt;

&lt;p&gt;
 to the &lt;code&gt;prf&lt;/code&gt; config file on laptop — &lt;em&gt;John Pumford-Green 29/05/22 00:30&lt;/em&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; cd into &lt;code&gt;~/Dropbox/Documents/dokuwiki&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; add all files to git &lt;pre class=&quot;code&quot;&gt;git add .&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; commit &lt;pre class=&quot;code&quot;&gt;git commit -m &amp;quot;backup&amp;quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; push to github &lt;pre class=&quot;code&quot;&gt;git push&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; on VPS&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; in &lt;code&gt;home&lt;/code&gt; directory, run &lt;pre class=&quot;code&quot;&gt;unison -batch dokuwiki&lt;/pre&gt;

&lt;p&gt;
 to pull the &lt;code&gt;dropbox&lt;/code&gt; copy back to the VPS
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; copy the dokuwiki tree to &lt;code&gt;/var/www/html/&lt;/code&gt; (is &lt;code&gt;unison&lt;/code&gt; also useful here?) (or rsync &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_mirror&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dokuwiki_mirror&quot; data-wiki-id=&quot;public:computers:archive:dokuwiki_mirror&quot;&gt;Dokuwiki Mirror&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; in extremis it should be possible to simply clone the &lt;code&gt;github&lt;/code&gt; repository instead of using &lt;code&gt;unison&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Page Updated : 04/06/26 08:17 BST
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:vps&amp;amp;do=showtag&amp;amp;tag=vps&quot; class=&quot;wikilink1&quot; title=&quot;tag:vps&quot; rel=&quot;tag&quot;&gt;vps&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:dokuwiki&amp;amp;do=showtag&amp;amp;tag=dokuwiki&quot; class=&quot;wikilink1&quot; title=&quot;tag:dokuwiki&quot; rel=&quot;tag&quot;&gt;dokuwiki&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:unison&amp;amp;do=showtag&amp;amp;tag=unison&quot; class=&quot;wikilink1&quot; title=&quot;tag:unison&quot; rel=&quot;tag&quot;&gt;unison&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:github&amp;amp;do=showtag&amp;amp;tag=github&quot; class=&quot;wikilink1&quot; title=&quot;tag:github&quot; rel=&quot;tag&quot;&gt;github&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Github Repository&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;github_repository&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4514-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 07:17:50 +0000</pubDate>
        </item>
        <item>
            <title>Dokuwiki Mirror</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_mirror</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dokuwiki_mirror&quot;&gt;Dokuwiki Mirror&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I&amp;#039;m running a &lt;strong&gt;SANDBOX&lt;/strong&gt; installation of dokuwiki on the small headless server in have in the shack.
&lt;/p&gt;

&lt;p&gt;
This is to allow me to mess around with templates and layouts and things without impacting the &lt;em&gt;real&lt;/em&gt; wiki.
&lt;/p&gt;

&lt;p&gt;
To give it some data - a full mirror of the existing &lt;em&gt;real&lt;/em&gt; wiki - I&amp;#039;ve used &lt;code&gt;rsync&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--delete&lt;/span&gt; gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;gm4slv.org.uk:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
This copies the &lt;em&gt;production&lt;/em&gt; wiki into the web server root on the little &lt;em&gt;sandbox&lt;/em&gt; machine.
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteclassic&quot;&gt;&lt;strong&gt;UPDATE — &lt;em&gt;John Pumford-Green 27/04/23 05:53&lt;/em&gt;&lt;/strong&gt;
&lt;p&gt;
Added &lt;code&gt;–delete&lt;/code&gt; to the command, to remove pages in the Mirror copy that have been deleted from the VPS (production) server, to keep them properly in step.
&lt;/p&gt;

&lt;/div&gt;
&lt;p&gt;
I can then play around to my heart&amp;#039;s content.
&lt;/p&gt;

&lt;p&gt;
The same mechanism would work to retrieve/install the whole wiki from a  &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_backup&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dokuwiki_backup&quot; data-wiki-id=&quot;public:computers:archive:dokuwiki_backup&quot;&gt;backup&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;ve put it in a shell script:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;WEBDIR&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;SERVERDIR&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;SERVER&lt;/span&gt;=gm4slv.org.uk
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt;  rsync &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;ssh -l gm4slv -i /home/gm4slv/.ssh/id_rsa&amp;quot;&lt;/span&gt;  &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$SERVER&lt;/span&gt;:&lt;span class=&quot;re1&quot;&gt;$SERVERDIR&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$WEBDIR&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
This means I can automate the mirroring with &lt;code&gt;crontab&lt;/code&gt; of I wanted to, but it would mean the &lt;em&gt;sandbox&lt;/em&gt; will lose any local modifications I&amp;#039;ve done. Perhaps it&amp;#039;s best to keep the option to &lt;em&gt;revert to production version&lt;/em&gt; as something I do from time to time, rather then automatically.
&lt;/p&gt;

&lt;p&gt;
(UPDATE — &lt;em&gt;John Pumford-Green 30/05/22 19:37&lt;/em&gt; )
&lt;/p&gt;

&lt;p&gt;
Encrypted Password Plugin…. see &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:sandbox_server&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:sandbox_server&quot; data-wiki-id=&quot;public:computers:archive:sandbox_server&quot;&gt;Sandbox Server&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dokuwiki Mirror&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dokuwiki_mirror&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-1693&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 30/05/22 13:37&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Page last updated: 04/06/26 08:17 BST
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:dokuwiki&amp;amp;do=showtag&amp;amp;tag=dokuwiki&quot; class=&quot;wikilink1&quot; title=&quot;tag:dokuwiki&quot; rel=&quot;tag&quot;&gt;dokuwiki&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1694-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 07:17:18 +0000</pubDate>
        </item>
        <item>
            <title>Dropbox</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dropbox</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dropbox&quot;&gt;Dropbox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; Quitting Dropbox  &lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dropbox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dropbox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-64&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;thought_process&quot;&gt;Thought process&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I&amp;#039;ve had a Dropbox Plus account for many years, but lately I find I use it less and less, and it&amp;#039;s becoming bloated with useless features.
&lt;/p&gt;

&lt;p&gt;
I have other options for backup and easy access :
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dokuwiki (two separate wikis : personal and business) - accessible via web from anywhere - VPS has a 20GB hard drive for file storage&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPS directly - using rsync or Unison&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NAS - 2TB on home LAN (make accessible externally via HTTP?)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Google Drive - Free 15GB - sync with PC, Web, Phone - simpler replacement for Dropbox&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Photos from phone automatically back-up (low resolution) to Google Photos&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Download occasionally via USB to Shack Laptop then delete originals from phone&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; rsync from Shack Laptop → NAS1 &lt;code&gt;Pictures&lt;/code&gt; share&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Thought process&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;thought_process&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;65-842&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;steps&quot;&gt;Steps&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Move wanted &lt;em&gt;document&lt;/em&gt; files etc. from Dropbox to NAS, until up against the big “Pictures” folder….&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Delete large bulk of files (i.e. those already safe on NAS1) from Dropbox&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Start &lt;code&gt;caja-dropbox&lt;/code&gt; on shack laptop and allow it to sync the remaining files (predominantly &lt;code&gt;Pictures&lt;/code&gt; plus some remaining documents etc.)&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Once everything is on Shack Laptop or NAS box → stop &lt;code&gt;caja-dropbox&lt;/code&gt; on Laptop → delete Dropbox&amp;#039;s copies of everything needed to get below 2GB&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;rsync everything else to NAS1 from Shack Laptop&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Downgrade Dropbox account &lt;code&gt;cancel subscription&lt;/code&gt; → Confirm refund of this year&amp;#039;s subscription → when absolutely certain &lt;code&gt;Delete Dropbox account&lt;/code&gt;&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Steps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;steps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;843-1619&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;plus_side&quot;&gt;Plus Side&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; This Laptop now seems not to get bogged down every time you do anything, once Dropbox is gone!&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 02/05/23 08:28&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Plus Side&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;plus_side&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1620-1789&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1790-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Code &amp; Command Snippets</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:gists</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;code_command_snippets&quot;&gt;Code &amp;amp; Command Snippets&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Code &amp;amp; Command Snippets&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;code_command_snippets&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-55&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;windows_wifi_disconnect&quot;&gt;Windows WiFi Disconnect&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Windows will disconnect a WIFI connection when it discovers there&amp;#039;s no WAN internet - presumably Windows thinks ALL networks are connected to the Internet and this prevents using WIFI for an isolated LAN, and also throws you off the WLAN whenever the ADSL connection fails, even when you&amp;#039;re busy using only internal LAN sessions. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;THIS IS WRONG BEHAVIOUR.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
I found a solution, and typically it&amp;#039;s a REGEDIT task:
&lt;/p&gt;

&lt;p&gt;
From : &lt;a href=&quot;https://superuser.com/questions/1650052/how-to-keep-windows-10-connected-to-wifi-without-internet&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://superuser.com/questions/1650052/how-to-keep-windows-10-connected-to-wifi-without-internet&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://superuser.com/questions/1650052/how-to-keep-windows-10-connected-to-wifi-without-internet&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Add a Registry DWORD “NoActiveProbe” value “1” at &lt;code&gt;Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Job Done. You stay on your LAN even when the interwebs is down. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Agists&amp;amp;media=public:computers:screenshot_2024-03-26_20.19.56.png&quot; class=&quot;media&quot; title=&quot;public:computers:screenshot_2024-03-26_20.19.56.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=409612&amp;amp;media=public:computers:screenshot_2024-03-26_20.19.56.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows WiFi Disconnect&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows_wifi_disconnect&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;56-902&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;chrome_redirects&quot;&gt;Chrome redirects&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To remove a “permanent redirect” - e.g. from an &lt;code&gt;http&lt;/code&gt; to an &lt;code&gt;https&lt;/code&gt; URL - I found the answer here:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.neilwithdata.com/chrome-redirect-forget&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.neilwithdata.com/chrome-redirect-forget&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.neilwithdata.com/chrome-redirect-forget&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Open the Chrome Developer Tools (F12)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Go to the Network tab and make sure Disable cache is ticked&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Reload (or navigate to) the page you no longer want to be redirected while keeping the dev tools open.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 27/04/23 06:12&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Chrome redirects&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chrome_redirects&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;903-1351&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;vim_pasting&quot;&gt;Vim Pasting&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I recently had problems pasting text into Vim by the traditional &lt;kbd class=&quot;__keyboard&quot;&gt;RIGHT&lt;/kbd&gt; click method. Vim would enter &lt;code&gt;Insert(VISUAL)&lt;/code&gt; mode instead.
&lt;/p&gt;

&lt;p&gt;
One solution when using &lt;code&gt;Putty&lt;/code&gt; is to use its own mechanism :
&lt;/p&gt;

&lt;p&gt;
&lt;kbd class=&quot;__keyboard&quot;&gt;SHIFT&lt;/kbd&gt;+&lt;kbd class=&quot;__keyboard&quot;&gt;INS&lt;/kbd&gt;
&lt;/p&gt;

&lt;p&gt;
I prefer to use &lt;kbd class=&quot;__keyboard&quot;&gt;RIGHT&lt;/kbd&gt; click, as it&amp;#039;s more natural so I found the solution is to add
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; mouse-=a&lt;/pre&gt;

&lt;p&gt;
to &lt;code&gt;~/.vimrc&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
This solves the problem, and I don&amp;#039;t need to use &lt;code&gt;nano&lt;/code&gt; when editing text files on my remote server via &lt;code&gt;SSH&lt;/code&gt; using Putty.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vim Pasting&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vim_pasting&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1352-1885&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;raspberry_pi_stuff&quot;&gt;Raspberry Pi Stuff&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; find Raspberry Pi Model : &lt;code&gt;cat /sys/firmware/devicetree/base/model&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mount a raspberry pi image&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; losetup &lt;span class=&quot;re5&quot;&gt;-Pf&lt;/span&gt; igate.img
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ lsblk
NAME      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0       &lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;   4.3G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; loop
├─loop0p1 &lt;span class=&quot;nu0&quot;&gt;259&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;   256M  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
└─loop0p2 &lt;span class=&quot;nu0&quot;&gt;259&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;     4G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
sda         &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; 298.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; disk
├─sda1      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; 235.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
├─sda2      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;     1K  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
├─sda3      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;  50.9G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
└─sda5      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;  12.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;SWAP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
sr0        &lt;span class=&quot;nu0&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;  1024M  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; rom
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;loop0p2 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; remove mounted image&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;umount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; losetup &lt;span class=&quot;re5&quot;&gt;-D&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Raspberry Pi Stuff&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;raspberry_pi_stuff&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1886-2710&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;git&quot;&gt;Git&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
 Basic Workflow
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; do all changes to code&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;git add .&lt;/code&gt; to add changed files to staging&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;git commit -m “commit message” &lt;/code&gt; to do the commit&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;git push&lt;/code&gt; to push new commits to &lt;code&gt;github&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Git&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;git&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2711-2930&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;windows_host_file&quot;&gt;Windows Host File&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Start  → Windows Accessories → Notepad → &amp;lt;right click&amp;gt; … more…Run as Administrator&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; edit &lt;code&gt;C:\Windows\System32\drivers\etc\hosts&lt;/code&gt; (set &lt;code&gt;All files&lt;/code&gt; rather than &lt;code&gt;txt&lt;/code&gt; to be able to see the &lt;code&gt;hosts&lt;/code&gt; file in the file chooser)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Save&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows Host File&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows_host_file&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2931-3213&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;auto_ssh_tunnels&quot;&gt;Auto SSH Tunnels&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Used on remote installations to create persistent SSH &lt;code&gt;reverse&lt;/code&gt; tunnels. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Auto SSH Tunnels&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auto_ssh_tunnels&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3214-3320&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;an_example&quot;&gt;An example&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:radio:topics:svxlink:svx&quot; class=&quot;wikilink1&quot; title=&quot;public:radio:topics:svxlink:svx&quot; data-wiki-id=&quot;public:radio:topics:svxlink:svx&quot;&gt;svxlink hotspot&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;An example&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;an_example&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3321-3380&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Page created Thu May 26 14:00:21 2022 by John Pumford-Green
&lt;/p&gt;

&lt;p&gt;
Page last updated: 04/06/26 21:03 BST
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:pi&amp;amp;do=showtag&amp;amp;tag=pi&quot; class=&quot;wikilink1&quot; title=&quot;tag:pi&quot; rel=&quot;tag&quot;&gt;pi&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3381-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 20:03:26 +0000</pubDate>
        </item>
        <item>
            <title>Github Config File Repos</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:github</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;github_config_file_repos&quot;&gt;Github Config File Repos&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
 &lt;em&gt;&lt;a href=&quot;mailto:&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#64;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#46;&amp;#112;&amp;#108;&amp;#117;&amp;#115;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot; class=&quot;mail&quot; title=&quot;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#64;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#46;&amp;#112;&amp;#108;&amp;#117;&amp;#115;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot;&gt;John Pumford-Green&lt;/a&gt; Tue May  3 20:09:19 2022&lt;/em&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; New GitHub account &lt;a href=&quot;https://github.com/gm4slv&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://github.com/gm4slv&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/gm4slv&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upload ssh ip_rsa.pub to Git account&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; create GitHub repository for each machine (more later)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Create a “backup” folder hierarchy &lt;code&gt;~/backup/config/&lt;/code&gt;, &lt;code&gt;~/backup/data/&lt;/code&gt; and &lt;code&gt;~/backup/bin/&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; create Git repository in the &lt;code&gt;~/backup/data/&lt;/code&gt; directory &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; put script in &lt;code&gt;~/backup/bin/copy_files.sh&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Inspired by : &lt;a href=&quot;https://helgeklein.com/blog/linux-config-file-version-control-backup-on-github/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://helgeklein.com/blog/linux-config-file-version-control-backup-on-github/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://helgeklein.com/blog/linux-config-file-version-control-backup-on-github/&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Remove all previously copied files and folders (excluding metadata) in the current (backup) directory&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;find&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;backup&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data &lt;span class=&quot;re5&quot;&gt;-maxdepth&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-mindepth&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-not&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-iname&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;.git&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-not&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-iname&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;.ssh&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;xargs&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-run-if-empty&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-r&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Copy the files and directories on the list to the current (backup) directory&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# xargs does not start a shell, so we need to do it ourselves or globbing won&#039;t be available&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Enable globstar (two asterisks = recurse into subdirectories) and include files starting with a dot in filename expansion&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;backup&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;config&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;backup_src.txt &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;xargs&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-I&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;shopt -s globstar dotglob; cp --parents -R % .&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; put list of files to be git-backed up in &lt;code&gt;~/backup/config/backup_src.txt&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;hosts
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;resolv.conf
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;codeplugs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;python_lost_found&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; put another script &lt;code&gt;~/git_backup.sh&lt;/code&gt; in home directory, to fire it all off in the correct order&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DATE&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;c&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;backup&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;data
..&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;copy_files.sh
&lt;span class=&quot;kw2&quot;&gt;git add&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--all&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;git commit&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;updated &lt;span class=&quot;es2&quot;&gt;$DATE&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;git push&lt;/span&gt;
&amp;nbsp;&lt;/pre&gt;

&lt;p&gt;
Page Updated : 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:github&amp;amp;do=showtag&amp;amp;tag=github&quot; class=&quot;wikilink1&quot; title=&quot;tag:github&quot; rel=&quot;tag&quot;&gt;github&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Another diversion... I3 Tiling WM</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:i3wm2</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;another_diversion_i3_tiling_wm&quot;&gt;Another diversion... I3 Tiling WM&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 09/10/22 13:58&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
After setting up Alpine and some other console-mode software I got the urge to try going back to another window manager I&amp;#039;ve played with in the past - &lt;a href=&quot;https://i3wm.org/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://i3wm.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt; I3 WM&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I used it on my touchscreen Raspberry Pi that used to live in the LandRover as a control panel for the Icom IC-M710 HF radio - as it&amp;#039;s good for simple mouse-less control.
&lt;/p&gt;

&lt;p&gt;
I delved into the usual round of other tiling WMs:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; I3&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DWM&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Herbstluftwm (HLWM)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
After setting up some things on I3 to work the way I wanted I didn&amp;#039;t see the need to re-invent the wheel by spending time learning/configuring DWM or HLWM so I&amp;#039;ve settled on I3
&lt;/p&gt;

&lt;p&gt;
There are some snippets of info and configs on a page in the Wiki:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:i3_window_manager&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:i3_window_manager&quot; data-wiki-id=&quot;public:computers:archive:i3_window_manager&quot;&gt;I3 Window Manager&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I have it setup on my laptop which runs Antix Linux from a USB memory stick, without using the Hard Drive, and with Persistent Storage working well it&amp;#039;s a great, fast and responsive, Linux-on-the-desktop user machine. I&amp;#039;m limited by how much software can be installed, as it all has to fit in 3GB of RAM once it boots. There&amp;#039;s some USB storage available for data/documents etc. too.
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;m also setting I3 up on the old laptop I have in the shed as my main fixed machine - which is where I&amp;#039;m learning to write 6502 Assembly, and using I3 tiling WM is great for this - one large tile can have a VIM session to edit the source code, smaller tiles with terminal/shell can be used to assemble the code and to write/burn it to EEPROM, and to handle GIT commits/uploads to GITHUB.
&lt;/p&gt;

&lt;p&gt;
Linux is just &lt;em&gt;so&lt;/em&gt; versatile!
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 07:18:16 +0000</pubDate>
        </item>
        <item>
            <title>I3 Window Manager</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:i3_window_manager</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;i3_window_manager&quot;&gt;I3 Window Manager&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; Various Things related to I3 &lt;/strong&gt;
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;group wrap__dark plugin_wrap&quot;&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_half wrap_column wrap__dark plugin_wrap&quot;&gt;
&lt;p&gt;
Background &amp;amp; Conky
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Ai3_window_manager&amp;amp;media=public:computers:2022-10-09-131610_1440x900_scrot.png&quot; class=&quot;media&quot; title=&quot;public:computers:2022-10-09-131610_1440x900_scrot.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=35dd39&amp;amp;media=public:computers:2022-10-09-131610_1440x900_scrot.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_half wrap_column wrap__dark plugin_wrap&quot;&gt;
&lt;p&gt;
Some tiled windows
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Ai3_window_manager&amp;amp;media=public:computers:2022-10-08-204455_1440x900_scrot.png&quot; class=&quot;media&quot; title=&quot;public:computers:2022-10-08-204455_1440x900_scrot.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=c1bc1a&amp;amp;media=public:computers:2022-10-08-204455_1440x900_scrot.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;group wrap__dark plugin_wrap&quot;&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_half wrap_column wrap__dark plugin_wrap&quot;&gt;
&lt;p&gt;
Floating scratchpad terminal with &lt;code&gt;ranger&lt;/code&gt; file manager
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Ai3_window_manager&amp;amp;media=public:computers:2022-10-09-132014_1440x900_scrot.png&quot; class=&quot;media&quot; title=&quot;public:computers:2022-10-09-132014_1440x900_scrot.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=8e9f98&amp;amp;media=public:computers:2022-10-09-132014_1440x900_scrot.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_half wrap_column wrap__dark plugin_wrap&quot;&gt;
&lt;p&gt;
Floating scratchpad terminal with &lt;code&gt;Alpine&lt;/code&gt; email client
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Ai3_window_manager&amp;amp;media=public:computers:2022-10-09-133519_1440x900_scrot.png&quot; class=&quot;media&quot; title=&quot;public:computers:2022-10-09-133519_1440x900_scrot.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=7eddfc&amp;amp;media=public:computers:2022-10-09-133519_1440x900_scrot.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;I3 Window Manager&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;i3_window_manager&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-655&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;i3_config_and_tweaks&quot;&gt;I3 Config and tweaks&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;autotile&quot;&gt;Autotile&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Make new windows be created in alternating &lt;code&gt;horizontal&lt;/code&gt; / &lt;code&gt;vertical&lt;/code&gt; arrangement, depending on aspect ratio of the current window.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/nwg-piotr/autotiling&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://github.com/nwg-piotr/autotiling&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/nwg-piotr/autotiling&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Ai3_window_manager&amp;amp;media=public:computers:2022-10-09-132505_1440x900_scrot.png&quot; class=&quot;media&quot; title=&quot;public:computers:2022-10-09-132505_1440x900_scrot.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=4583e6&amp;amp;media=public:computers:2022-10-09-132505_1440x900_scrot.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;i3_config_file&quot;&gt;I3 Config File&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_aa0642f8e44b4a219db8d085bf394263_1&quot;&gt;config &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_aa0642f8e44b4a219db8d085bf394263_1&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# This file has been auto-generated by i3-config-wizard(1).&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# It will not be overwritten, so edit it as you like.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Should you change your keyboard layout some time, delete&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# this file and re-run i3-config-wizard(1).&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# i3 config file (v4)&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Please see https://i3wm.org/docs/userguide.html for a complete reference!&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt; Mod4
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Font for window titles. Will also be used by the bar unless a different font&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# is used in the bar {} block below.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#font pango:monospace 8&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# This font is widely installed, provides lots of unicode glyphs, right-to-left&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# text rendering and scalability on retina/hidpi displays (thanks to pango).&lt;/span&gt;
font pango:DejaVu Sans &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
default_border normal &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;
hide_edge_borders none
binding_mode_indicator &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#set $bg-color #2f446f&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#set $inactive-bg-color #2f343f&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#set $text-color #ffb25a&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#set $inactive-text_color #676e7d&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#set $urgent-bg-color #bd2c40&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#client.focused $bg-color $bg-color $text-color #2255ff&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#client.unfocused $inactive-bg-color $bg-color $text-color #225ff&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #2255ff&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#client.urgent $urgent-bg-color $urgent-bg-color $text_color #2255ff&lt;/span&gt;
&amp;nbsp;
workspace_auto_back_and_forth &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# The combination of xss-lock, nm-applet and pactl is a popular choice, so&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# they are included here as an example. Modify as you see fit.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# screen before suspend. Use loginctl lock-session to lock your screen.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# NetworkManager is the most popular way to manage wireless networks on Linux,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# and nm-applet is a desktop environment-independent system tray GUI for it.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#exec --no-startup-id nm-applet&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; synclient &lt;span class=&quot;re2&quot;&gt;tapbutton1&lt;/span&gt;=-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;noblank.sh
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; conky
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; xsetroot &lt;span class=&quot;re5&quot;&gt;-solid&lt;/span&gt; midnightblue
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;background.sh
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#exec --no-startup-id polybar example&lt;/span&gt;
&amp;nbsp;
exec_always &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; autotile
&lt;span class=&quot;co0&quot;&gt;#exec_always --no-startup-id ~/autosplit&lt;/span&gt;
&amp;nbsp;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+p &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;promote-window
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Use pactl to adjust volume in PulseAudio.&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$refresh_i3status&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;killall&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-SIGUSR1&lt;/span&gt; i3status
bindsym XF86AudioRaiseVolume &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; pactl set-sink-volume &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;DEFAULT_SINK&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt; +&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$refresh_i3status&lt;/span&gt;
bindsym XF86AudioLowerVolume &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; pactl set-sink-volume &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;DEFAULT_SINK&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt; -&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$refresh_i3status&lt;/span&gt;
bindsym XF86AudioMute &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; pactl set-sink-mute &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;DEFAULT_SINK&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt; toggle &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$refresh_i3status&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle &amp;amp;&amp;amp; $refresh_i3status&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#bindsym XF86AudioMute exec amixer sset &#039;Master&#039; toggle&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym XF86AudioLowerVolume exec amixer sset &#039;Master&#039; 5%-&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym XF86AudioRaiseVolume exec amixer sset &#039;Master&#039; 5%+&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Use Mouse+$mod to drag floating windows to their wanted position&lt;/span&gt;
floating_modifier &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# start a terminal&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym $mod+Return exec i3-sensible-terminal&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Return &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; lxterminal
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# kill focused window&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+q &lt;span class=&quot;kw3&quot;&gt;kill&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# start dmenu (a program launcher)&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+d &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; dmenu_run
&lt;span class=&quot;co0&quot;&gt;# A more modern dmenu replacement is rofi:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# bindcode $mod+40 exec &amp;quot;rofi -modi drun,run -show drun&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# There also is i3-dmenu-desktop which only displays applications shipping a&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# .desktop file. It is a wrapper around dmenu, so you need that installed.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# change focus&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+h focus left
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+j focus down
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+k focus up
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+l focus right
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# alternatively, you can use the cursor keys:&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Left focus left
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Down focus down
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Up focus up
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Right focus right
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# move focused window&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+h move left
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+j move down
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+k move up
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+l move right
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# alternatively, you can use the cursor keys:&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+Left move left
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+Down move down
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+Up move up
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+Right move right
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# split in horizontal orientation&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym $mod+h split h&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# split in vertical orientation&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym $mod+v split v&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# enter fullscreen mode for the focused container&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+f fullscreen toggle
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# change container layout (stacked, tabbed, toggle split)&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+s layout stacking
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;kw2&quot;&gt;w&lt;/span&gt; layout tabbed
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+e layout toggle &lt;span class=&quot;kw2&quot;&gt;split&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# toggle tiling / floating&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+space floating toggle
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# change focus between tiling / floating windows&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+space focus mode_toggle
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# focus the parent container&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+a focus parent
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# focus the child container&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#bindsym $mod+d focus child&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Define names for default workspaces for which we configure key bindings later on.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# We use variables to avoid repeating the names in multiple places.&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws1&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws2&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;2&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws3&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;3&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws4&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;4&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws5&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;5&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws6&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;6&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws7&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;7&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws8&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;8&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws9&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;9&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$ws10&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;10&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# switch to workspace&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws1&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws2&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws3&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws4&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws5&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws6&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws7&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws8&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws9&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; workspace number &lt;span class=&quot;re1&quot;&gt;$ws10&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# move focused container to workspace&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws1&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws2&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws3&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws4&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws5&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws6&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws7&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws8&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws9&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; move container to workspace number &lt;span class=&quot;re1&quot;&gt;$ws10&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# reload the configuration file&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+c reload
&lt;span class=&quot;co0&quot;&gt;# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+r restart
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+x &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; i3lock
&lt;span class=&quot;co0&quot;&gt;# exit i3 (logs you out of your X session)&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+e &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;i3-nagbar -t warning -m &#039;You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.&#039; -B &#039;Yes, exit i3&#039; &#039;i3-msg exit&#039;&amp;quot;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;##############################&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#  Program Shortcuts&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;##############################&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# &amp;quot;b&amp;quot; for &amp;quot;browser&amp;quot;&lt;/span&gt;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+b &lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; firefox
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;##############################&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#  SCRATCHPAD&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;###############################&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$scratchpad&lt;/span&gt;-size &lt;span class=&quot;nu0&quot;&gt;1000&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;700&lt;/span&gt;
&amp;nbsp;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+Shift+minus move scratchpad
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+minus scratchpad show
&amp;nbsp;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+m &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;AlpineMail&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; scratchpad show ; move position center
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+n &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;NewsboatReader&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; scratchpad show ; move position center
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+comma &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;RangerFM&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; scratchpad show ; move position center
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+period &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Connman&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; scratchpad show ; move position center
&amp;nbsp;
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; lxterminal &lt;span class=&quot;re5&quot;&gt;-T&lt;/span&gt; AlpineMail &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;rpine 
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; lxterminal &lt;span class=&quot;re5&quot;&gt;-T&lt;/span&gt; NewsboatReader &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;newsboat
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; lxterminal &lt;span class=&quot;re5&quot;&gt;-T&lt;/span&gt; RangerFM &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; ranger
&lt;span class=&quot;kw3&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--no-startup-id&lt;/span&gt; cmst &lt;span class=&quot;re5&quot;&gt;-M&lt;/span&gt;
&amp;nbsp;
for_window &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Connman System Tray&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; floating &lt;span class=&quot;kw3&quot;&gt;enable&lt;/span&gt;, resize &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$scratchpad&lt;/span&gt;-size, move scratchpad
for_window &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;AlpineMail&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; floating &lt;span class=&quot;kw3&quot;&gt;enable&lt;/span&gt;, resize &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$scratchpad&lt;/span&gt;-size, move scratchpad
for_window &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;NewsboatReader&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; floating &lt;span class=&quot;kw3&quot;&gt;enable&lt;/span&gt;, resize &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$scratchpad&lt;/span&gt;-size, move scratchpad 
for_window &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;RangerFM&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; floating &lt;span class=&quot;kw3&quot;&gt;enable&lt;/span&gt;, resize &lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$scratchpad&lt;/span&gt;-size, move scratchpad 
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;################################################&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# resize window (you can also use the mouse for that)&lt;/span&gt;
mode &lt;span class=&quot;st0&quot;&gt;&amp;quot;resize&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;co0&quot;&gt;# These bindings trigger as soon as you enter the resize mode&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co0&quot;&gt;# Pressing left will shrink the window’s width.&lt;/span&gt;
        &lt;span class=&quot;co0&quot;&gt;# Pressing right will grow the window’s width.&lt;/span&gt;
        &lt;span class=&quot;co0&quot;&gt;# Pressing up will shrink the window’s height.&lt;/span&gt;
        &lt;span class=&quot;co0&quot;&gt;# Pressing down will grow the window’s height.&lt;/span&gt;
        bindsym j resize shrink width &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym k resize grow height &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym l resize shrink height &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym semicolon resize grow width &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
&amp;nbsp;
        &lt;span class=&quot;co0&quot;&gt;# same bindings, but for the arrow keys&lt;/span&gt;
        bindsym Left resize shrink width &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym Down resize grow height &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym Up resize shrink height &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
        bindsym Right resize grow width &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; px or &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; ppt
&amp;nbsp;
        &lt;span class=&quot;co0&quot;&gt;# back to normal: Enter or Escape or $mod+r&lt;/span&gt;
        bindsym Return mode &lt;span class=&quot;st0&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
        bindsym Caps_Lock mode &lt;span class=&quot;st0&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
        bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+r mode &lt;span class=&quot;st0&quot;&gt;&amp;quot;default&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
bindsym &lt;span class=&quot;re1&quot;&gt;$mod&lt;/span&gt;+r mode &lt;span class=&quot;st0&quot;&gt;&amp;quot;resize&amp;quot;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Start i3bar to display a workspace bar (plus the system information i3status&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# finds out, if available)&lt;/span&gt;
bar &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
     font pango:DejaVu Sans mono &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
     status_command i3status &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; ~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;i3status.conf
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h4 id=&quot;i3status_bar&quot;&gt;i3status bar&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_aa0642f8e44b4a219db8d085bf394263_2&quot;&gt;i3status.conf &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_aa0642f8e44b4a219db8d085bf394263_2&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# i3status configuration file.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# see &amp;quot;man i3status&amp;quot; for documentation.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# It is important that this file is edited as UTF-8.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# The following line should contain a sharp s:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# ß&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# If the above line is not correctly displayed, fix your editor first!&lt;/span&gt;
&amp;nbsp;
general &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        colors = &lt;span class=&quot;kw2&quot;&gt;true&lt;/span&gt;
        interval = &lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#order += &amp;quot;ipv6&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;wireless _first_&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;ethernet _first_&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;battery 0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#order += &amp;quot;disk /&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;load&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;cpu_usage&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;cpu_temperature 0&amp;quot;&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#order += &amp;quot;memory&amp;quot;&lt;/span&gt;
order += &lt;span class=&quot;st0&quot;&gt;&amp;quot;tztime local&amp;quot;&lt;/span&gt;
&amp;nbsp;
wireless _first_ &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        format_up = &lt;span class=&quot;st0&quot;&gt;&amp;quot;W: (%quality at %essid) %ip&amp;quot;&lt;/span&gt;
        format_down = &lt;span class=&quot;st0&quot;&gt;&amp;quot;W: down&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
ethernet _first_ &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        format_up = &lt;span class=&quot;st0&quot;&gt;&amp;quot;E: %ip (%speed)&amp;quot;&lt;/span&gt;
        format_down = &lt;span class=&quot;st0&quot;&gt;&amp;quot;E: down&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
battery &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	status_chr = &lt;span class=&quot;st0&quot;&gt;&amp;quot;⚡&amp;quot;&lt;/span&gt;
        status_bat = &lt;span class=&quot;st0&quot;&gt;&amp;quot;🔋&amp;quot;&lt;/span&gt;
        status_unk = &lt;span class=&quot;st0&quot;&gt;&amp;quot;? &amp;quot;&lt;/span&gt;
        status_full = &lt;span class=&quot;st0&quot;&gt;&amp;quot;☻ &amp;quot;&lt;/span&gt;
	low_threshold = &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
        format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;B: %status %percentage %remaining&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
disk &lt;span class=&quot;st0&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;%avail&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
load &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;L: %1min&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
cpu_temperature &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;T: %degrees°C&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
cpu_usage &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;CPU0 %cpu0 / CPU1 %cpu1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
memory &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	memory_used_method = &lt;span class=&quot;st0&quot;&gt;&amp;quot;classical&amp;quot;&lt;/span&gt;
        format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;%free / %used&amp;quot;&lt;/span&gt;
	threshold_degraded = &lt;span class=&quot;st0&quot;&gt;&amp;quot;2G&amp;quot;&lt;/span&gt;
        format_degraded = &lt;span class=&quot;st0&quot;&gt;&amp;quot;MEMORY &amp;lt; %available&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
tztime &lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        format = &lt;span class=&quot;st0&quot;&gt;&amp;quot;%Y-%m-%d %H:%M&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h4 id=&quot;conky&quot;&gt;Conky&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_aa0642f8e44b4a219db8d085bf394263_3&quot;&gt;.conkyrc &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_aa0642f8e44b4a219db8d085bf394263_3&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# Standard antiX .conkyrc file&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# For conky editing help and commands visit = Casey&#039;s Conky Reference with Examples {http://www.ifxgroup.net/conky.htm}&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# set to yes if you want Conky to be forked in the background&lt;/span&gt;
background &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
short_units &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
cpu_avg_samples &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
net_avg_samples &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
out_to_console no
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# X font when Xft is disabled, you can pick one with program xfontsel&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#font 7x12&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#font 6x10&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#font 7x13&lt;/span&gt;
font 8x12
&lt;span class=&quot;co0&quot;&gt;#font 7x12&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Use Xft?&lt;/span&gt;
use_xft &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Xft font when Xft is enabled&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#xftfont gentium:size=12&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#ftfont DejaVu Sans:size=10&lt;/span&gt;
xftfont DejaVu Sans:bold:&lt;span class=&quot;re2&quot;&gt;size&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#xftfont DejaVu Sans:size=9&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Create own window instead of using desktop (required in nautilus, pcmanfm and rox desktops)&lt;/span&gt;
own_window &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
own_window_class Conky
own_window_transparent &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
own_window_hints undecorated,below,sticky,skip_taskbar
own_window_type override
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Text alpha when using Xft&lt;/span&gt;
xftalpha &lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#on_bottom no&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Update interval in seconds&lt;/span&gt;
update_interval &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Use double buffering (reduces flicker, may not work for everyone)&lt;/span&gt;
double_buffer &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Minimum size of text area&lt;/span&gt;
minimum_size &lt;span class=&quot;nu0&quot;&gt;55&lt;/span&gt;
maximum_width &lt;span class=&quot;nu0&quot;&gt;190&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Draw shades?&lt;/span&gt;
draw_shades no
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Draw outlines?&lt;/span&gt;
draw_outline no
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Draw borders around text&lt;/span&gt;
draw_borders no
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Stippled borders?&lt;/span&gt;
stippled_borders &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# border margins&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#border_margin 10&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# border width&lt;/span&gt;
border_width &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Default colors and also border colors&lt;/span&gt;
default_color white
default_shade_color white
default_outline_color white
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#color ffffff&lt;/span&gt;
color4 yellow
color8 77ccff
color9 5599cc
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Text alignment, other possible values are commented&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# alignment top_left&lt;/span&gt;
alignment top_right
&lt;span class=&quot;co0&quot;&gt;#alignment bottom_left&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#alignment bottom_right&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Gap between borders of screen and text&lt;/span&gt;
&amp;nbsp;
gap_x &lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt;
gap_y &lt;span class=&quot;nu0&quot;&gt;40&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Add spaces to keep things from moving about?  This only affects certain objects.&lt;/span&gt;
use_spacer right
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Subtract file system buffers from used memory?&lt;/span&gt;
no_buffers &lt;span class=&quot;kw2&quot;&gt;yes&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# if_up_strictness link:  up | link | address&lt;/span&gt;
if_up_strictness address
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# set to yes if you want all text to be in uppercase&lt;/span&gt;
uppercase no
&amp;nbsp;
TEXT
&lt;span class=&quot;co1&quot;&gt;${alignc}&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$nodename&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${color8}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${font DejaVu Sans:size=12}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${time %H:%M}&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${font}&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${color}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${time %a %d %b}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignc}&lt;/span&gt;Uptime: &lt;span class=&quot;re1&quot;&gt;$uptime&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#${alignc}${exec disp=${DISPLAY#:}; disp=${disp%.[0-9]}; cat $HOME/.desktop-session/desktop-code.$disp 2&amp;gt;/dev/null}&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#res:${alignr}${execi 60 xdpyinfo | sed -n -r &amp;quot;s/^\s*dimensions:.*\s([0-9]+x[0-9]+).*/\1/p&amp;quot;}&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#dpi:${alignr}${execi 60 sed -nr &amp;quot;s/^\s*Xft.dpi:\s*([0-9]+(x[0-9]+)?).*/\1/p&amp;quot; $HOME/.Xresources | grep &amp;quot;[0-9]&amp;quot; || echo 96}&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#Automount: ${alignr}${execi 60 grep -q &amp;quot;^automount=TRUE&amp;quot; $HOME/.desktop-session/automount.conf 2&amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;enabled&amp;quot; || echo &amp;quot;disabled&amp;quot;}&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;Freq:$&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;alignr&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${freq}&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;CPU:$&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;alignr&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${cpu}&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#${color}Init:${alignr}${color3}${execi 60 detect-init.sh}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${cpugraph cpu0 30,170 5599cc 5599cc}&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;Disk:$&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;alignr&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${diskio}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${diskiograph 30,170 5599cc 5599cc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${if_up eth0}&lt;/span&gt;
eth0 up: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${upspeed eth0}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${upspeedgraph   eth0 30,170 5599cc 5599cc}&lt;/span&gt;
eth0 down: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${downspeed eth0}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${downspeedgraph eth0 30,170  5599cc 5599cc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${endif}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${if_up eth1}&lt;/span&gt;
eth1 up: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${upspeed eth1}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${upspeedgraph   eth1 30,170 5599cc 5599cc}&lt;/span&gt;
eth1 down: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${downspeed eth1}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${downspeedgraph eth1 30,170  5599cc 5599cc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${endif}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${if_up wlan0}&lt;/span&gt;
&amp;nbsp;
Wireless 
IP  &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${addr wlan0}&lt;/span&gt;
Gate &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt;  &lt;span class=&quot;re1&quot;&gt;$gw_ip&lt;/span&gt;
NS &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$nameserver&lt;/span&gt;
&amp;nbsp;
wlan0 up: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${upspeed wlan0}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${upspeedgraph   wlan0 30,170 5599cc 5599cc}&lt;/span&gt;
wlan0 down: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${downspeed wlan0}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${downspeedgraph wlan0 30,170 5599cc 5599cc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${endif}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${if_up wlan1}&lt;/span&gt;
wlan1 up: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${upspeed wlan1}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${upspeedgraph   wlan1 30,170 5599cc 5599cc}&lt;/span&gt;
wlan1 down: &lt;span class=&quot;re1&quot;&gt;$alignr&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${downspeed wlan1}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${downspeedgraph wlan1 30,170 5599cc 5599cc}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${endif}&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${color8}&lt;/span&gt;Used &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; Total &lt;span class=&quot;co1&quot;&gt;${color}&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;RAM:$&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;alignr&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$mem&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$memmax&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;Swap:$&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;alignr&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$swap&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$swapmax&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; Disk:&lt;span class=&quot;co1&quot;&gt;${alignr}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${fs_used /}&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${fs_size /}&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#${alignc}${execi 1000 persist-enabled}&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;${font DejaVu Sans Mono:size=10}&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;${execi 30 ~/ruptime}&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Gather &lt;code&gt;ruptime&lt;/code&gt; information about local LAN Linux boxes from the &lt;code&gt;rwhod&lt;/code&gt; service and format it with a small script &lt;code&gt;~/ruptime&lt;/code&gt; called from conkyrc
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;${font DejaVu Sans Mono:size=10}${execi 30 ~/ruptime}&lt;/pre&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_aa0642f8e44b4a219db8d085bf394263_4&quot;&gt;ruptime local script &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_aa0642f8e44b4a219db8d085bf394263_4&quot;&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ruptime &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;cut&lt;/span&gt; -c1-&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;,&lt;span class=&quot;nu0&quot;&gt;13&lt;/span&gt;-&lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt;,&lt;span class=&quot;nu0&quot;&gt;18&lt;/span&gt;-&lt;span class=&quot;nu0&quot;&gt;27&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Real &lt;code&gt;ruptime&lt;/code&gt; returns:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;antix1:~ $ ruptime 
antix1        up    &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;+04:&lt;span class=&quot;nu0&quot;&gt;34&lt;/span&gt;,     &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt;,  load &lt;span class=&quot;nu0&quot;&gt;0.63&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.48&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.47&lt;/span&gt;
aprs          up  &lt;span class=&quot;nu0&quot;&gt;116&lt;/span&gt;+04:03,     &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt;,  load &lt;span class=&quot;nu0&quot;&gt;0.00&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.01&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.00&lt;/span&gt;
laptop        up    &lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt;:04,     &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt;,  load &lt;span class=&quot;nu0&quot;&gt;1.27&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;1.09&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;1.04&lt;/span&gt;
nas1          up  &lt;span class=&quot;nu0&quot;&gt;185&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;23&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;19&lt;/span&gt;,     &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt;,  load &lt;span class=&quot;nu0&quot;&gt;0.33&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.48&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.47&lt;/span&gt;
shack         up      &lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;19&lt;/span&gt;,     &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;users&lt;/span&gt;,  load &lt;span class=&quot;nu0&quot;&gt;0.16&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.22&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;0.21&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
My small script formats it for conky
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;antix1:~ $ .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ruptime 
antix1    up   &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;+04:&lt;span class=&quot;nu0&quot;&gt;34&lt;/span&gt;
aprs      up &lt;span class=&quot;nu0&quot;&gt;116&lt;/span&gt;+04:03
laptop    up   &lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt;:04
nas1      up &lt;span class=&quot;nu0&quot;&gt;185&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;23&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;19&lt;/span&gt;
shack     up     &lt;span class=&quot;nu0&quot;&gt;16&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;19&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;add_neofetch_output_as_image_to_root_window&quot;&gt;add neofetch output as image to root window&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_aa0642f8e44b4a219db8d085bf394263_5&quot;&gt;background.sh &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_aa0642f8e44b4a219db8d085bf394263_5&quot;&gt;&lt;pre class=&quot;code&quot;&gt;#!/bin/bash



while :
do
	
	neofetch --disable term &amp;gt; fetch

	ansilove -q -m transparent fetch

	feh --bg-center -B midnightblue fetch.png

	sleep 300

done&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h4 id=&quot;keys_cheatsheet&quot;&gt;Keys cheatsheet&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$mod+p = promote window

$mod+Return = terminal

$mod+Shift+q = kill window

$mod+d = dmenu

$mod+h = focus left
$mod+j = focus down
$mod+k = focus up
$mod+l = focus right


$mod+Shift+h = move left
$mod+Shift+j = move down
$mod+Shift+k = move up
$mod+Shift+l = move right


$mod+f = fullsreen toggle


=== When using Autotile these are for the next window to be created ====

$mod+s = stacking
$mod+w = tabbed
$mod+e = toggle h or v

=== Toggle a window between tiled and floating ===

$mod+Shift+space = floating toggle

=== Switch focus between a floating window and the tiled window(s)

$mod+space focus mode_toggle


$mod+a = focus parent
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;I3 Config and tweaks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;i3_config_and_tweaks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;656-17340&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;additional_software&quot;&gt;Additional Software&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Additional Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;additional_software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;17341-17373&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;urxvt&quot;&gt;urxvt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Configured vi ~/.Xdefaults
&lt;/p&gt;

&lt;p&gt;
For Ranger icons use &lt;code&gt;DejavuSansMono NFM:size=11:style=Book&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
A bug makes font rendering &lt;em&gt;odd&lt;/em&gt;, with too much space between characters (&lt;em&gt;kerning&lt;/em&gt; is wrong)
&lt;/p&gt;

&lt;p&gt;
A fix is to put &lt;code&gt;Xft.rgba: none&lt;/code&gt; into ~/.Xdefaults
&lt;/p&gt;

&lt;p&gt;
Another fix is to put &lt;code&gt;URxvt.letterSpace=-1&lt;/code&gt; into &lt;code&gt;~/.Xdefaults&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Here&amp;#039;s the &lt;code&gt;~/.Xdefaults&lt;/code&gt; I use:
&lt;/p&gt;

&lt;p&gt;
Some un-used lines are commented out, but might be useful in testing….
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;Xft.rgba: none
&lt;span class=&quot;co0&quot;&gt;#Xft.hintstyle: hintfull&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#URxvt.letterSpace:-1&lt;/span&gt;
&amp;nbsp;
Xcursor.size:&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#URxvt.skipBuiltinGlyphs: true&lt;/span&gt;
URxvt.scrollBar: &lt;span class=&quot;kw2&quot;&gt;false&lt;/span&gt;
URxvt.boldFont: 
&lt;span class=&quot;co0&quot;&gt;#URxvt.font: xft:DejaVuSansMono:style=Book:size=11&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#URxvt.font: xft:Monospace:size=11, xft:DejaVuSansMono NFM:style=Book&lt;/span&gt;
URxvt.font: xft:DejaVuSansMono NFM:&lt;span class=&quot;re2&quot;&gt;size&lt;/span&gt;=&lt;span class=&quot;nu0&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;re2&quot;&gt;style&lt;/span&gt;=Book&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;urxvt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;urxvt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;17374-18161&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;ranger&quot;&gt;Ranger&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Image Previews: &lt;code&gt;/etc/ranger/config/rc.conf&lt;/code&gt; :&lt;pre class=&quot;code&quot;&gt;set preview_images true&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;set preview_images_method w3m&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Draw borders round segments of display &lt;code&gt;/etc/ranger/config/rc.conf&lt;/code&gt; : &lt;pre class=&quot;code&quot;&gt;set draw_borders both&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Icons following instructions here: &lt;a href=&quot;https://github.com/alexanderjeurissen/ranger_devicons&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://github.com/alexanderjeurissen/ranger_devicons&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/alexanderjeurissen/ranger_devicons&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;/etc/ranger/config/rc.conf&lt;/code&gt; :&lt;pre class=&quot;code&quot;&gt;default_linemode devicons&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Font for icons : &lt;a href=&quot;https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/DejaVuSansMono.zip&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/DejaVuSansMono.zip&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/DejaVuSansMono.zip&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; unzipped into : ~/.fonts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; font cache re-built with &lt;pre class=&quot;code&quot;&gt;fc-cache -fv&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Use Lxterminal - handles icons and image previews (&lt;code&gt;st&lt;/code&gt; is poor for image previews)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; commands for exracting and creating compressed archives (&lt;code&gt;zip&lt;/code&gt;, &lt;code&gt;tar&lt;/code&gt;, &lt;code&gt;tar.gz&lt;/code&gt; etc) from here &lt;a href=&quot;https://wiki.archlinux.org/title/ranger#Archives&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://wiki.archlinux.org/title/ranger#Archives&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wiki.archlinux.org/title/ranger#Archives&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; added both &lt;code&gt;python&lt;/code&gt; snippets to &lt;code&gt;/etc/ranger/config/commands.py&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; added keybindings to &lt;code&gt;/etc/ranger/config/rc.conf&lt;/code&gt; &lt;pre class=&quot;code&quot;&gt; 
map ,n console compress 
map ,m compress temp.zip
map ,e console extract_here &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; extract a zip/tar/tar.gz by the keystroke &lt;kbd class=&quot;__keyboard&quot;&gt;,&lt;/kbd&gt;&lt;kbd class=&quot;__keyboard&quot;&gt;e&lt;/kbd&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; create an automatically named &lt;code&gt;temp.zip&lt;/code&gt; archive by selecting the files (&lt;kbd class=&quot;__keyboard&quot;&gt;Space&lt;/kbd&gt;) and then &lt;kbd class=&quot;__keyboard&quot;&gt;,&lt;/kbd&gt;&lt;kbd class=&quot;__keyboard&quot;&gt;m&lt;/kbd&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; create a named archive of your choice &lt;kbd class=&quot;__keyboard&quot;&gt;,&lt;/kbd&gt;&lt;kbd class=&quot;__keyboard&quot;&gt;n&lt;/kbd&gt; &lt;code&gt;your_archive_name.[tar|zip|tar.gz]&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;insert&amp;gt; : touch (new file)

gg   : move to top
G    : move to bottom

&amp;lt;F1&amp;gt; : help
&amp;lt;F2&amp;gt; : rename
&amp;lt;F3&amp;gt; : view (less)
&amp;lt;F4&amp;gt; : edit (vim) 
&amp;lt;F5&amp;gt; : copy
&amp;lt;F6&amp;gt; : cut
&amp;lt;F7&amp;gt; : mkdir
&amp;lt;F8&amp;gt; : delete
&amp;lt;F10&amp;gt;: quit


&amp;lt;space&amp;gt; : select
uv : un-select

yy : yank (copy)
dd : cut

ud : un-cut
uy : un-cut(yank)

pp : paste


gh : GoHome
zh : show hidden dotfiles

Archive operation commands
,n : new named archive 
,m : new &amp;quot;temp.zip&amp;quot;
,e : extract_here
&lt;/pre&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 09/10/22 12:38&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ranger&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ranger&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;18162-20082&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;20083-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Java JRE and Echolink Proxy</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:jave_jre</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;java_jre_and_echolink_proxy&quot;&gt;Java JRE and Echolink Proxy&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Java JRE and Echolink Proxy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;java_jre_and_echolink_proxy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-59&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;setting_up_echolink_proxy_on_vps&quot;&gt;Setting up Echolink Proxy on VPS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; default-jre-headless
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;echolink.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;downloads&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;EchoLinkProxy_1_2_3.zip
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;unzip&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;unzip&lt;/span&gt; EchoLinkProxy_1_2_3.zip
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;chmod&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;755&lt;/span&gt; EcholinkProxy.jar
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;vi&lt;/span&gt; ELProxy.conf&lt;/pre&gt;

&lt;p&gt;
and set new password
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;vps_firewall&quot;&gt;VPS Firewall&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
on fasthost control panel open 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;TCP/8100&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;UDP/5198&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;UDP/5199&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:fhfw.png&quot; class=&quot;media&quot; title=&quot;public:computers:fhfw.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=065fdb&amp;amp;media=public:computers:fhfw.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Setting up Echolink Proxy on VPS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;setting_up_echolink_proxy_on_vps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;60-498&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;start_proxy&quot;&gt;Start Proxy&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;code&gt;java -jar EcholinkProxy.jar&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;gm4slv@gm4slv:~$ &lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;java&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-jar&lt;/span&gt; EchoLinkProxy.jar
EchoLink Proxy version 1.2.3
Listening &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; connections on port &lt;span class=&quot;nu0&quot;&gt;8100&lt;/span&gt;
Ready &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; new client connection.
Client connected: 80.229.223.86
Client authenticated &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;call&lt;/span&gt;=GM4SLV&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;/pre&gt;

&lt;p&gt;
This runs and works okay.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start Proxy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_proxy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;499-817&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;start_in_tmux&quot;&gt;Start in tmux&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?do=export_code&amp;amp;id=public:computers:archive:jave_jre&amp;amp;codeblock=2&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_sh&quot;&gt;start_proxy.sh&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;session&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;proxy&amp;quot;&lt;/span&gt;
&amp;nbsp;
tmux start-server
&amp;nbsp;
tmux new-session &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$session&lt;/span&gt;
&amp;nbsp;
tmux rename-window &lt;span class=&quot;st0&quot;&gt;&amp;quot;echolink&amp;quot;&lt;/span&gt;
&amp;nbsp;
tmux selectp &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
tmux send-keys &lt;span class=&quot;st0&quot;&gt;&amp;quot;java -jar /home/gm4slv/EchoLinkProxy.jar&amp;quot;&lt;/span&gt; C-m&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;p&gt;
add &lt;code&gt;crontab&lt;/code&gt; to start &lt;code&gt;@reboot&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;@reboot sleep 30 &amp;amp;&amp;amp; sudo -u gm4slv /home/gm4slv/start_proxy.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start in tmux&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_in_tmux&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;818-1196&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 04/06/22 07:26&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Page last updated: 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:svxlink&amp;amp;do=showtag&amp;amp;tag=svxlink&quot; class=&quot;wikilink1&quot; title=&quot;tag:svxlink&quot; rel=&quot;tag&quot;&gt;svxlink&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:echolink&amp;amp;do=showtag&amp;amp;tag=echolink&quot; class=&quot;wikilink1&quot; title=&quot;tag:echolink&quot; rel=&quot;tag&quot;&gt;echolink&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:radio&amp;amp;do=showtag&amp;amp;tag=radio&quot; class=&quot;wikilink1&quot; title=&quot;tag:radio&quot; rel=&quot;tag&quot;&gt;radio&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1197-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Linux Serial Console</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:linux_serial_console</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;linux_serial_console&quot;&gt;Linux Serial Console&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; To configure Debian 11 for a serial console &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Alinux_serial_console&amp;amp;media=public:computers:img_20220930_120938_557_1.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:img_20220930_120938_557_1.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=ce7150&amp;amp;media=public:computers:img_20220930_120938_557_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Alinux_serial_console&amp;amp;media=public:computers:img_20220930_120917_052_1.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:img_20220930_120917_052_1.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=1eb796&amp;amp;media=public:computers:img_20220930_120917_052_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Linux Serial Console&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;linux_serial_console&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-218&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;grub&quot;&gt;Grub&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Edit &lt;code&gt;/etc/default/grub&lt;/code&gt; to add the console setting to the end of 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet splash resume=UUID=d6a8791e-201a-4207-99e1-eafadec6713f console=ttyS0,19200n8&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Then update grub to use the new setting.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo update-grub&lt;/pre&gt;

&lt;p&gt;
Once the &lt;code&gt;systemd&lt;/code&gt; changes are made it&amp;#039;s worth rebooting to see that the boot process appears on the console.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Grub&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;grub&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;219-600&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;systemd&quot;&gt;systemd&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service&lt;/pre&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 30/09/22 11:59&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;systemd&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;systemd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;601-779&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Using some old text mode software again….
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; email with &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:alpine&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:alpine&quot; data-wiki-id=&quot;public:computers:archive:alpine&quot;&gt;Old stuff but good&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;780-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>MediaWiki VPS Install</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:mediawiki</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mediawiki_vps_install&quot;&gt;MediaWiki VPS Install&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;plugin_note noteclassic&quot;&gt;— &lt;em&gt;John Pumford-Green 27/04/23 06:21&lt;/em&gt;
&lt;p&gt;
I have recenlty rebuilt the VPS install during a hardware upgrade, and the &lt;code&gt;Mediawiki&lt;/code&gt; install is no longer in place.
&lt;/p&gt;

&lt;p&gt;
The following guide would allow it to be re-installed should I decide to.
&lt;/p&gt;

&lt;/div&gt;
&lt;p&gt;
To compare &lt;code&gt;mediawiki&lt;/code&gt; with &lt;code&gt;dokuwiki&lt;/code&gt; I installed &lt;code&gt;mediawiki&lt;/code&gt; on my little shack server. 
&lt;/p&gt;

&lt;p&gt;
I followed the instructions here
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_or_Ubuntu&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_or_Ubuntu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_or_Ubuntu&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
and did a few tweaks etc. to get things running.
&lt;/p&gt;

&lt;p&gt;
I forgot to document the tweaks!
&lt;/p&gt;

&lt;p&gt;
So I thought there would be no harm in installing it on my VPS to run alongside the main &lt;code&gt;dokuwiki&lt;/code&gt; site, with a view to deciding whether to switch to &lt;code&gt;mediawiki&lt;/code&gt; later.
&lt;/p&gt;

&lt;p&gt;
Here are my steps to install mediawiki on the VPS machine, which already has a fully configured and working webserver &amp;amp; PHP. The main addition will be setting up a SQL server (probably MariaDB).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;MediaWiki VPS Install&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mediawiki_vps_install&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;16-975&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;installing_pre-requisites&quot;&gt;Installing pre-requisites&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-mbstring&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt; https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;releases.wikimedia.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mediawiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1.38&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mediawiki-1.38.1.tar.gz&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;tar&lt;/span&gt; zxvf mediawiki-1.38.1.tar.gz&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mediawiki&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mv&lt;/span&gt; mediawiki-1.38.1&lt;span class=&quot;sy0&quot;&gt;/*&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mediawiki&lt;/pre&gt;

&lt;p&gt;
That has installed a SQL server and the &lt;code&gt;mediawiki&lt;/code&gt; files into the webserver root. Next is to configure the SQL database to hold the wiki.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installing pre-requisites&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installing_pre-requisites&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;976-1541&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;sql_configuration&quot;&gt;SQL Configuration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code sql&quot;&gt;gm4slv@gm4slv:~$ sudo service mysql &lt;span class=&quot;kw1&quot;&gt;START&lt;/span&gt;
gm4slv@gm4slv:~$ sudo mysql &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;u root &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;p
Enter password:
Welcome &lt;span class=&quot;kw1&quot;&gt;TO&lt;/span&gt; the MariaDB monitor&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;  Commands &lt;span class=&quot;kw1&quot;&gt;END&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;WITH&lt;/span&gt; ; &lt;span class=&quot;kw1&quot;&gt;OR&lt;/span&gt; \g&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
Your MariaDB connection id &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;36&lt;/span&gt;
Server version: 10&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;3&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;34&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;MariaDB&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt;deb10u1 Debian &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2018&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Oracle&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; MariaDB Corporation Ab &lt;span class=&quot;kw1&quot;&gt;AND&lt;/span&gt; others&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;help;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;OR&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\h&lt;/span&gt;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FOR&lt;/span&gt; help&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\c&lt;/span&gt;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TO&lt;/span&gt; clear the &lt;span class=&quot;kw1&quot;&gt;CURRENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INPUT&lt;/span&gt; statement&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
&amp;nbsp;
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;NONE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;USER&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;new_mysql_user&#039;&lt;/span&gt;@&lt;span class=&quot;st0&quot;&gt;&#039;localhost&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IDENTIFIED&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;BY&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;mwPass&#039;&lt;/span&gt;;
Query OK&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ROWS&lt;/span&gt; affected &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0.018&lt;/span&gt; sec&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;NONE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; quit;
Bye&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;create_the_database_and_grant_the_user_access&quot;&gt;Create the database and grant the user access&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code sql&quot;&gt;gm4slv@gm4slv:~$ sudo mysql &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;u root &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;p
Enter password:
Welcome &lt;span class=&quot;kw1&quot;&gt;TO&lt;/span&gt; the MariaDB monitor&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;  Commands &lt;span class=&quot;kw1&quot;&gt;END&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;WITH&lt;/span&gt; ; &lt;span class=&quot;kw1&quot;&gt;OR&lt;/span&gt; \g&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
Your MariaDB connection id &lt;span class=&quot;kw1&quot;&gt;IS&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;37&lt;/span&gt;
Server version: 10&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;3&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;34&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;MariaDB&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt;deb10u1 Debian &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;
&amp;nbsp;
Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2018&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; Oracle&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; MariaDB Corporation Ab &lt;span class=&quot;kw1&quot;&gt;AND&lt;/span&gt; others&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;help;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;OR&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\h&lt;/span&gt;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;FOR&lt;/span&gt; help&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TYPE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;&lt;span class=&quot;es0&quot;&gt;\c&lt;/span&gt;&#039;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TO&lt;/span&gt; clear the &lt;span class=&quot;kw1&quot;&gt;CURRENT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INPUT&lt;/span&gt; statement&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;
&amp;nbsp;
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;NONE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;DATABASE&lt;/span&gt; my_wiki;
Query OK&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ROW&lt;/span&gt; affected &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0.003&lt;/span&gt; sec&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;NONE&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;USE&lt;/span&gt; my_wiki;
&lt;span class=&quot;kw1&quot;&gt;DATABASE&lt;/span&gt; changed
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;my_wiki&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;GRANT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ALL&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; my_wiki&lt;span class=&quot;sy0&quot;&gt;.*&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TO&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;new_mysql_user&#039;&lt;/span&gt;@&lt;span class=&quot;st0&quot;&gt;&#039;localhost&#039;&lt;/span&gt;;
Query OK&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ROWS&lt;/span&gt; affected &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0.001&lt;/span&gt; sec&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
MariaDB &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;my_wiki&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; quit;
Bye&lt;/pre&gt;

&lt;p&gt;
Browse to &lt;a href=&quot;https://gm4slv.org.uk/mediawiki&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://gm4slv.org.uk/mediawiki&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://gm4slv.org.uk/mediawiki&lt;/a&gt; and got an error message that there was a PHP component missing &lt;code&gt;intl&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; php-intl&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; service apache2 restart&lt;/pre&gt;

&lt;p&gt;
Browse to &lt;code&gt;mediawiki&lt;/code&gt; again and all seems well. The message now is that LocalSettings.php is missing, which is created at the next step, following the on screen link.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:screenshot_2022-06-29_15.43.11.png&quot; class=&quot;media&quot; title=&quot;public:computers:screenshot_2022-06-29_15.43.11.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=5d5cd8&amp;amp;media=public:computers:screenshot_2022-06-29_15.43.11.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Configure the SQL access: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Database Username : new_mysql_user
Database Password : mwPass&lt;/pre&gt;

&lt;p&gt;
Complete the questions, select the required extensions etc. and download the &lt;code&gt;LocalSettings.php&lt;/code&gt; file. Then upload the file to the VPS and put it in &lt;code&gt;/var/www/html/mediawiki&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SQL Configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sql_configuration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1542-3580&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;tweaks&quot;&gt;Tweaks&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;file_uploads&quot;&gt;File uploads&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Make sure &lt;code&gt;images&lt;/code&gt; directory has &lt;code&gt;ugo+rwx&lt;/code&gt; permissions
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;logo&quot;&gt;Logo&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Somehow upload a &lt;code&gt;logo.png&lt;/code&gt; into &lt;code&gt;images&lt;/code&gt; and edit &lt;code&gt;LocalSetting.php&lt;/code&gt; to point at the log:
&lt;/p&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;re0&quot;&gt;$wgLogos&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;
        &lt;span class=&quot;st_h&quot;&gt;&#039;1x&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$wgResourceBasePath&lt;/span&gt;/images/logo.png&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
        &lt;span class=&quot;st_h&quot;&gt;&#039;icon&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es4&quot;&gt;$wgResourceBasePath&lt;/span&gt;/images/logo.png&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;image_thumbnails_pdf&quot;&gt;Image thumbnails &amp;amp; pdf&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;code&gt;to be continued&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; ghostscript imagemagick xpdf-utils &lt;/pre&gt;

&lt;p&gt;
add to LocalSettings.php:
&lt;/p&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;re0&quot;&gt;$wgPdfProcessor&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;/usr/bin/gs&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$wgPdfPostProcessor&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$wgImageMagickConvertCommand&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;// if defined via ImageMagick&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;// $wgPdfPostProcessor = &#039;/usr/bin/convert&#039;;  // if not defined via ImageMagick&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$wgPdfInfo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;/usr/bin/pdfinfo&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$wgPdftoText&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;/usr/bin/pdftotext&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$wgFileExtensions&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;pdf&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Now upload a &lt;code&gt;pdf&lt;/code&gt; file and  it should appear in the file brower.
&lt;/p&gt;

&lt;p&gt;
Try putting it in a page with the &amp;lt;gallery&amp;gt; funtion
&lt;/p&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;gallery&amp;gt;&lt;/span&gt;
File:Blog.pdf|page=1
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gallery&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tweaks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tweaks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3581-4603&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 29/06/22 15:15&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Page last updated: 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:mediawiki&amp;amp;do=showtag&amp;amp;tag=mediawiki&quot; class=&quot;wikilink1&quot; title=&quot;tag:mediawiki&quot; rel=&quot;tag&quot;&gt;mediawiki&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4604-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Mercurial</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:mercurial</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mercurial&quot;&gt;Mercurial&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; Snippets to help remember how to use Mercurial Version Control &lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mercurial&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mercurial&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-111&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;create_a_repository&quot;&gt;Create a Repository&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Work on files until ready to start version control&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Create a repository in the directory&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg init&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; add the files&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg add&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; commit the changes&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg commit&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; edit the comments and save them&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; or use &lt;code&gt;hg commit -m “adding initial version of hello.txt”&lt;/code&gt; to add comments directly to the commit log&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; This has made the first version of the repository.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Create a Repository&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;create_a_repository&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;112-541&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;simple_workflow&quot;&gt;Simple workflow&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Work on files in the repository directory (or copy in files edited and tested elsewhere)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Add any new files&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg add&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Commit any changes&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg commit -m “comments…..”&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; This keeps the local (master?) repository up to date with all the changes, in case a reversion to a previous version is necessary. All changes are tracked.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Simple workflow&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;simple_workflow&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;542-925&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;remote_copies&quot;&gt;Remote copies&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on another machine you can &lt;code&gt;clone&lt;/code&gt; a repository - to work on it or as a backup&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; by &lt;code&gt;ssh&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg clone ssh://gm4slv@xgate//path/to/repo&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; this will pull the repo files across and make an exact copy&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; in future you can pull any new changes made on the other (master?) repo by &lt;code&gt;hg pull&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; any changes will be brought over, but the working directory won&amp;#039;t be brought up to date until you update it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hg update&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; to make this automatic add to the clone repo&amp;#039;s .hg/hgrc:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;[hooks]
changegroup = hg update&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; any changes made in the &lt;code&gt;clone&lt;/code&gt; repo can he sent back to the &lt;code&gt;master&lt;/code&gt; by &lt;code&gt;hg push&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; remember to log into the &lt;code&gt;master&lt;/code&gt; machine&amp;#039;s repo and use &lt;code&gt;hg update&lt;/code&gt; - or add the same lines to its .hg/hgrc&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;[hooks]
changegroup = hg update&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; any changes made in the &lt;code&gt;master&lt;/code&gt; repo can be pushed to the clone(s) using &lt;code&gt;hg push&lt;/code&gt; too.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the &lt;code&gt;hgrc&lt;/code&gt; file holds the paths for push and pull destinations - should be self explanatory.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The log of commits &lt;code&gt;hg log&lt;/code&gt; looks like:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;changeset:   12:f69a03ef230f
tag:         tip
user:        John Pumford-Green &amp;lt;john@wire2waves.co.uk&amp;gt;
date:        Sun Mar 24 22:15:09 2024 +0000
summary:     removed previous test comment

changeset:   11:caeb761265b2
user:        John Pumford-Green &amp;lt;john@wire2waves.co.uk&amp;gt;
date:        Sun Mar 24 21:30:03 2024 +0000
summary:     added a comment to check push back to xgate

changeset:   10:146123c9688c
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Sun Mar 24 21:12:45 2024 +0000
summary:     catch up commit. various tweaks. moved to single xgate script that can

changeset:   9:482ed4c74b93
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Sun Feb 20 18:05:13 2022 +0000
summary:     heartbeat watchdog script added to repository

changeset:   8:8a7f5ff9839c
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Sun Feb 20 18:02:49 2022 +0000
summary:     added watchdog heartbeat

changeset:   7:0b870c3f0bc4
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Mon Dec 14 06:45:06 2020 +0000
summary:     simplex version with monitor command disabled

changeset:   6:a8d3082edc19
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Mon Dec 14 06:44:38 2020 +0000
summary:     update

changeset:   5:0b654aa5948a
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Sun Nov 15 22:04:11 2020 +0000
summary:     removed old commented functions etc.

changeset:   4:00b921d165c6
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Sun Nov 15 21:48:59 2020 +0000
summary:     changes to use dual-band V/UHF access

changeset:   3:bb599b01bd56
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Thu Nov 12 16:21:40 2020 +0000
summary:     ATU Tune returns &amp;quot;... complete&amp;quot;

changeset:   2:c9a9e04c7ad2
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Thu Nov 12 16:08:35 2020 +0000
summary:     ignore pyc files

changeset:   1:d668512ccedd
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Thu Nov 12 16:03:47 2020 +0000
summary:     remove unneeded file

changeset:   0:45cc8998c62b
user:        John Pumford-Green &amp;lt;gm4slv@gmail.com&amp;gt;
date:        Thu Nov 12 15:55:29 2020 +0000
summary:     first commit - current running code for xGate using IC-M710 HF transceiver.

 
&lt;/pre&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 24/03/24 22:23&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Remote copies&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;remote_copies&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;926-4366&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4367-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Pinouts</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:pinouts</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pinouts&quot;&gt;Pinouts&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Pinouts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pinouts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-39&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;ethernet_rj45_b&quot;&gt;Ethernet RJ45 B&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The normal straight cable is a 568B&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;table sectionedit3&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; 1 &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; 2 &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; 3 &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; 4 &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; 5 &lt;/th&gt;&lt;th class=&quot;col5&quot;&gt; 6 &lt;/th&gt;&lt;th class=&quot;col6&quot;&gt; 7 &lt;/th&gt;&lt;th class=&quot;col7&quot;&gt; 8 &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; O/W &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; O &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; G/W &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; B &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; B/W &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; G &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; Bn/W &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; Bn &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;109-186&amp;quot;} --&gt;
&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Apinouts&amp;amp;media=public:computers:rj45-pinout-t568b.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:rj45-pinout-t568b.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=904e70&amp;amp;media=public:computers:rj45-pinout-t568b.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ethernet_x-over_a-b&quot;&gt;Ethernet X-over A-B&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; for use without a switch/hub and where the device cannot do automatic cross-over itself.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Apinouts&amp;amp;media=public:computers:rj45-ethernet-pinout-crossover-cable.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:rj45-ethernet-pinout-crossover-cable.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=835a27&amp;amp;media=public:computers:rj45-ethernet-pinout-crossover-cable.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ethernet RJ45 B&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ethernet_rj45_b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;40-432&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;raspberry_pi_gpio&quot;&gt;Raspberry Pi GPIO&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:raspberry-pi-gpio-pinouts.png&quot; class=&quot;media&quot; title=&quot;public:computers:raspberry-pi-gpio-pinouts.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=6863a2&amp;amp;media=public:computers:raspberry-pi-gpio-pinouts.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Raspberry Pi GPIO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;raspberry_pi_gpio&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;433-526&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;pyboard&quot;&gt;PyBoard&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:pybv11-pinout.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:pybv11-pinout.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=600&amp;amp;tok=73597d&amp;amp;media=public:computers:pybv11-pinout.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PyBoard&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyboard&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;527-597&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Page created Thu May 26 10:39:13 2022 by John Pumford-Green
&lt;/p&gt;

&lt;p&gt;
Page last updated: 04/04/24 21:33 BST
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:network&amp;amp;do=showtag&amp;amp;tag=network&quot; class=&quot;wikilink1&quot; title=&quot;tag:network&quot; rel=&quot;tag&quot;&gt;network&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;598-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Apr 2024 20:33:46 +0000</pubDate>
        </item>
        <item>
            <title>Pure Blog</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:pureblog</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pure_blog&quot;&gt;Pure Blog&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; I&amp;#039;ve installed Pure Blog &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
After trying the Blog Plugin in dokuwiki and Chyrp-Lite PHP/SQLite blogging platform I switched to Pure Blog.
&lt;/p&gt;

&lt;p&gt;
It&amp;#039;s just what I need, and nothing extra to make it big and bloated.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Pure Blog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pure_blog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-256&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;installation_configuration&quot;&gt;Installation &amp;amp; Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/images/smileys/fixme.svg&quot; class=&quot;icon smiley&quot; alt=&quot;FIXME&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
See &lt;a href=&quot;https://g4slv.info/installing-pure-blog&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://g4slv.info/installing-pure-blog&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://g4slv.info/installing-pure-blog&lt;/a&gt; for some info.
&lt;/p&gt;

&lt;p&gt;
Webfonts used 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:atkinson_hyperlegible_mono_woff2.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;public:computers:atkinson_hyperlegible_mono_woff2.zip (304.1 KB)&quot;&gt; Atkinson Hyperlegible Mono&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:atkinson_next_woff2.zip&quot; class=&quot;media mediafile mf_zip&quot; title=&quot;public:computers:atkinson_next_woff2.zip (350.4 KB)&quot;&gt; Atkinson Hyperlegible Next&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installation &amp;amp; Configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_configuration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;257-559&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code css&quot;&gt;&lt;span class=&quot;re1&quot;&gt;.tag-cloud&lt;/span&gt; a &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;0.5rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;2rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re1&quot;&gt;.archive&lt;/span&gt; li &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.5rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
body &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.25rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
main &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;max-width&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;50rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
article &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
p&lt;span class=&quot;re1&quot;&gt;.post-archive-view&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-size&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
main h1 &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;2.8rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
header&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; footer&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;atkinson_next&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sans-serif&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1.1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
footer &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;margin-top&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;3rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
main h1&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; main h2&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; main h3&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; main h4&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; main h5&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; main h6 &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;margin-left&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;-1rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;atkinson_next&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sans-serif&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re1&quot;&gt;.tag-list&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;border-top&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;1px&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;solid&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re4&quot;&gt;--border-color&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;padding-top&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;2rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re1&quot;&gt;.post-nav&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;margin-top&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;re3&quot;&gt;3rem&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_next&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleNext-Regular.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_next&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleNext-Bold.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_next&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleNext-RegularItalic.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;italic&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_next&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleNext-BoldItalic.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;italic&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_mono&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleMono-Regular.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_mono&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleMono-RegularItalic.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;italic&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_mono&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleMono-Bold.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;normal&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;@font-face&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;atkinson_mono&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  src&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;/content/fonts/AtkinsonHyperlegibleMono-BoldItalic.woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; format&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;woff2&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       font-display&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; swap&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;italic&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;kw5&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;re4&quot;&gt;--font-stack&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;atkinson_mono&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; system-ui&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;monospace&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;pre&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;atkinson_mono&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;monospace&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
code &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;atkinson_mono&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;monospace&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CSS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;css&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;560-3229&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;addons&quot;&gt;Addons&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Kev sent me 2 PHP scripts to provide a Tag-Cloud and a full site Archive page. 
&lt;/p&gt;

&lt;p&gt;
I tweaked them a bit, and here are my current versions.
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?do=export_code&amp;amp;id=public:computers:archive:pureblog&amp;amp;codeblock=1&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_php&quot;&gt;tag-cloud.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;declare&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;strict_types&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$pageTitle&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Tag Cloud&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$metaDescription&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;All tags, sized by how often they appear.&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$tagIndex&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; load_tag_index&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagIndex&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagIndex&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$slugs&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/count&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;count&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slugs&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;// Collect original display names from posts (slugs alone lose capitalisation/spaces)&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;get_all_posts&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$post&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$post&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;tags&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$tag&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; normalize_tag&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tag&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$tag&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;// Sort alphabetically by display name&lt;/span&gt;
&amp;nbsp;
&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/uksort&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;uksort&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string &lt;span class=&quot;re0&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; string &lt;span class=&quot;re0&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; int &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/strcasecmp&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strcasecmp&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;re0&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;re0&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$maxCount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt; ? &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/max&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;max&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$minCount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt; ? &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/min&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;min&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$range&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$maxCount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$minCount&lt;/span&gt; ? &lt;span class=&quot;re0&quot;&gt;$maxCount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$minCount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;require&lt;/span&gt; PUREBLOG_BASE_PATH &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;/includes/header.php&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
render_masthead_layout&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$config&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;page&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
&amp;lt;main&amp;gt;
&amp;nbsp;
    &amp;lt;h1&amp;gt;Tag Cloud&amp;lt;/h1&amp;gt;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
    &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/empty&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
        &amp;lt;p&amp;gt;No tags found.&amp;lt;/p&amp;gt;
&amp;nbsp;
    &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
        &amp;lt;p class=&amp;quot;tag-cloud&amp;quot;&amp;gt;
&amp;nbsp;
            &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tagCounts&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$count&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;re0&quot;&gt;$name&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$originalNames&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;re0&quot;&gt;$ratio&lt;/span&gt;    &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$count&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$minCount&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$range&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;re0&quot;&gt;$fontSize&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/round&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;round&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu19&quot;&gt;0.85&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$ratio&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;nu19&quot;&gt;1.4&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;re0&quot;&gt;$postWord&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$count&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; ? &lt;span class=&quot;st_h&quot;&gt;&#039;post&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;posts&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
                &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;lt;a href=&amp;quot;/tag/&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/rawurlencode&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;rawurlencode&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$slug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;quot;&#039;&lt;/span&gt;
&amp;nbsp;
                   &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039; style=&amp;quot;font-size: &#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$fontSize&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;em&amp;quot;&#039;&lt;/span&gt;
&amp;nbsp;
                   &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039; title=&amp;quot;&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$count&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039; &#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$postWord&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;quot;&amp;gt;&#039;&lt;/span&gt;
&amp;nbsp;
                   &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;  &lt;span class=&quot;st_h&quot;&gt;&#039;(&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;  e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$count&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;)&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;  &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;lt;/a&amp;gt;&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;&amp;amp;emsp;&amp;amp;emsp;&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
            &lt;span class=&quot;kw1&quot;&gt;endforeach&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
        &amp;lt;/p&amp;gt;
&amp;nbsp;
    &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;endif&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
&amp;lt;/main&amp;gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; render_footer_layout&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$config&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;page&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;nbsp;
&amp;lt;/body&amp;gt;
&amp;nbsp;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?do=export_code&amp;amp;id=public:computers:archive:pureblog&amp;amp;codeblock=2&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_php&quot;&gt;archive.php&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;declare&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;strict_types&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$allPosts&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; get_all_posts&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$postsByYear&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$allPosts&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$year&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/empty&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;date&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/date&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;date&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;Y&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/strtotime&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strtotime&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;date&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Unknown&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;re0&quot;&gt;$postsByYear&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$year&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/krsort&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;krsort&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$postsByYear&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; SORT_NATURAL&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$pageTitle&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Archive&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$metaDescription&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;Browse all published posts by year.&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;require&lt;/span&gt; PUREBLOG_BASE_PATH &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;/includes/header.php&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; render_masthead_layout&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$config&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;main class=archive&amp;gt;
    &amp;lt;article&amp;gt;
        &amp;lt;h1&amp;gt;Archive&amp;lt;/h1&amp;gt;
        &amp;lt;p&amp;gt;&lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/count&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;count&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$allPosts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt; published posts.&amp;lt;/p&amp;gt;
&amp;nbsp;
        &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$allPosts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
            &amp;lt;p&amp;gt;No published posts yet.&amp;lt;/p&amp;gt;
        &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$postsByYear&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$year&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$yearPosts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                &amp;lt;h3&amp;gt;&lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$year&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt; (&lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/count&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;count&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$yearPosts&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;)&amp;lt;/h3&amp;gt;
                &amp;lt;ul&amp;gt;
                    &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$yearPosts&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                        &amp;lt;li&amp;gt;
                            &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/empty&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;date&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                              &amp;lt;!--  &amp;lt;small&amp;gt; --&amp;gt;
                                    &amp;lt;time datetime=&amp;quot;&lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;date&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&amp;quot;&amp;gt;
                                        &lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/date&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;date&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;D Y-m-d H:i&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;a target=&quot;_BLANK&quot; href=&quot;http://www.php.net/strtotime&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strtotime&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;date&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                                    &amp;lt;/time&amp;gt;
			   &amp;lt;!--     &amp;lt;/small&amp;gt; --&amp;gt;
				&amp;amp;emsp;
                            &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;endif&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                            &amp;lt;a href=&amp;quot;/&lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;slug&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;st_h&quot;&gt;&#039;&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&amp;quot;&amp;gt;
                                &lt;span class=&quot;sy1&quot;&gt;&amp;lt;?=&lt;/span&gt; e&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;string&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$postItem&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;&#039;title&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; ?? &lt;span class=&quot;st_h&quot;&gt;&#039;Untitled&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                            &amp;lt;/a&amp;gt;
                        &amp;lt;/li&amp;gt;
                    &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;endforeach&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
                &amp;lt;/ul&amp;gt;
            &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;endforeach&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;endif&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
    &amp;lt;/article&amp;gt;
&amp;lt;/main&amp;gt;
&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt; render_footer_layout&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$config&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Addons&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;addons&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3230-7349&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:pure&amp;amp;do=showtag&amp;amp;tag=pure&quot; class=&quot;wikilink1&quot; title=&quot;tag:pure&quot; rel=&quot;tag&quot;&gt;pure&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:blog&amp;amp;do=showtag&amp;amp;tag=blog&quot; class=&quot;wikilink1&quot; title=&quot;tag:blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;
Page created  : 02/03/26 08:50 GMT
&lt;/p&gt;

&lt;p&gt;
Page updated : 03/03/26 07:32 GMT
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7350-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 03 Mar 2026 07:32:20 +0000</pubDate>
        </item>
        <item>
            <title>Python2</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:python2</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;python2&quot;&gt;Python2&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; Debian Bullseye forcing move to Python3 &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
How to install &lt;code&gt;pip2&lt;/code&gt; and then any required &lt;code&gt;python2&lt;/code&gt; modules, and continue to use &lt;code&gt;Python2&lt;/code&gt; code I&amp;#039;ve already written, and don&amp;#039;t want/need to re-write to &lt;code&gt;python3&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Python2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;python2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-263&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;python-is-python2&quot;&gt;1. Python-is-python2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;apt-get install&lt;/span&gt; python-is-python2&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. Python-is-python2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;python-is-python2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;264-359&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;pip2&quot;&gt;2. pip2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
from &lt;a href=&quot;https://www.linuxcapable.com/how-to-install-python-pip-pip3-on-debian-11-bullseye&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.linuxcapable.com/how-to-install-python-pip-pip3-on-debian-11-bullseye&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.linuxcapable.com/how-to-install-python-pip-pip3-on-debian-11-bullseye&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; apt &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; curl &lt;span class=&quot;re5&quot;&gt;-y&lt;/span&gt;
&amp;nbsp;
curl https:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;bootstrap.pypa.io&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;pip&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2.7&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;get-pip.py &lt;span class=&quot;re5&quot;&gt;--output&lt;/span&gt; get-pip.py
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; python2 get-pip.py&lt;/pre&gt;

&lt;p&gt;
Then it&amp;#039;s possible to install &lt;code&gt;python2&lt;/code&gt; modules via &lt;code&gt;pip2&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gm4slv@shack:~$ sudo pip2 install numpy
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. 
Please upgrade your Python as Python 2.7 is no longer maintained. 
pip 21.0 will drop support for Python 2.7 in January 2021.
More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support 
pip 21.0 will remove support for this functionality.
Collecting numpy
  Downloading numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl (17.0 MB)
     |████████████████████████████████| 17.0 MB 196 kB/s
Installing collected packages: numpy
Successfully installed numpy-1.16.6&lt;/pre&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 12/07/22 19:20&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. pip2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pip2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;360-1452&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1453-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>R Pi Image files</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:rpi_image</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;r_pi_image_files&quot;&gt;R Pi Image files&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;R Pi Image files&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;r_pi_image_files&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;16-47&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;various_tips_and_tricks_for_working_with_raspberry_pi_disk_images&quot;&gt;Various tips and tricks for working with Raspberry Pi Disk Images&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Various tips and tricks for working with Raspberry Pi Disk Images&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;various_tips_and_tricks_for_working_with_raspberry_pi_disk_images&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;48-126&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;taking_an_image&quot;&gt;Taking an image&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; remove SD card from Pi&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; insert into PC&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; unmount the image partitions if they get auto-mounted&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; take the image using &lt;code&gt;dd&lt;/code&gt;&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;dd&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;if&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mmblahblah &lt;span class=&quot;re2&quot;&gt;of&lt;/span&gt;=name_of_image.img &lt;span class=&quot;re2&quot;&gt;bs&lt;/span&gt;=4M&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wait….. and wait….&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; this can now be either&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; saved as it is (possibly a big file)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; compressed with gzip &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;gzip&lt;/span&gt; name_of_image.img&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; an alternative is to make sure the image is as small as it needs to be, appropriate to the space actually needed by the installed OS.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Taking an image&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;taking_an_image&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;127-669&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;using_losetup_to_work_with_the_image_file&quot;&gt;Using &amp;#039;&amp;#039;losetup&amp;#039;&amp;#039; to work with the image file&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The image can be used as a &lt;em&gt;loop&lt;/em&gt; device and then mounted as a normal disk to allow access to the files etc. 
&lt;/p&gt;

&lt;p&gt;
To access the image as a &lt;em&gt;loop&lt;/em&gt; device you let &lt;code&gt;losetup&lt;/code&gt; find the partitions automatically and convert them to to loop partitions &lt;code&gt;loop0p1&lt;/code&gt; (the &lt;code&gt;/boot&lt;/code&gt; partition) and &lt;code&gt;loop0p2&lt;/code&gt; the &lt;code&gt;root&lt;/code&gt; partition. You can then mount whichever one you need. 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; losetup &lt;span class=&quot;re5&quot;&gt;-Pf&lt;/span&gt; igate.img
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ lsblk
NAME      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0       &lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;   4.3G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; loop
├─loop0p1 &lt;span class=&quot;nu0&quot;&gt;259&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;   256M  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
└─loop0p2 &lt;span class=&quot;nu0&quot;&gt;259&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;     4G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
sda         &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; 298.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; disk
├─sda1      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; 235.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
├─sda2      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;     1K  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
├─sda3      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;  50.9G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part
└─sda5      &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;  12.1G  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; part &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;SWAP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
sr0        &lt;span class=&quot;nu0&quot;&gt;11&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;    &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;  1024M  &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; rom
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;mount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;loop0p2 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt $ &lt;span class=&quot;kw2&quot;&gt;ls&lt;/span&gt;
bin  boot  dev  etc  home  lib  lost+found  media  mnt  opt  proc  root  run  sbin  share  srv  sys  tmp  usr  var
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt $ &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc $ &lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;hostname&lt;/span&gt;
igate
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc $&lt;/pre&gt;

&lt;p&gt;
This allows you to change files (one example is to set a fixed IP address in &lt;code&gt;/etc/dhcpcd.conf&lt;/code&gt;) as required.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Using &amp;#039;&amp;#039;losetup&amp;#039;&amp;#039; to work with the image file&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;using_losetup_to_work_with_the_image_file&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;670-2037&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;shrinking_the_image&quot;&gt;Shrinking the image&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If the OS had been expanded after install to &lt;em&gt;fill the whole SD Card space&lt;/em&gt; there is now a lot of pointless wasted space in the image that
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; takes up disk space to store&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; makes copying to a new SD card slow&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; makes it impossible to copy to a smaller card&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
The image can be shrunk to a more appropriate size.
&lt;/p&gt;

&lt;p&gt;
The gist of it is &lt;a href=&quot;https://superuser.com/questions/610819/how-to-resize-img-file-created-with-dd&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://superuser.com/questions/610819/how-to-resize-img-file-created-with-dd&quot; rel=&quot;ugc nofollow noopener&quot;&gt;here&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; unmount the loop device: &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;umount&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;mnt&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; use &lt;code&gt;gparted&lt;/code&gt; (need to be at a machine with a graphical session) to shrink the partition to a more suitable size, leaving some room for safety&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dispose of the &lt;code&gt;loop&lt;/code&gt; device &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; losetup &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; loop0&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The *.img file is still the same size, but the partitions within the file are smaller, the rest of the space needs to be stripped from the *.img file with &lt;code&gt;truncate&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Use &lt;code&gt;fdisk&lt;/code&gt; to inspect the image file to see where the partitions start and end &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;laptop:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;piimg $ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;fdisk&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-l&lt;/span&gt; igate.img
Disk igate.img: &lt;span class=&quot;nu0&quot;&gt;4.25&lt;/span&gt; GiB, &lt;span class=&quot;nu0&quot;&gt;4563402752&lt;/span&gt; bytes, &lt;span class=&quot;nu0&quot;&gt;8912896&lt;/span&gt; sectors
Units: sectors of &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; = &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; bytes
Sector &lt;span class=&quot;kw2&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;logical&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;physical&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; bytes &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; bytes
I&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;O &lt;span class=&quot;kw2&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;minimum&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;optimal&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; bytes &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt; bytes
Disklabel type: dos
Disk identifier: 0x38ea48c4
&amp;nbsp;
Device     Boot  Start     End Sectors  Size Id Type
igate.img1        &lt;span class=&quot;nu0&quot;&gt;8192&lt;/span&gt;  &lt;span class=&quot;nu0&quot;&gt;532479&lt;/span&gt;  &lt;span class=&quot;nu0&quot;&gt;524288&lt;/span&gt;  256M  c W95 FAT32 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;LBA&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
igate.img2      &lt;span class=&quot;nu0&quot;&gt;532480&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;8912895&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;8380416&lt;/span&gt;    4G &lt;span class=&quot;nu0&quot;&gt;83&lt;/span&gt; Linux&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The second partition ends at block &lt;strong&gt;8912895&lt;/strong&gt; so you shrink the filesystem to this point (plus one). This requires the calculation of the actual number of bytes, based on the &lt;strong&gt;block size of 512 bytes&lt;/strong&gt;. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Either calculate it yourself, or put the calculation in the command:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt; &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; truncate &lt;span class=&quot;re5&quot;&gt;--size&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;8912895&lt;/span&gt;+&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;512&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; name_of_image.img&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Voila, a smaller image on file which uses &lt;em&gt;just enough&lt;/em&gt; space for the &lt;em&gt;already known to be working&lt;/em&gt; OS
&lt;/p&gt;

&lt;p&gt;
Page Updated: 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:pi&amp;amp;do=showtag&amp;amp;tag=pi&quot; class=&quot;wikilink1&quot; title=&quot;tag:pi&quot; rel=&quot;tag&quot;&gt;pi&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Shrinking the image&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shrinking_the_image&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2038-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Laptop Backup via rsync</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:rsync_backup</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;laptop_backup_via_rsync&quot;&gt;Laptop Backup via rsync&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; A simple way to keep a backup of my laptop Home directory &lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Laptop Backup via rsync&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;laptop_backup_via_rsync&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-120&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;backup_hosts&quot;&gt;Backup hosts&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;where to put the backups for safe keeping &lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; A NAS box on my home LAN : &lt;code&gt;nas1&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; An old Lenovo Laptop acting as a LAN file server : &lt;code&gt;laptop&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; My cloud VPS server : &lt;code&gt;g4slv.info&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Backup hosts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;backup_hosts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;121-342&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;rsync_script&quot;&gt;Rsync Script&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To automate the backup to any of the three backup hosts above I&amp;#039;ve got a script, obviously.
&lt;/p&gt;

&lt;p&gt;
The script checks which hosts are currently online and reachable and backs up the same data to each of them. This check means any of the hosts can be turned off but the script won&amp;#039;t simply hang waiting for connection timeout before trying the next hosts.
&lt;/p&gt;

&lt;p&gt;
To reduce the traffic, and to limit backing up needless data (i.e. don&amp;#039;t just backup the whole of $HOME) I have an &lt;code&gt;exclude&lt;/code&gt; file that lists files and directories that should be ignored.
&lt;/p&gt;

&lt;p&gt;
The backups are saved in a remote Directory called “devuan” - the laptop being backed up is running Devuan linux and has the hostname &lt;code&gt;devuan&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
I also backup a mirror of the wiki to the local NAS and Laptop hosts (as long as I remember to pull a backup/mirror down from the wiki server first). There&amp;#039;s no point in backing &lt;em&gt;this&lt;/em&gt; up to the remote VPS - since that&amp;#039;s the machine where the wiki lives in the first place!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Rsync Script&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rsync_script&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;343-1330&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;exclude&quot;&gt;Exclude&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;/fetch
/fetch.png
/.fehbg
.lesshst
.viminfo
*mutt*
aur/
muttheadercache
muttmessagecache/
*.img
*.iso
.cache/
.claws-mail/
.cups/
.dbus/
.fonts/
.mozilla/
.librewolf/
Kate/
.config/chromium/*
.config/pulse/*
.config/xfce4*
.config/libreoffice
.local/bin/*
.local/share/*
.zoom/*
Pictures/*
Downloads/*
Nextcloud/
yadd_full*
eSIM*
bin/dokuwiki/*
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Exclude&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;exclude&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1331-1711&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;rsync_script1&quot;&gt;Rsync Script&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# The NAS1 destination is a share called  Backups&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# which is accessed via &amp;quot;daemon rsync&amp;quot; at nas1::Backups&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# rather than a directory in /home/g4slv&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# this allows passwordless rsync. Necessary since the ssh&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# server @ nas1 is too old to accept identity keys from&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# modern ssh clients - so normal rsync-over-ssh would require&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# a password.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Using a &amp;quot;module&amp;quot; overcomes this, and allows for automatic&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# backups.&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;EXCLUDEFROM&lt;/span&gt;=~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;exclude
&lt;span class=&quot;re2&quot;&gt;SOURCE&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;g4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;DEST&lt;/span&gt;=devuan
&lt;span class=&quot;re2&quot;&gt;WIKI&lt;/span&gt;=wiki
&lt;span class=&quot;co0&quot;&gt;#CLOUD=217.154.53.244&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;CLOUD&lt;/span&gt;=g4slv.info
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;# Test if the destinations are reachable&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;NAS&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-w&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; 192.168.21.5 &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; received &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{print $4}&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;LAPTOP&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-w&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; 192.168.21.101 &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; received &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{print $4}&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;INFO&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;ping&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-w&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$CLOUD&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; received &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;{print $4}&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$NAS&lt;/span&gt; == &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
	rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--delete&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; 192.168.21.5::Backups&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$WIKI&lt;/span&gt;
	rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt;  &lt;span class=&quot;re5&quot;&gt;--exclude-from&lt;/span&gt;=&lt;span class=&quot;re1&quot;&gt;$EXCLUDEFROM&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$SOURCE&lt;/span&gt; 192.168.21.5::Backups&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$DEST&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;NAS1 not found&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$LAPTOP&lt;/span&gt; == &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
	rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--delete&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; 192.168.21.101:backups&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$WIKI&lt;/span&gt;
	rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--exclude-from&lt;/span&gt;=&lt;span class=&quot;re1&quot;&gt;$EXCLUDEFROM&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$SOURCE&lt;/span&gt; 192.168.21.101:backups&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$DEST&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Laptop not found&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$INFO&lt;/span&gt; == &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;ssh -p xxxx&#039;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--exclude-from&lt;/span&gt;=&lt;span class=&quot;re1&quot;&gt;$EXCLUDEFROM&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$SOURCE&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$CLOUD&lt;/span&gt;:backups&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$DEST&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
	&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Server INFO not found&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Rsync Script&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rsync_script1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1712-3081&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;dokuwiki_mirror_backup&quot;&gt;Dokuwiki Mirror/Backup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
I have a script to pull a copy of the dokuwiki files from the VPS and put them in &lt;code&gt;/var/www/html/*&lt;/code&gt; on my laptop. The laptop runs &lt;code&gt;apache2&lt;/code&gt; and can server the wiki itself. This mirror can be backed up through the above script to the other backup hosts &lt;code&gt;nas1&lt;/code&gt; and &lt;code&gt;laptop&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;ssh -p xxxx&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--progress&lt;/span&gt;  xxxx&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;g4slv.info:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; rsync &lt;span class=&quot;re5&quot;&gt;-av&lt;/span&gt; dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;chown&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-R&lt;/span&gt; www-data:www-data &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;www&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;html&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dokuwiki&lt;/pre&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 29/01/26 13:48 GMT&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dokuwiki Mirror\/Backup&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dokuwiki_mirror_backup&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3082-3675&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:computer&amp;amp;do=showtag&amp;amp;tag=computer&quot; class=&quot;wikilink1&quot; title=&quot;tag:computer&quot; rel=&quot;tag&quot;&gt;computer&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:backup&amp;amp;do=showtag&amp;amp;tag=backup&quot; class=&quot;wikilink1&quot; title=&quot;tag:backup&quot; rel=&quot;tag&quot;&gt;backup&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3676-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 29 Jan 2026 15:22:08 +0000</pubDate>
        </item>
        <item>
            <title>Sandbox Server</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:sandbox_server</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;sandbox_server&quot;&gt;Sandbox Server&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt; UPDATE — &lt;em&gt;John Pumford-Green 04/03/25 08:02 GMT&lt;/em&gt; &lt;/strong&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteclassic&quot;&gt;The hardware running this little machine has recently become unreliable, the SSD is dying, so I&amp;#039;ve turned it off. I&amp;#039;ll leave any old information about this box for future reference

&lt;/div&gt;
&lt;p&gt;
&lt;strong&gt; UPDATE — &lt;em&gt;John Pumford-Green 27/04/23 06:16&lt;/em&gt; &lt;/strong&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteclassic&quot;&gt;I have removed the self-signed SSL configuration on the shack &lt;em&gt;sandbox&lt;/em&gt; server and reverted it to plain HTTP.
I may re-instate it at some point in the future, but I decided I didn&amp;#039;t want the hassle of persuading Chrome to accept the self-signed &lt;em&gt;unsafe&lt;/em&gt; certificate all the time.
&lt;p&gt;
The details below show how it was originally set up, and can be used in future should I decide to repeat the process.
&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sandbox Server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sandbox_server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-779&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;encryption&quot;&gt;Encryption&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The shack webserver has a mirror of my &lt;em&gt;real&lt;/em&gt; dokuwiki, to use as a test-bed and after setting it up I discovered that the encryption plugin I was using on the &lt;em&gt;real&lt;/em&gt; wiki &lt;a href=&quot;https://www.dokuwiki.org/plugin:encryptedpasswords&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.dokuwiki.org/plugin:encryptedpasswords&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Encrypted Passwords Plugin&lt;/a&gt; didn&amp;#039;t work.
&lt;/p&gt;

&lt;p&gt;
After some head scratching, and after trying out another plugin (dokucrypt2 plugin), I figured out the difference between the 2 web servers….
&lt;/p&gt;

&lt;p&gt;
The &lt;em&gt;real&lt;/em&gt; server is configured to do proper HTTPS, with a real, signed SSL certificate. The shack server only does plain old HTTP, no encryption.
&lt;/p&gt;

&lt;p&gt;
To test out my theory that this is what was &lt;em&gt;breaking&lt;/em&gt; Encrypted Password Plugin I setup self-signed SSL on the shack webserver. It&amp;#039;s just for local testing so there&amp;#039;s no need for traceable certification, just the ability to handle HTTPS traffic.
&lt;/p&gt;

&lt;p&gt;
It turned out to be quite simple….
&lt;/p&gt;

&lt;p&gt;
I found the information here : &lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;shack:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl_setup$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; openssl req &lt;span class=&quot;re5&quot;&gt;-x509&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-nodes&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-days&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;365&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-newkey&lt;/span&gt; rsa:&lt;span class=&quot;nu0&quot;&gt;2048&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-keyout&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;private&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apache-selfsigned.key &lt;span class=&quot;re5&quot;&gt;-out&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;certs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apache-selfsigned.crt
Generating a RSA private key
.......................+++++
...........+++++
writing new private key to &lt;span class=&quot;st_h&quot;&gt;&#039;/etc/ssl/private/apache-selfsigned.key&#039;&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;-----&lt;/span&gt;
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter &lt;span class=&quot;st_h&quot;&gt;&#039;.&#039;&lt;/span&gt;, the field will be left blank.
&lt;span class=&quot;re5&quot;&gt;-----&lt;/span&gt;
Country Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; letter code&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;AU&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:GB
State or Province Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;full name&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;Some-State&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:Shetland
Locality Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;eg, city&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:Clousta
Organization Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;eg, company&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;Internet Widgits Pty Ltd&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:GM4SLV
Organizational Unit Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;eg, section&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:GM4SLV
Common Name &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;e.g. server FQDN or YOUR name&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:shack
Email Address &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:&lt;/pre&gt;

&lt;p&gt;
The certificates are put in the directories already pointed to in the default SSL site config file so all I had to do was tell apache to enable ssl 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; a2enmod ssl&lt;/pre&gt;

&lt;p&gt;
and enable the default SSL site
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;shack:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apache2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sites-enabled$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; a2ensite default-ssl.conf
Enabling site default-ssl.
To activate the new configuration, you need to run:
  systemctl reload apache2
gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;shack:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;etc&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apache2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sites-enabled$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; service apache2 restart&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Encryption&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;encryption&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;780-3302&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;ssl_enabled&quot;&gt;SSL enabled&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Browse to &lt;a href=&quot;https://shack/dokuwiki&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://shack/dokuwiki&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://shack/dokuwiki&lt;/a&gt; and I got the usual dire Chrome warning
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:screenshot_2022-05-30_19.19.16.png&quot; class=&quot;media&quot; title=&quot;public:computers:screenshot_2022-05-30_19.19.16.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=aa13cc&amp;amp;media=public:computers:screenshot_2022-05-30_19.19.16.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…. but chose to continue anyway…
&lt;/p&gt;

&lt;p&gt;
and it works!
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:screenshot_2022-05-30_19.15.26.png&quot; class=&quot;media&quot; title=&quot;public:computers:screenshot_2022-05-30_19.15.26.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=863cab&amp;amp;media=public:computers:screenshot_2022-05-30_19.15.26.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SSL enabled&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssl_enabled&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3303-3600&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;encrypted_password_plugin&quot;&gt;Encrypted Password Plugin&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Then I tested the Encrypted Passwords Plugin and &lt;strong&gt; it also works &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
UPDATE— &lt;em&gt;John Pumford-Green 31/05/22 21:13&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
The &lt;a href=&quot;https://www.dokuwiki.org/plugin:encryptedpasswords&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.dokuwiki.org/plugin:encryptedpasswords&quot; rel=&quot;ugc nofollow noopener&quot;&gt;plugin page&lt;/a&gt; does say that HTTPS is needed:
&lt;/p&gt;
&lt;blockquote&gt;&lt;div class=&quot;no&quot;&gt;
 Please note that the modern encryption mechanisms used within this Plugin require a modern Browser, JavaScript enabled and a wiki served via HTTPS!&lt;/div&gt;&lt;/blockquote&gt;

&lt;/div&gt;

&lt;h4 id=&quot;result&quot;&gt;Result!&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I can now use the &lt;em&gt;sandbox&lt;/em&gt; wiki to test everything that&amp;#039;s running on the &lt;em&gt;real&lt;/em&gt; wiki server.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;redirect_to_https&quot;&gt;Redirect to https&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
(&lt;strong&gt;UPDATE&lt;/strong&gt; — &lt;em&gt;John Pumford-Green 31/05/22 10:08&lt;/em&gt;)
&lt;/p&gt;

&lt;p&gt;
edit 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;/etc/apache2/sites-enabled/000-default.conf&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
to add 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ServerName gm4slv.plus.com
Redirect permanent / https://gm4slv.plus.com/&lt;/pre&gt;

&lt;p&gt;
Open &amp;amp; forward router&amp;#039;s port TCP/443 to the shack webserver
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;sudo service apache2 restart&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Hey presto - external access to HTTPS 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Encrypted Password Plugin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;encrypted_password_plugin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3601-4503&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;page_info&quot;&gt;Page Info&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 30/05/22 19:05&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Page last updated: 30/12/25 09:55 GMT
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:ssl&amp;amp;do=showtag&amp;amp;tag=ssl&quot; class=&quot;wikilink1&quot; title=&quot;tag:ssl&quot; rel=&quot;tag&quot;&gt;ssl&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:apache&amp;amp;do=showtag&amp;amp;tag=apache&quot; class=&quot;wikilink1&quot; title=&quot;tag:apache&quot; rel=&quot;tag&quot;&gt;apache&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:dokuwiki&amp;amp;do=showtag&amp;amp;tag=dokuwiki&quot; class=&quot;wikilink1&quot; title=&quot;tag:dokuwiki&quot; rel=&quot;tag&quot;&gt;dokuwiki&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Page Info&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;page_info&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4504-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Diversion into the Linux Serial Console...</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:serial_terminal</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;diversion_into_the_linux_serial_console&quot;&gt;Diversion into the Linux Serial Console...&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 01/10/22 22:26&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
In preparation to my plan of adding a pair of RS232 serial ports to the next iteration of the 6502 computer I dug out an old Wyse serial terminal to use. I thought I&amp;#039;d check it still worked after many idle years gathering dust. It was last used when I first started playing with Linux on an old 486/DX2 machine (Red Hat 6 I think) and used it to access the headless 486 machine through a serial console.
&lt;/p&gt;

&lt;p&gt;
To re-live the experience I hooked it up to my little “pico-ITX” Linux server, which has a real serial port with a 9-pin D connector (!) and set about configuring Debian 11 with systemd (urgh!) to provide a console and login on /dev/ttyS0.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:linux_serial_console&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:linux_serial_console&quot; data-wiki-id=&quot;public:computers:archive:linux_serial_console&quot;&gt;Linux Serial Console&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:img_20220930_120917_052_1.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:img_20220930_120917_052_1.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=1eb796&amp;amp;media=public:computers:img_20220930_120917_052_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=public:computers:img_20220930_120938_557_1.jpg&quot; class=&quot;media&quot; title=&quot;public:computers:img_20220930_120938_557_1.jpg&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=ce7150&amp;amp;media=public:computers:img_20220930_120938_557_1.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Then I remembered using Pine as an email client via a terminal session (and in xterm windows, and a non-X linux virtual terminal) so I thought I&amp;#039;d install it and re-live those days. Pine is no longer (easily) available but a new version is still being maintained - &lt;a href=&quot;https://alpineapp.email/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://alpineapp.email/&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Alpine &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Installed it and spent a happy evening getting it to work with 2 different IMAP accounts (and the correct SMTP servers) &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:alpine&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:alpine&quot; data-wiki-id=&quot;public:computers:archive:alpine&quot;&gt;Old stuff but good&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
And then, telnet and telnetd….. and ftp and ftpd….. oh, those were the days..!
&lt;/p&gt;

&lt;p&gt;
I wanted to install and run &lt;code&gt;slrn&lt;/code&gt; for USENET NNTP news, like the old days, but I discovered there was no point even trying, as there seems to be no freely available NNTP servers around any more. Back in the day most ISPs seemed to provide a server even if it was limited in the newsgroups it carried. That doesn&amp;#039;t seem to be the case any more.
&lt;/p&gt;

&lt;p&gt;
On the subject of Wyse terminals and Linux I stumbled on a You Tube video &lt;a href=&quot;https://www.youtube.com/watch?v=xQTr9ZOJkC0&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.youtube.com/watch?v=xQTr9ZOJkC0&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.youtube.com/watch?v=xQTr9ZOJkC0&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&lt;/a&gt; and this led to another interesting video &lt;a href=&quot;https://www.youtube.com/watch?v=NUmTaRu6o8g&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.youtube.com/watch?v=NUmTaRu6o8g&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.youtube.com/watch?v=NUmTaRu6o8g&amp;amp;feature=share&amp;amp;si=ELPmzJkDCLju2KnD5oyZMQ&lt;/a&gt; describing a console-mode RSS reader &lt;a href=&quot;https://newsboat.org/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://newsboat.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt; Newsboat&lt;/a&gt; so I had to try it….
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;ve enabled the RSS feed from this dokuwiki WiKi/Blog, just to play…. point your RSS software at &lt;a href=&quot;https://www.gm4slv.org.uk/dokuwiki/feed.php&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.gm4slv.org.uk/dokuwiki/feed.php&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.gm4slv.org.uk/dokuwiki/feed.php&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Well, now I&amp;#039;ve got Alpine, Lynx and Newsboat running in a Tmux session, accessed from a nice amber glowing CRT with the Wyse-185.
&lt;/p&gt;

&lt;p&gt;
Now I need to build Mk2 of the 6502 - which is going to be wire-wrapped and much more compact than the rat&amp;#039;s nest of Mk1
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:computer&amp;amp;do=showtag&amp;amp;tag=computer&quot; class=&quot;wikilink1&quot; title=&quot;tag:computer&quot; rel=&quot;tag&quot;&gt;computer&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 07:16:30 +0000</pubDate>
        </item>
        <item>
            <title>SSL Install on VPS</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:ssl_install_vps</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ssl_install_on_vps&quot;&gt;SSL Install on VPS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I decided to bite the bullet and obtain an SSL certificate and install it on this VPS, and configure Apache2 to use HTTPS instead of plain HTTP.
&lt;/p&gt;

&lt;p&gt;
I used Fasthost again to obtain the SSL certificate, and some of their instructions were a little dodgy regarding the steps to install it and get Apache to work with SSL. I managed in the end though.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;gm4slv.org.uk&lt;/code&gt; now has a SSL certificate and connections to port 80 HTTP will be automatically redirected to port 443 HTTPS.
&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
The steps with Apache (ignoring the process of obtaining the certificates):
&lt;/p&gt;

&lt;p&gt;
There are 3 certificate files:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;*.key&lt;/code&gt; is generated on the VPS itself with &lt;pre class=&quot;code bash&quot;&gt;openssl req &lt;span class=&quot;re5&quot;&gt;-new&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-newkey&lt;/span&gt; rsa:&lt;span class=&quot;nu0&quot;&gt;2048&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-nodes&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-keyout&lt;/span&gt; gm4slv.org.uk.key &lt;span class=&quot;re5&quot;&gt;-out&lt;/span&gt; gm4slv.org.uk.csr &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the signed &lt;code&gt;*.crt file&lt;/code&gt; obtained from the signing authority via FastHost (it&amp;#039;s the gm4slv.org.uk.csr key signed by the authority&amp;#039;s key)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the “intermediate” file obtained from the signing authority via FastHost (this is the “chain of authority” file?)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Once the keys are to hand:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; copy the 3 certificate files to a directory on the VPS. I used &lt;code&gt;/usr/local/ssl/&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; tell Apache where to find the keys:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; add to &lt;code&gt;default-ssl.conf&lt;/code&gt; virtual host site file&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLCertificateFile /usr/local/ssl/signed.crt&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLCertificateKeyFile /usr/local/ssl/gm4slv.org.uk.key&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;SSLCertificateChainFile /usr/local/ssl/ca.pem&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; add ssl mod to Apache: &lt;pre class=&quot;code&quot;&gt; a2enmod ssl &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; make symbolic link in &lt;code&gt;sites-enabled&lt;/code&gt; pointing to &lt;code&gt;sites-available/default-ssl.conf&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; restart apache&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; open VPS firewall port 443 in FastHost control panel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; browse to &lt;a href=&quot;https://gm4slv.org.uk&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://gm4slv.org.uk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://gm4slv.org.uk&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; set up redirect of plain HTTP to SSL HTTPS by adding to &lt;code&gt;000-default.conf&lt;/code&gt; &lt;pre class=&quot;code apache&quot;&gt;    &lt;span class=&quot;kw1&quot;&gt;ServerName&lt;/span&gt; gm4slv.org.uk
    &lt;span class=&quot;kw1&quot;&gt;ServerAlias&lt;/span&gt; www.gm4slv.org.uk
    &lt;span class=&quot;kw1&quot;&gt;Redirect&lt;/span&gt; permanent / https://gm4slv.org.uk/&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; restart apache&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Job Done
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=server:screenshot_2022-05-04_22.00.14.png&quot; class=&quot;media wikilink2&quot; title=&quot;server:screenshot_2022-05-04_22.00.14.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=668a8c&amp;amp;media=server:screenshot_2022-05-04_22.00.14.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:ssl&amp;amp;do=showtag&amp;amp;tag=ssl&quot; class=&quot;wikilink1&quot; title=&quot;tag:ssl&quot; rel=&quot;tag&quot;&gt;ssl&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:apache&amp;amp;do=showtag&amp;amp;tag=apache&quot; class=&quot;wikilink1&quot; title=&quot;tag:apache&quot; rel=&quot;tag&quot;&gt;apache&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:vps&amp;amp;do=showtag&amp;amp;tag=vps&quot; class=&quot;wikilink1&quot; title=&quot;tag:vps&quot; rel=&quot;tag&quot;&gt;vps&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SSL Install on VPS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssl_install_on_vps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>Archive</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:start&quot; data-wiki-id=&quot;public:computers:start&quot;&gt;Computers&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;archive&quot;&gt;Archive&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Some older things that may or may not prove useful in future&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;script type=&quot;text/javascript&quot;&gt; catlist_baseurl = &quot;https://www.g4slv.info/dokuwiki/&quot;; catlist_basescript = &quot;doku.php&quot;; catlist_useslash = 0; catlist_userewrite = 0; catlist_sepchar = &quot;_&quot;; catlist_deaccent = 1; catlist_pagename_sanitize = 1; &lt;/script&gt;&lt;ul style=&quot;-webkit-column-count: 3; -moz-column-count: 3; column-count: 3;&quot; class=&quot;catlist_columns catlist-nslist&quot; &gt;&lt;li class=&quot;catlist-ns&quot;&gt;&lt;strong class=&quot;li catlist-nshead&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:6502:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:6502:start&quot; data-wiki-id=&quot;public:computers:archive:6502:start&quot;&gt;6502 Project&lt;/a&gt;&lt;/strong&gt;&lt;ul class=&quot;catlist-nslist&quot;&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:i3wm2&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:i3wm2&quot; data-wiki-id=&quot;public:computers:archive:i3wm2&quot;&gt;Another diversion... I3 Tiling WM&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:antix&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:antix&quot; data-wiki-id=&quot;public:computers:archive:antix&quot;&gt;AntiX&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:gists&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:gists&quot; data-wiki-id=&quot;public:computers:archive:gists&quot;&gt;Code &amp;amp; Command Snippets&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dbus_automount&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dbus_automount&quot; data-wiki-id=&quot;public:computers:archive:dbus_automount&quot;&gt;DBUS &amp;amp; Automount&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:serial_terminal&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:serial_terminal&quot; data-wiki-id=&quot;public:computers:archive:serial_terminal&quot;&gt;Diversion into the Linux Serial Console...&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_mirror&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dokuwiki_mirror&quot; data-wiki-id=&quot;public:computers:archive:dokuwiki_mirror&quot;&gt;Dokuwiki Mirror&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dokuwiki_backup&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dokuwiki_backup&quot; data-wiki-id=&quot;public:computers:archive:dokuwiki_backup&quot;&gt;DokuWiki Unison Backup&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:dropbox&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:dropbox&quot; data-wiki-id=&quot;public:computers:archive:dropbox&quot;&gt;Dropbox&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:github&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:github&quot; data-wiki-id=&quot;public:computers:archive:github&quot;&gt;Github Config File Repos&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:i3_window_manager&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:i3_window_manager&quot; data-wiki-id=&quot;public:computers:archive:i3_window_manager&quot;&gt;I3 Window Manager&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:jave_jre&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:jave_jre&quot; data-wiki-id=&quot;public:computers:archive:jave_jre&quot;&gt;Java JRE and Echolink Proxy&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:rsync_backup&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:rsync_backup&quot; data-wiki-id=&quot;public:computers:archive:rsync_backup&quot;&gt;Laptop Backup via rsync&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:linux_serial_console&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:linux_serial_console&quot; data-wiki-id=&quot;public:computers:archive:linux_serial_console&quot;&gt;Linux Serial Console&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:mediawiki&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:mediawiki&quot; data-wiki-id=&quot;public:computers:archive:mediawiki&quot;&gt;MediaWiki VPS Install&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:mercurial&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:mercurial&quot; data-wiki-id=&quot;public:computers:archive:mercurial&quot;&gt;Mercurial&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:alpine&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:alpine&quot; data-wiki-id=&quot;public:computers:archive:alpine&quot;&gt;Old stuff but good&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:pinouts&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:pinouts&quot; data-wiki-id=&quot;public:computers:archive:pinouts&quot;&gt;Pinouts&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:pureblog&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:pureblog&quot; data-wiki-id=&quot;public:computers:archive:pureblog&quot;&gt;Pure Blog&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:python2&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:python2&quot; data-wiki-id=&quot;public:computers:archive:python2&quot;&gt;Python2&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:rpi_image&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:rpi_image&quot; data-wiki-id=&quot;public:computers:archive:rpi_image&quot;&gt;R Pi Image files&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:sandbox_server&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:sandbox_server&quot; data-wiki-id=&quot;public:computers:archive:sandbox_server&quot;&gt;Sandbox Server&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:ssl_install_vps&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:ssl_install_vps&quot; data-wiki-id=&quot;public:computers:archive:ssl_install_vps&quot;&gt;SSL Install on VPS&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:tmux&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:tmux&quot; data-wiki-id=&quot;public:computers:archive:tmux&quot;&gt;Tmux tips and tricks&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:unison&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:unison&quot; data-wiki-id=&quot;public:computers:archive:unison&quot;&gt;Unison&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;catlist-page&quot;&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:vps_tips_tricks&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:vps_tips_tricks&quot; data-wiki-id=&quot;public:computers:archive:vps_tips_tricks&quot;&gt;VPS Notes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
— &lt;em&gt;John Pumford-Green 29/01/26 15:10 GMT&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Archive&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;archive&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;18-212&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;further_information&quot;&gt;Further Information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:computer&amp;amp;do=showtag&amp;amp;tag=computer&quot; class=&quot;wikilink1&quot; title=&quot;tag:computer&quot; rel=&quot;tag&quot;&gt;computer&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Further Information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;further_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;213-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 29 Jan 2026 16:08:25 +0000</pubDate>
        </item>
        <item>
            <title>Tmux tips and tricks</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:tmux</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;tmux_tips_and_tricks&quot;&gt;Tmux tips and tricks&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tmux tips and tricks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tmux_tips_and_tricks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;16-51&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;prefix_key&quot;&gt;prefix key&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
From &lt;a href=&quot;https://gist.github.com/JikkuJose/7509315&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://gist.github.com/JikkuJose/7509315&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://gist.github.com/JikkuJose/7509315&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Change “prefix” key to the backtick `
add to ~/.tmux.conf 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;unbind C-b
set-option &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt; prefix &lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;bind&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt; send-prefix&lt;/pre&gt;

&lt;p&gt;
the last line means typing two backticks in succession will pass the second one to the application - so can still enter ` into app. running in the tmux window.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;prefix key&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;prefix_key&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;52-415&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;terminal_colours&quot;&gt;terminal colours&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Colours in tmux… need TERM “xterm-256color”…
&lt;/p&gt;

&lt;p&gt;
add to ~/.bashrc:
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;re2&quot;&gt;TERM&lt;/span&gt;=xterm-256color&lt;/pre&gt;

&lt;p&gt;
also to ~/.tmux.conf
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-g&lt;/span&gt; default-terminal &lt;span class=&quot;st0&quot;&gt;&amp;quot;xterm-256color&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;terminal colours&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;terminal_colours&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;416-644&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;start_programs_in_tmux&quot;&gt;start programs in tmux&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Something like this:
&lt;/p&gt;
&lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?do=export_code&amp;amp;id=public:computers:archive:tmux&amp;amp;codeblock=3&quot; title=&quot;Download Snippet&quot; class=&quot;mediafile mf_sh&quot;&gt;start_direwolf.sh&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code file bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;session&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;Igate&amp;quot;&lt;/span&gt;
&amp;nbsp;
tmux start-server
&amp;nbsp;
tmux new-session &lt;span class=&quot;re5&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$session&lt;/span&gt;
&amp;nbsp;
tmux rename-window &lt;span class=&quot;st0&quot;&gt;&amp;quot;direwolf&amp;quot;&lt;/span&gt;
&amp;nbsp;
tmux selectp &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
tmux send-keys &lt;span class=&quot;st0&quot;&gt;&amp;quot;direwolf -t 1 -T &amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;c&lt;span class=&quot;st0&quot;&gt;&amp;quot; -c /home/gm4slv/direwolf.conf&amp;quot;&lt;/span&gt; C-m&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:tmux&amp;amp;do=showtag&amp;amp;tag=tmux&quot; class=&quot;wikilink1&quot; title=&quot;tag:tmux&quot; rel=&quot;tag&quot;&gt;tmux&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;start programs in tmux&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_programs_in_tmux&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;645-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Apr 2024 20:37:08 +0000</pubDate>
        </item>
        <item>
            <title>Unison</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:unison</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;unison&quot;&gt;Unison&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
I used &lt;code&gt;unison&lt;/code&gt; previously to maintain sync/backup of files between machines on my own LAN.
&lt;/p&gt;

&lt;p&gt;
This has been used to keep files on a PC synchronized to the Dropbox folders on another PC, and 
thereby with the Dropbox cloud.
&lt;/p&gt;

&lt;p&gt;
Now that I have access to a remote Debian Linux VPS machine I thought I&amp;#039;d revisit the use of 
&lt;code&gt;Unison&lt;/code&gt; to keep folders synchronised - perhaps to keep a remote backup of certain files. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;You can never have too many backups&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
I installed the Debian package of &lt;code&gt;unison&lt;/code&gt; on the new VPS machine and made a matching pair of
configurations - one on the VPS and one on the Shack Laptop (which already has &lt;code&gt;unison&lt;/code&gt; installed).
&lt;/p&gt;

&lt;p&gt;
The configurations:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Unison&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;unison&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;17-712&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;laptop&quot;&gt;Laptop&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code ini&quot;&gt;&lt;span class=&quot;re1&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; /home/gm4slv/test_dir&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; ssh://gm4slv.org.uk/test_dir&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;sshargs&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; -C&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Laptop&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;laptop&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;713-829&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;vps&quot;&gt;VPS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code ini&quot;&gt;&lt;span class=&quot;re1&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; /home/gm4slv/test_dir&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; ssh://gm4slv.plus.com:27659/test_dir&lt;/span&gt;
&lt;span class=&quot;re1&quot;&gt;sshargs&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt; -C&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VPS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;830-951&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;unison_version&quot;&gt;Unison version&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
I put some files in one “test_dir” and ran 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;unison vps&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
from the Shack Laptop and got this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Unison 2.51.3 (ocaml 4.11.1): Contacting server...
Fatal error: Received unexpected header from the server:
 expected &amp;quot;Unison 2.51 with OCaml &amp;gt;= 4.01.2\n&amp;quot; but received &amp;quot;Unison 2.48\n\000\000\000\000\017&amp;quot;,
which differs at &amp;quot;Unison 2.4&amp;quot;.
This can happen because you have different versions of Unison
installed on the client and server machines, or because
your connection is failing and somebody is printing an error
message, or because your remote login shell is printing
something itself before starting Unison.&lt;/pre&gt;

&lt;p&gt;
Incompatible versions. Laptop is running Debian 11 “Bullseye” and the packaged version of Unison
is 2.51.3, whereas the VPS machine is running Debian 10 “Buster” and that has Unison version 2.48.
&lt;/p&gt;

&lt;p&gt;
I&amp;#039;ve had this happen before, Unison is &lt;strong&gt;very&lt;/strong&gt; touchy about having the same version at both sides.
&lt;/p&gt;

&lt;p&gt;
I removed the older 2.48 from the VPS and downloaded a matching V2.51.3(ocaml 4.11.1) from github:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/bcpierce00/unison/releases/tag/v2.51.3&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://github.com/bcpierce00/unison/releases/tag/v2.51.3&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/bcpierce00/unison/releases/tag/v2.51.3&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Unpacked and moved &lt;code&gt;unison&lt;/code&gt; to &lt;code&gt;/usr/local/bin&lt;/code&gt; on the VPS.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Unison version&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;unison_version&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;952-2131&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;success&quot;&gt;Success&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Now I was able to sync between the machines. 
&lt;/p&gt;

&lt;p&gt;
Adding the SSH public keys from both machines to the &amp;#039;~/.ssh/authorized_keys2&amp;#039;&amp;#039; of its peer meant it all
went ahead without password prompting.
&lt;/p&gt;

&lt;p&gt;
Now I have two “mirrored” directories on two separate machines I can use the &lt;strong&gt;VPS&lt;/strong&gt; as a low-key remote file store.
&lt;/p&gt;

&lt;p&gt;
Page Updated : 30/12/25 09:55 GMT
&lt;/p&gt;

&lt;p&gt;
 &lt;em&gt;&lt;a href=&quot;mailto:&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#64;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#46;&amp;#112;&amp;#108;&amp;#117;&amp;#115;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot; class=&quot;mail&quot; title=&quot;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#64;&amp;#103;&amp;#109;&amp;#52;&amp;#115;&amp;#108;&amp;#118;&amp;#46;&amp;#112;&amp;#108;&amp;#117;&amp;#115;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot;&gt;John Pumford-Green&lt;/a&gt; Tue May  3 22:29:31 2022&lt;/em&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:unison&amp;amp;do=showtag&amp;amp;tag=unison&quot; class=&quot;wikilink1&quot; title=&quot;tag:unison&quot; rel=&quot;tag&quot;&gt;unison&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:vps&amp;amp;do=showtag&amp;amp;tag=vps&quot; class=&quot;wikilink1&quot; title=&quot;tag:vps&quot; rel=&quot;tag&quot;&gt;vps&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Success&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;success&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2132-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 30 Dec 2025 09:55:07 +0000</pubDate>
        </item>
        <item>
            <title>VPS Notes</title>
            <link>https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:vps_tips_tricks</link>
            <description>
&lt;p&gt;
←&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:start&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:start&quot; data-wiki-id=&quot;public:computers:archive:start&quot;&gt;Archive&lt;/a&gt;
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;vps_notes&quot;&gt;VPS Notes&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;plugin_note notetip&quot;&gt;GM4SLV.ORG.UK VPS : New VPS created 6&lt;sup&gt;th&lt;/sup&gt; March 2025
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; To separate my personal wiki site from yaddnet.org server&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wiki backed-up and moved from yaddnet.org to new gm4slv.org.uk VPS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SSL Certificate replaced to enable HTTPS&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VPS Notes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vps_notes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;16-304&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;new_vpsmarch_2025&quot;&gt;New VPS : March 2025&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; New VPS 1 obtained at Fasthosts&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;Type:Virtual Machine
Size:vps 1 2 60
Cpu:1 vCore
RAM:2 GB
Disk:60 GB NVMe SSD&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Installed PHP and Apache2&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;gm4slv&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;gm4slv:~ $ php &lt;span class=&quot;re5&quot;&gt;--version&lt;/span&gt;
PHP 8.3.6 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cli&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;built: Dec  &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2024&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;12&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;36&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;NTS&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; The PHP Group
Zend Engine v4.3.6, Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Zend Technologies
    with Zend OPcache v8.3.6, Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, by Zend Technologies&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; configured SSL per previous method &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:archive:ssl_install_vps&quot; class=&quot;wikilink1&quot; title=&quot;public:computers:archive:ssl_install_vps&quot; data-wiki-id=&quot;public:computers:archive:ssl_install_vps&quot;&gt;SSL Install on VPS&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; changed SSH port from default 22 to a &lt;em&gt;new&lt;/em&gt; port, changed VPS firewall to suit new SSH port&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ubunto OS brought up to date: &lt;code&gt;sudo apt-get update&lt;/code&gt; and &lt;code&gt;sudo apt-get upgrade&lt;/code&gt; and &lt;code&gt;sudo apt-get dist-upgrade&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;New VPS : March 2025&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;new_vpsmarch_2025&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;305-1148&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;dokuwiki_security&quot;&gt;Dokuwiki Security&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; previous installations used .htaccess to prevent web access to data/conf/lib/bin etc. directories&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; this time I decided not to use .htaccess but to follow the alternative instructions in &lt;a href=&quot;https://www.dokuwiki.org/security&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.dokuwiki.org/security&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.dokuwiki.org/security&lt;/a&gt; to use &lt;strong&gt;LocationMatch&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dokuwiki Security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dokuwiki_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1149-1436&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;locationmatch_method&quot;&gt;LocationMatch method&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Apache is told which directories (data, conf, bin, inc, vendor) to make private. The downside is that this configuration might need altering if new directories are added during &lt;code&gt;dokuwiki&lt;/code&gt; upgrades. 
&lt;/p&gt;

&lt;p&gt;
add to &lt;code&gt;/etc/apache2/apache2.conf&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code apache&quot;&gt;&amp;lt;&lt;span class=&quot;kw3&quot;&gt;LocationMatch&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/(data|conf|bin|inc|vendor)/&amp;quot;&lt;/span&gt;&amp;gt;
    &lt;span class=&quot;kw1&quot;&gt;Order&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt;,&lt;span class=&quot;kw1&quot;&gt;deny&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;Deny&lt;/span&gt; from &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;Satisfy&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;
&amp;lt;/&lt;span class=&quot;kw3&quot;&gt;LocationMatch&lt;/span&gt;&amp;gt;&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;sudo service apache2 restart&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;LocationMatch method&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;locationmatch_method&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1437-1883&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;htaccess_method&quot;&gt;.htaccess method&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
the secured directories in &lt;code&gt;dokuwiki&lt;/code&gt; have suitable .htaccess files already. Apache needs to betold to allow them to alter behaviour 
&lt;/p&gt;
&lt;pre class=&quot;code apache&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
add to &lt;code&gt;/etc/apache2/apache2.conf&lt;/code&gt;
&lt;/p&gt;
&lt;pre class=&quot;code apache&quot;&gt;         &amp;lt;&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt; /var/www/html&amp;gt;
                &lt;span class=&quot;kw1&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;Indexes&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;FollowSymLinks&lt;/span&gt; MultiViews
                &lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;All&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;Order&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt;,&lt;span class=&quot;kw1&quot;&gt;deny&lt;/span&gt;
                &lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt; from &lt;span class=&quot;kw2&quot;&gt;all&lt;/span&gt;
        &amp;lt;/&lt;span class=&quot;kw3&quot;&gt;Directory&lt;/span&gt;&amp;gt;&lt;/pre&gt;

&lt;p&gt;
&lt;code&gt;sudo service apache2 restart&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;.htaccess method&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;htaccess_method&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1884-2393&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;ssh_security&quot;&gt;SSH Security&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Configured &lt;code&gt;sshd&lt;/code&gt; to disallow password-logins and only accept public-key authentication&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; be careful to check the files in &lt;code&gt;/etc/ssh/sshd_conf.d&lt;/code&gt; for hidden config options!&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; uploaded public keys from &lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Puttygen for &lt;a href=&quot;https://www.putty.org/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.putty.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt; putty&lt;/a&gt; on laptop&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://connectbot.org/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://connectbot.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt; ConnectBot &lt;/a&gt; app on phone&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; saved both in &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; now only logins with a valid public key will succeed. &lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; In the event of a loss of the public keys it&amp;#039;s still possible to gain access via Fasthosts account dashboard&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; → then reconfigure sshd to accept password logins again until new keys can be uploaded.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SSH Security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2394-3077&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;renew_ssl_certificate&quot;&gt;06/04/25 : Renew SSL certificate&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Same procedure as before&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Download “Certificate” → &lt;code&gt;signed.crt&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Download “Intermediate Certificate” → &lt;code&gt;ca.pem&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upload via WinSCP to VPS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Copy old &lt;code&gt;/usr/local/ssl/signed.crt&lt;/code&gt; → &lt;code&gt;signed.crt.old&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Copy old &lt;code&gt;/usr/local/ssl/ca.pem&lt;/code&gt; → &lt;code&gt;ca.pem.old&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Copy new files into &lt;code&gt;/usr/local/ssl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Restart Apache&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; There were 2 “Intermediate Certificate” for download from Fast Hosts… &lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; I used the one named &lt;code&gt;7D5B5126B476BA11DB74160BBC530DA7.cer&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; This is the same as the one used when I renewed &lt;code&gt;YaddNet.org&lt;/code&gt; SSL &lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=public:computers:radio:2025:yaddnet_ssl_renewal&quot; class=&quot;wikilink2&quot; title=&quot;public:computers:radio:2025:yaddnet_ssl_renewal&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;public:computers:radio:2025:yaddnet_ssl_renewal&quot;&gt;yaddnet_ssl_renewal&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; It seems that the intermediate certificate is not unique to the domain being secured, it&amp;#039;s a certificate that verifies the identity of the authenticator of the domain&amp;#039;s SSL certificate.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;update_on_two_intermediate_certificates_05_07_25&quot;&gt;UPDATE ON TWO INTERMEDIATE CERTIFICATES 05/07/25&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
I&amp;#039;ve discovered that the 2 Intermediate Certificates are necessary to complete the &lt;em&gt;chain&lt;/em&gt; of authority.
&lt;/p&gt;

&lt;p&gt;
What should be done is to join them together into one &lt;em&gt;ca.pem&lt;/em&gt; file (and in the correct order…. )
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;wiki:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;g4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;co0&quot;&gt;# cat 397A66CC2756362E0DAA87CA6EABE3B1.cer 00D27FBBC1DE359E5216AD6149586099C4.cer &amp;gt; ca.pem&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;wiki:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;g4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;co0&quot;&gt;# cp ca.pem /usr/local/ssl&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;root&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;wiki:&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;home&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;g4slv&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;ssl&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;co0&quot;&gt;# systemctl restart apache2&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Check correct SSL operation at &lt;a href=&quot;https://www.ssllabs.com/ssltest/analyze.html&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://www.ssllabs.com/ssltest/analyze.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.ssllabs.com/ssltest/analyze.html&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;06\/04\/25 : Renew SSL certificate&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;renew_ssl_certificate&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3078-4532&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;old_information_below_is_for_historical_information&quot;&gt;Old information below is for historical information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;plugin_note notewarning&quot;&gt;GM4SLV.ORG.UK VPS : CANCELLED AND DELETED 9&lt;sup&gt;th&lt;/sup&gt; October 2024
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wiki functionality easily provided by yaddnet.org VPS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wiki pages &amp;amp; data transferred to yaddnet.org &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Fasthosts deleted VPS following telephone confirmation&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; deletion/cancellation not possible via Control Panel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; telephone call-back needed to confirm&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;&lt;pre class=&quot;code&quot;&gt;OS      : Debian 10 (Buster)
RAM     : 0.5GB
Network : 400MB 
SSD     : 10GB

IP Address : 213.171.209.127
Hostname   : gm4slv.org.uk
Open Ports : ssh, http, https

Domain Name  : gm4slv.org.uk
Renewal date : 3/4/2024&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Old information below is for historical information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;old_information_below_is_for_historical_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4533-5197&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;access_via_fasthosts&quot;&gt;Access via FastHosts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; browse to &lt;a href=&quot;https://admin.fasthosts.co.uk/Servers/VPS/1116040162&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://admin.fasthosts.co.uk/Servers/VPS/1116040162&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://admin.fasthosts.co.uk/Servers/VPS/1116040162&lt;/a&gt; and login with credentials&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Access via FastHosts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;access_via_fasthosts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5198-5327&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;installing_ssl_for_https&quot;&gt;Installing SSL for HTTPS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installing SSL for HTTPS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installing_ssl_for_https&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5328-5364&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;create_certificates&quot;&gt;Create Certificates&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_dc78831d92782d10f5135857362be425_1&quot;&gt;First : obtain SSL Certificates &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_dc78831d92782d10f5135857362be425_1&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; generate CSR on the server itself: &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;openssl req &lt;span class=&quot;re5&quot;&gt;-new&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-newkey&lt;/span&gt; rsa:&lt;span class=&quot;nu0&quot;&gt;2048&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-nodes&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-keyout&lt;/span&gt; gm4slv.org.uk.key &lt;span class=&quot;re5&quot;&gt;-out&lt;/span&gt; gm4slv.org.uk.csr &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Use “gm4slv.org.uk” as CN (NOT &lt;a href=&quot;http://www.gm4slv.org.uk&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;http://www.gm4slv.org.uk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.gm4slv.org.uk&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on Fasthosts control panel - apply for SSL certificate and get to the page where the CSR is pasted into a box&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; paste the CSR file contents into the box and click “&amp;lt;whatever the button says&amp;gt;”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fill in the rest of the form with email/name/phone number etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; add file to root of www as verification, as directed at Fasthosts site….&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=server:screenshot_2022-05-04_21.02.56.png&quot; class=&quot;media wikilink2&quot; title=&quot;server:screenshot_2022-05-04_21.02.56.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=076b47&amp;amp;media=server:screenshot_2022-05-04_21.02.56.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; download &lt;strong&gt;both&lt;/strong&gt; certificate files from Fasthosts Control Panel&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Create Certificates&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;create_certificates&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5365-6123&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;configure_apache&quot;&gt;Configure APACHE&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;p&gt;&lt;a class=&quot;folder&quot; href=&quot;#folded_dc78831d92782d10f5135857362be425_2&quot;&gt;Second : configure Apache to use HTTPS &lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;folded hidden&quot; id=&quot;folded_dc78831d92782d10f5135857362be425_2&quot;&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; copy self generated gm4slv.org.uk.key from the “openssl” command to &lt;code&gt;/usr/local/ssl/&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; copy the *crt for the newly obtained &lt;em&gt;signed&lt;/em&gt; *.crt file renamed as signed.crt to &lt;code&gt;/usr/local/ssl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; copy the “intermediate” file to &lt;code&gt;/usr/local/ssl/&lt;/code&gt; (renamed as ca.pem)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; edit apache config… looks like &lt;code&gt;/etc/apache2/sites-available/default-ssl.conf&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; SSLCertificateFile      /usr/local/ssl/signed.crt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; SSLCertificateKeyFile /usr/local/ssl/gm4slv.org.uk.key&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; SSLCertificateChainFile /usr/local/ssl/ca.pem&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; make symlink  &lt;code&gt;sites-enabled/default-ssl.conf&lt;/code&gt; pointing to &lt;code&gt;sites-available/default-ssl.conf&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;a2enmod ssl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; restart apache2&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; will it be listening on port 443? yes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; open firewall port 443 on Fasthost control panel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Can I reach it with &lt;code&gt;&lt;a href=&quot;https://gm4slv.org.uk&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://gm4slv.org.uk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://gm4slv.org.uk&lt;/a&gt;&lt;/code&gt;? yes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Can I still reach it with &lt;code&gt;&lt;a href=&quot;http://gm4slv.org.uk&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;http://gm4slv.org.uk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://gm4slv.org.uk&lt;/a&gt;&lt;/code&gt;? yes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; force redirect of plain HTTP:&lt;em&gt; to HTTPS:&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; add to &lt;code&gt;000-default.conf&lt;/code&gt;:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code apache&quot;&gt;        &lt;span class=&quot;kw1&quot;&gt;ServerName&lt;/span&gt; gm4slv.org.uk
        &lt;span class=&quot;kw1&quot;&gt;ServerAlias&lt;/span&gt; www.gm4slv.org.uk
        &lt;span class=&quot;kw1&quot;&gt;Redirect&lt;/span&gt; permanent / https://gm4slv.org.uk/
&amp;nbsp;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; taken from &lt;a href=&quot;https://linuxize.com/post/redirect-http-to-https-in-apache/&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://linuxize.com/post/redirect-http-to-https-in-apache/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://linuxize.com/post/redirect-http-to-https-in-apache/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; restart apache2&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; verify SSL access ok - yes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; verify non-SSL is redirected to SSL - yes&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Configure APACHE&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;configure_apache&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6124-7507&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;confirm_proper_security&quot;&gt;Confirm proper security&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Browse to &lt;a href=&quot;https://gm4slv.org.uk&quot; class=&quot;urlextern&quot; target=&quot;_BLANK&quot; title=&quot;https://gm4slv.org.uk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://gm4slv.org.uk&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
 &lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?media=server:screenshot_2022-05-04_22.00.14.png&quot; class=&quot;media wikilink2&quot; title=&quot;server:screenshot_2022-05-04_22.00.14.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=668a8c&amp;amp;media=server:screenshot_2022-05-04_22.00.14.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Confirm proper security&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;confirm_proper_security&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7508-7641&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;renew_ssl_certificate1&quot;&gt;20/04/23 Renew SSL Certificate&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; new Signed and CA (intermediate) certificates obtained and installed in /usr/local/ssl&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;20\/04\/23 Renew SSL Certificate&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;renew_ssl_certificate1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;7642-7777&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;hardware_upgrade_20_4_23&quot;&gt;Hardware Upgrade 20/4/23&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Original configuration VPS XS : 500MB RAM and 10GB SSD @ £1 per month (plus VAT)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upgrade to VPS S : 1GB RAM and 20GB SSD @ £3 per month (plus VAT)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPS rebooted for upgrade&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RAM seems to have increased to 1GB but reported &amp;#039;df -h&amp;#039; still shows 7.5GB total for / and 1.9GB for Swap. This is only 10GB. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Perhaps more time is needed for VM to catch up and expand the Virtual Hard Drive?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gotcha…. the Virtual Drive was increased to 20GB, but not the partition or the filesystem… the only way to get a full 20GB was to  “rebuild” the VPS….&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; took a backup of the dokuwiki files (rsync mirrored them to shack PC). Hit “Rebuild” and built a new VPS. Applied for replacement SSL keys (had to make a new CSR/KEY first)…&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Used rsync to send back the dokuwiki files (from the shack PC mirror)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; set up Apache2 to use the new SSL certificates…&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPS is now rebuilt and all wiki files restored &amp;amp; Apache2 uses HTTPS.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardware Upgrade 20\/4\/23&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardware_upgrade_20_4_23&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;7778-8771&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;debian_upgrade_15_2_24&quot;&gt;Debian Upgrade 15/2/24&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upgraded from Buster (10) → Bullseye (11)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upgraded Dokuwiki (this needed PHP7.4 from Buster, which is why the Debian upgrade was necessary) to the newest version (Release 2024-02-06a “Kaos”)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upgraded from Bullseye (11) → Bookwork (12) - might as well get to &lt;code&gt;STABLE&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Debian Upgrade 15\/2\/24&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debian_upgrade_15_2_24&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;8772-9091&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;debian_upgrade_16_2_24&quot;&gt;Debian Upgrade 16/2/24&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upgraded to Trixie (testing)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;gm4slv@gm4slv:~$ &lt;/span&gt;lsb_release &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt;
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;Linux trixie&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;sid
Release:        n&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;a
Codename:       trixie&lt;/pre&gt;
&lt;pre class=&quot;code bash&quot;&gt;deb http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;deb.debian.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;debian trixie main contrib non-free non-free-firmware
deb-src http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;deb.debian.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;debian trixie main contrib non-free non-free-firmware
&amp;nbsp;
&amp;nbsp;
&lt;span class=&quot;co0&quot;&gt;#deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware&lt;/span&gt;
&amp;nbsp;
deb http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;deb.debian.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;debian-security trixie-security main contrib non-free non-free-firmware
deb-src http:&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt;deb.debian.org&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;debian-security trixie-security main contrib non-free non-free-firmware&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dokuwiki still working correctly with latest versions of Apache and PHP &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;gm4slv@gm4slv:~$ &lt;/span&gt;php &lt;span class=&quot;re5&quot;&gt;--version&lt;/span&gt;
PHP 8.2.12 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;cli&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;built: Jan  &lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2024&lt;/span&gt; 06:&lt;span class=&quot;nu0&quot;&gt;21&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;NTS&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; The PHP Group
Zend Engine v4.2.12, Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Zend Technologies
    with Zend OPcache v8.2.12, Copyright &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, by Zend Technologies&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Debian Upgrade 16\/2\/24&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debian_upgrade_16_2_24&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;9092-10265&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;gm4slvorguk_domain_renewed&quot;&gt;2024 gm4slv.org.uk domain renewed&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 03/04/24 Domain Name auto-renewed for 2 years until April 2026&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 04/04/24 SSL Certificate auto-renewed for 1 year until May 2025&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2024 gm4slv.org.uk domain renewed&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gm4slvorguk_domain_renewed&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;10266-10448&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;install_renewed_ssl_certificate&quot;&gt;04/04/24 : Install Renewed SSL Certificate&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SSL Certificates &lt;strong&gt;Auto Renewed&lt;/strong&gt; by Fasthosts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; download new certificates from Fasthosts control panel:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; New “Certificate” downloaded and renamed “signed.crt”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; New “Intermediate Certificate” downloaded and renamed “ca.pem”&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; copied both → VPS $HOME dir via SCP&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; On VPS →&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; copied current &lt;strong&gt;/usr/local/ssl/ca.pem&lt;/strong&gt; → &lt;strong&gt;ca_old.pem&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; copied current &lt;strong&gt;/usr/local/ssl/signed.crt&lt;/strong&gt; → &lt;strong&gt;signed_old.crt&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; copied new ca.pem from $HOME to &lt;strong&gt;/usr/local/ssl/ca.pem&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; copied new signed.crt from $HOME to &lt;strong&gt;/usr/local/ssl/signed.crt&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; restarted apache &lt;code&gt;sudo service apache2 restart&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; check new valid certificate now in use in web browser&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.g4slv.info/dokuwiki/lib/exe/detail.php?id=public%3Acomputers%3Aarchive%3Avps_tips_tricks&amp;amp;media=public:computers:screenshot_2024-04-04_07.24.16.png&quot; class=&quot;media&quot; title=&quot;public:computers:screenshot_2024-04-04_07.24.16.png&quot;&gt;&lt;img src=&quot;https://www.g4slv.info/dokuwiki/lib/exe/fetch.php?w=400&amp;amp;tok=ad1d3a&amp;amp;media=public:computers:screenshot_2024-04-04_07.24.16.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Validity Issued on &amp;amp; Expires on dates now show new certificate is in use&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Page Updated : 04/06/26 08:20 BST
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:vps&amp;amp;do=showtag&amp;amp;tag=vps&quot; class=&quot;wikilink1&quot; title=&quot;tag:vps&quot; rel=&quot;tag&quot;&gt;vps&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://www.g4slv.info/dokuwiki/doku.php?id=tag:ssl&amp;amp;do=showtag&amp;amp;tag=ssl&quot; class=&quot;wikilink1&quot; title=&quot;tag:ssl&quot; rel=&quot;tag&quot;&gt;ssl&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;04\/04\/24 : Install Renewed SSL Certificate&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;install_renewed_ssl_certificate&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;10449-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 04 Jun 2026 07:20:09 +0000</pubDate>
        </item>
    </channel>
</rss>
