#!/bin/sh # # REQUIRE: FILESYSTEMS kld # PROVIDE: opnsense # BEFORE: netif . /etc/rc.subr name=opnsense rcvar=${name}_enable start_cmd="${name}_start" stop_cmd="${name}_stop" status_cmd="${name}_status" load_rc_config $name tmux_name="opnsense" opnsense_start() { # /usr/local/bin/tmux new-session -d -s "$tmux_name" "/usr/bin/env VNC_ENABLE=YES VNC_LISTEN=0.0.0.0:5900 /usr/local/bin/bash /home/talexander/launch_opnsense.bash" /usr/local/bin/tmux new-session -d -s "$tmux_name" "/usr/bin/env VNC_ENABLE=NO VNC_LISTEN=0.0.0.0:5900 /usr/local/bin/bash /home/talexander/launch_opnsense.bash" } opnsense_status() { if /usr/local/bin/tmux has-session -t $tmux_name 2>/dev/null; then echo "$tmux_name is running." else echo "$tmux_name is not running." return 1 fi } opnsense_stop() { /usr/local/bin/tmux has-session -t $tmux_name 2>/dev/null && ( /usr/local/bin/tmux kill-session -t $tmux_name sleep 10 bhyvectl --vm=opnsense --destroy # kill `cat /var/run/opnsense.pid` ) opnsense_wait_for_end } opnsense_wait_for_end() { while /usr/local/bin/tmux has-session -t $tmux_name 2>dev/null; do sleep 1 done } run_rc_command "$1"