systemctl , не имеет механизма для указания, когда окрашивать вывод. Быстрое решение состоит в том, чтобы isatty(3) всегда возвращал истину, таким образом обманывая systemctl в выводе мышления интерактивно. А именно вы могли бы сделать:
# echo "int isatty(int fd) { return 1; }" | gcc -O2 -fpic -shared -ldl -o isatty.so -xc -
# LD_PRELOAD=./isatty.so watch -n300 --color systemctl status plexmediaserver
-xc - в конце команды gcc указывает gcc скомпилировать код C (-xc) из stdin (-). Остальные флаги говорят gcc создать общий объектный файл с именем isatty.so . Обратите внимание, что это вполне может сломать другие программы, которые полагаются на isatty для возврата допустимого значения. Однако для systemctl как isatty , по-видимому, используется исключительно для определения того, должен ли он окрашивать вывод.