Quando executo um comando como este:
Recebo impressões bem coloridas. Mas quando eu executo o seguinte comando:
Existe alguma maneira de executar esse watchcomando com cores systemctl? Examinei a página de manual, systemctlmas não vejo referência a cores em nenhum lugar.
— Cronburg
Por favor, considere aceitar a resposta de towolf, que é muito melhor do que a atualmente aceita (sua). Agradeço antecipadamente.
man systemd diz
ou seja, você pode forçar o modo de cores com isso.
... e, claro, agora SYSTEMD_COLORSfaz mais do que o nome sugere, porque meados 2018 suporte para links clicáveis foi introduzido, a saída de lixo com alguns códigos de escape e URLs urlified - que felizmente pode ser desligado comSYSTEMD_URLIFY=0
systemctlparece não ter um mecanismo para especificar quando colorir a saída. Uma solução rápida seria calçar isatty(3)para sempre retornar verdadeiro, enganando-se assim, systemctlpensando que stdout é interativo. Ou seja, você poderia fazer:
O -xc -no final do gcccomando diz gccpara compilar o código C ( -xc) a partir de stdin ( -). O restante dos sinalizadores informa gccpara criar um arquivo de objeto compartilhado chamado isatty.so. Observe que isso pode muito bem interromper outros programas que dependem isattypara retornar um valor legítimo. No entanto, parece estar bem, systemctlpois isattyparece ser usado apenas com o objetivo de determinar se deve colorir sua saída.
Isto é brilhante. Criei um script para automatizar o processo .
Depois de ler e votar na resposta de towolf (que é muito melhor que essa), eu iria votar abaixo, mas isso é um hack muito perfeito, então, em vez disso
— votei
Com base na resposta de @ KarlC , aqui está um script que gera e inclui a biblioteca em tempo de execução: