xclip é um aplicativo que precisa de variáveis de ambiente, como $XAUTHORITY e $DISPLAY , para conversar com o servidor X11. Você pode criar um cronjob da aparência da seguinte forma:
/bin/su your_username -c "export XAUTHORITY='/home/your_username/.Xauthority'; export DISPLAY='$(strings /proc/$(pgrep -n Xorg)/environ | awk -F== ' ~ "DISPLAY"{print }')'; echo -n "message" | xclip -selection clipboard"
Use seu próprio nome de usuário em vez de your_username . É uma linha longa, mas cron não aceita várias linhas como entradas de tempo de execução. No entanto, aqui está o que faz:
-
/bin/su your_username: muda o usuário -
-c "...": e executa o comando nas cotações -
export XAUTHORITY='...';: primeiro precisamos da variável$XAUTHORITY -
export DISPLAY='...': e a variável$DISPLAY, isto é principalmente:0, mas se não, nós podemos pegar a variável do ambiente do processo Xorg -
echo ... | xclip ...: finalmente, execute o comando desejado nesse ambiente. Não há mais necessidade de usar caminhos absolutos, porque temos um ambiente mínimo agora.