Cuando ejecuto un comando como este:
# systemctl status plexmediaserver
Obtengo una salida bien coloreada. Pero cuando ejecuto el siguiente comando:
# watch -n300 --color systemctl status plexmediaserver
¿Hay alguna forma de hacer este watchcomando con color systemctl? He buscado la página de manual systemctlpero no veo ninguna referencia al color en ninguna parte.

Respuestas:
man systemddicees decir, puede forzar el modo de color con eso.
fuente
SYSTEMD_COLORShace algo más que el nombre sugiere, debido a mediados 2.018 soporte para hacer clic en enlaces consiguió introdujo, salida de basura con algunos códigos de escape y URLs urlified - que, afortunadamente, se puede apagar conSYSTEMD_URLIFY=0systemctlno parece tener un mecanismo para especificar cuándo colorear la salida. Una solución rápida sería calzarisatty(3)para volver siempre verdadero, por lo que engañarsystemctla pensar que stdout es interactivo. A saber, podrías hacer:Al
-xc -final delgcccomando le dicegccque compile el código C (-xc) a partir de stdin (-). El resto de las banderas le indicangccque cree un archivo de objeto compartido llamadoisatty.so. Tenga en cuenta que esto podría muy bien romper otros programas que dependenisattypara devolver un valor legítimo. Sin embargo, parece estar bien,systemctlya queisattyparece ser utilizado únicamente con el fin de determinar si debe colorear su salida.fuente
Basado en la respuesta de @ KarlC , aquí hay un script que genera y luego incluye la biblioteca en tiempo de ejecución:
fuente