#!/sbin/openrc-run name=9vm description='Plan 9 virtual machine' VMPATH=/9 SESSION=9vm CMD=/9/startcon PATTERN=qemu-system-i386 depend() { use net } start() { ebegin Starting Plan 9 virtual machine (cd $VMPATH && screen -h 1024 -dmS $SESSION $CMD) sleep 1 if pgrep -f "$PATTERN" > /dev/null then eend 0 return 0 else eend 1 return 1 fi } stop() { if pgrep -f "$PATTERN" > /dev/null then screen -p 0 -S $SESSION -X eval 'stuff "fshalt"\015' sleep 10 # TODO: Check screen output to see when fshalt has finished. # TIP: C-a H activates logging to screenlog.1 (or 0,2,3,...?) screen -p 0 -S $SESSION -X eval 'stuff 2' screen -p 0 -S $SESSION -X eval 'stuff "quit"\015' fi einfo Plan 9 virtual machine is shut down. eend 0 }