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.