xmessage em um script congela

1

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?

    
por Gauthier 14.12.2014 / 21:42

1 resposta

0

xmessage é obsoleto e não é mais mantido: ele não suporta UTF-8, etc. Você deve gxmessage (clone xmessage baseado em GTK +).

    
por 14.12.2014 / 21:53