diff --git a/man/journalctl.xml b/man/journalctl.xml
index 3b05e80fc11..18a1b9ef2df 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -887,6 +887,10 @@
this to an empty string or the value
cat is equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/localectl.xml b/man/localectl.xml
index 0950cce97d2..238757c2e58 100644
--- a/man/localectl.xml
+++ b/man/localectl.xml
@@ -265,6 +265,10 @@
this to an empty string or the value
cat is equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/loginctl.xml b/man/loginctl.xml
index 13105d4dcda..ede869f3948 100644
--- a/man/loginctl.xml
+++ b/man/loginctl.xml
@@ -486,6 +486,10 @@
this to an empty string or the value
cat is equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/machinectl.xml b/man/machinectl.xml
index cabdbac9629..2e7fa3bf8d4 100644
--- a/man/machinectl.xml
+++ b/man/machinectl.xml
@@ -311,6 +311,10 @@
this to an empty string or the value
cat is equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/systemctl.xml b/man/systemctl.xml
index ed1bf4813ae..1b0f8e5e2d4 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -1479,6 +1479,10 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index cbf59e0a1a8..54479e4876a 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -335,6 +335,10 @@ $ eog targets.svg
equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/man/timedatectl.xml b/man/timedatectl.xml
index beda3048546..be66993e15f 100644
--- a/man/timedatectl.xml
+++ b/man/timedatectl.xml
@@ -239,6 +239,10 @@
this to an empty string or the value
cat is equivalent to passing
.
+ $SYSTEMD_LESS
+ $SYSTEMD_LESS overrides the
+ default options passed to less
+ (FRSXMK).
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 72a29f22855..55b13d6ff63 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -84,14 +84,17 @@ int pager_open(bool jump_to_end) {
/* In the child start the pager */
if (pager_pid == 0) {
+ const char* less_opts;
dup2(fd[0], STDIN_FILENO);
close_pipe(fd);
+ less_opts = getenv("SYSTEMD_LESS");
+ if (!less_opts)
+ less_opts = "FRSXMK";
if (jump_to_end)
- setenv("LESS", "FRSXMK+G", 1);
- else
- setenv("LESS", "FRSXMK", 1);
+ less_opts = strappenda(less_opts, " +G");
+ setenv("LESS", less_opts, 1);
/* Make sure the pager goes away when the parent dies */
if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)