47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# REQUIRE: LOGIN
|
||
|
# PROVIDE: windows
|
||
|
# KEYWORD: shutdown
|
||
|
|
||
|
. /etc/rc.subr
|
||
|
name=windows
|
||
|
rcvar=${name}_enable
|
||
|
start_cmd="${name}_start"
|
||
|
stop_cmd="${name}_stop"
|
||
|
status_cmd="${name}_status"
|
||
|
load_rc_config $name
|
||
|
|
||
|
tmux_name="windows"
|
||
|
|
||
|
windows_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 /usr/local/bin/launch_windows start windows zroot/freebsd/current/vm/windows /vm/windows /vm/.iso/Win11_23H2_English_x64v2.iso"
|
||
|
}
|
||
|
|
||
|
windows_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
|
||
|
}
|
||
|
|
||
|
windows_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=windows --destroy
|
||
|
# kill `cat /var/run/windows.pid`
|
||
|
)
|
||
|
windows_wait_for_end
|
||
|
}
|
||
|
|
||
|
windows_wait_for_end() {
|
||
|
while /usr/local/bin/tmux has-session -t $tmux_name 2>dev/null; do
|
||
|
sleep 1
|
||
|
done
|
||
|
}
|
||
|
|
||
|
run_rc_command "$1"
|