udev 규칙에서 호출된 다음 스크립트를 사용하여 백업을 자동화합니다.
#!/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
결과 창(마지막 행) 팝업이 작동하지 않습니다. 창이 나타나지 않을 뿐만 아니라 이후의 명령도 실행되지 않습니다.
xmessage가 정지되는 원인은 무엇이며 어떻게 해결할 수 있습니까? 메시지 형식을 지정하는 더 좋은 방법이 있다고 확신하며 이에 대한 통찰력을 제공해 주시면 감사하겠습니다.
파일에 대해 xmessage를 실행하려고 하면 계속 echo
파일이 처리됩니까? >>
8줄을 터미널에 붙여넣으면(개행 포함) 잘 작동하지만 프롬프트로 인해 타이밍이 다를 수 있을 것 같습니다. 또한 수동으로 실행하면 슈퍼유저가 아닙니다. 다음 명령으로 넘어가기 전에 완료하면 안되는 echo
건가요 ?>>
답변1
xmessage
더 이상 사용되지 않으며 더 이상 유지 관리되지 않습니다. UTF-8 등을 지원하지 않습니다. gxmessage
대신에 (GTK+ 기반 xmessage 복제) 해야 합니다 .