xmessage
é obsoleto e não é mais mantido: ele não suporta UTF-8, etc. Você deve gxmessage
(clone xmessage baseado em GTK +).
Eu uso o seguinte script chamado de uma regra do udev para automatizar o backup:
#!/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/gauthier/.Xauthority
# ... other things like offering abort, checking the device, mounting.
export OUTPUT=/tmp/rsync-output.log
# -a does not work on exFAT partitions, because of permissions, groups, owner. Use -rltD instead of -rlptgoD, which -a would imply.
sudo rsync -rltDv --exclude '*.app' --exclude-from=/home/gauthier/rsync-exclude.txt /home/gauthier/ $MOUNTPOINT/gauthier/ > $OUTPUT 2>&1
# Pop up a result window
# Get a summary
export RESULT_MESSAGE=/tmp/rsync-result.txt
echo "Backup result:" > $RESULT_MESSAGE
echo "" >> $RESULT_MESSAGE # \n does not seem to work in echo strings
tail -3 $OUTPUT >> $RESULT_MESSAGE
echo "" >> $RESULT_MESSAGE
echo "" >> $RESULT_MESSAGE
echo "Details in $OUTPUT" >> $RESULT_MESSAGE
xmessage -file $RESULT_MESSAGE
O surgimento da janela de resultados (a última linha) não funciona. Não apenas a janela não aparece, os seguintes comandos depois disso não são executados.
O que pode tornar o congelamento do xmessage e como posso resolvê-lo? Tenho certeza de que há maneiras melhores de formatar uma mensagem, e eu ficaria feliz em saber disso também.
Poderia echo
e >>
estar trabalhando no arquivo enquanto tento executar o xmessage nele? As 8 linhas funcionam bem quando eu as colo (com as novas linhas) em um terminal, mas acho que o tempo pode ser diferente, já que o prompt aparece. Além disso, não sou superusuário quando o executo manualmente. Não é possível que echo
e >>
sejam concluídos antes de passar para o próximo comando?
xmessage
é obsoleto e não é mais mantido: ele não suporta UTF-8, etc. Você deve gxmessage
(clone xmessage baseado em GTK +).
Tags x11 shell-script