48 lines
2.3 KiB
Diff
48 lines
2.3 KiB
Diff
From 1e534b8a0da393c90b6dedeb5fdd1abd08293ae7 Mon Sep 17 00:00:00 2001
|
|
From: Michael Biebl <biebl@debian.org>
|
|
Date: Wed, 3 Jun 2015 14:00:59 +0200
|
|
Subject: [PATCH] systemctl: Use /usr/bin/editor if available
|
|
|
|
If the EDITOR environment variable is not set, the Debian policy
|
|
recommends to use the /usr/bin/editor program as default editor.
|
|
This file is managed via the dpkg alternatives mechanism and typically
|
|
used in Debian/Ubuntu and derivatives to configure the default editor.
|
|
|
|
See section 11.4 of the Debian policy [1].
|
|
|
|
Therefor prefer /usr/bin/editor over specific editors if available.
|
|
|
|
[1] https://www.debian.org/doc/debian-policy/ch-customized-programs.html
|
|
|
|
(cherry picked from commit 9391a1c3d6c94c478b0016a81df3f874fd99260e)
|
|
---
|
|
man/systemctl.xml | 1 +
|
|
src/systemctl/systemctl.c | 2 +-
|
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/man/systemctl.xml b/man/systemctl.xml
|
|
index 94a77bce0c..9b79c2df0f 100644
|
|
--- a/man/systemctl.xml
|
|
+++ b/man/systemctl.xml
|
|
@@ -1730,6 +1730,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
|
<varname>$VISUAL</varname> are present or if it is set to an empty
|
|
string or if their execution failed, systemctl will try to execute well
|
|
known editors in this order:
|
|
+ <citerefentry project='die-net'><refentrytitle>editor</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry project='die-net'><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry project='die-net'><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry project='die-net'><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
|
|
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
|
|
index f8e10a4710..cf5aa07ac6 100644
|
|
--- a/src/systemctl/systemctl.c
|
|
+++ b/src/systemctl/systemctl.c
|
|
@@ -5870,7 +5870,7 @@ static int run_editor(char **paths) {
|
|
execvp(editor, (char* const*) args);
|
|
}
|
|
|
|
- FOREACH_STRING(p, "nano", "vim", "vi") {
|
|
+ FOREACH_STRING(p, "editor", "nano", "vim", "vi") {
|
|
args[0] = p;
|
|
execvp(p, (char* const*) args);
|
|
/* We do not fail if the editor doesn't exist
|