systemctlno parece tener un mecanismo para especificar cuándo colorear la salida. Una solución rápida sería calzar isatty(3)para volver siempre verdadero, por lo que engañar systemctla pensar que stdout es interactivo. A saber, podrías hacer:
# 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
Al -xc -final del gcccomando le dice gccque compile el código C ( -xc) a partir de stdin ( -). El resto de las banderas le indican gccque cree un archivo de objeto compartido llamado isatty.so. Tenga en cuenta que esto podría muy bien romper otros programas que dependen isattypara devolver un valor legítimo. Sin embargo, parece estar bien, systemctlya que isattyparece ser utilizado únicamente con el fin de determinar si debe colorear su salida.