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
здається, використовується виключно для того, щоб визначити, чи слід фарбувати його вихід.