systemctltampaknya tidak memiliki mekanisme untuk menentukan kapan akan mewarnai output. Solusi cepat adalah shim isatty(3)untuk selalu kembali benar, sehingga menipu systemctlberpikir stdout bersifat interaktif. Yaitu yang bisa Anda lakukan:
# 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
Di -xc -akhir gccperintah memberitahu gccuntuk mengkompilasi kode C ( -xc) dari stdin ( -). Sisa flag memberi tahu gccuntuk membuat file objek bersama bernama isatty.so. Perhatikan bahwa ini bisa sangat merusak program lain yang mengandalkan isattyuntuk mengembalikan nilai yang sah. Itu namun tampaknya baik-baik saja untuk systemctlsebagai isattymuncul untuk semata-mata digunakan untuk tujuan menentukan apakah itu harus mewarnai output.