заставить пейджер systemd не делать горизонтальную прокрутку, а переходить к следующей строке

По умолчанию systemd (v245) на Ubuntu 20.04 focal, если я делаю systemctl status $THING, и строки вывода длиннее, чем мой экран, тогда пейджер по умолчанию (меньше?) будет делать горизонтальную прокрутку. Я бы предпочел, чтобы дополнительный текст был на следующих строках ("word wrap")

какую переменную окружения я могу установить, чтобы изменить горизонтальную прокрутку на "поместить остаток строки на следующую строку"?

Я знаю, что systemctl --no-pager $THING или systemctl status $THING | cat будут работать в этом случае, но это дополнительный текст, который нужно набирать каждый раз. Я хочу, чтобы systemctl status $THING всегда работал без необходимости добавлять лишние биты.

0
задан 21 June 2021 в 13:30
2 ответа

По умолчанию systemctl порождает меньше в качестве пейджера (если он доступен, но включен большинство систем, это так). В этом случае параметру меньше задаются параметры FRSXMK , из которых S отвечает за не сворачивание длинных строк.

Если установлена ​​переменная среды SYSTEMD_LESS , ее содержимое обрабатывается как флаги, которые должны быть присвоены less , если less - это пейджер, который в настоящее время используется . Поэтому, если вы опустите флаг S в переменной и зададите

export SYSTEMD_LESS="FRXMK"

, тогда systemctl будет вести себя точно так же, как и раньше, за исключением того, что длинные строки будут складываться.

Стоит отметить, что вы можете переключить перенос строк в пределах меньше , набрав -S и нажав Enter.

4
ответ дан 28 July 2021 в 13:47

Вы можете сделать no-pager постоянным, экспортировав пустую переменную окружения SYSTEMD_PAGER, т.е.:

export SYSTEMD_PAGER=

Но вы заметите, что теперь systemd эллипсирует длинные строки, поэтому вы также должны отключить это с помощью опций командной строки -l, --full. К сожалению, переменной окружения для изменения этого параметра нет.


Для полного решения я бы предложил псевдоним оболочки для systemctl, например:

alias systemctl='systemctl --no-pager --full'
2
ответ дан 28 July 2021 в 13:47

Теги

Похожие вопросы