dotfiles/bin/headlessvnc

60 lines
918 B
Text
Raw Normal View History

2024-04-04 15:26:55 +02:00
#!/usr/bin/env sh
perror() {
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
}
2024-04-04 15:26:55 +02:00
error_usage() {
perror "invalid usage"
>&2 usage
2024-04-04 15:26:55 +02:00
exit 1
}
is_running() {
2024-04-04 15:26:55 +02:00
vncserver -list | grep -q '^:1'
}
start() {
if ! is_running; then
set -- vncserver \
-localhost -alwaysshared \
-securitytypes none
[ -x ~/.vnc/xstartup ] && set -- "$@" -xstartup ~/.vnc/xstartup
"$@"
else
perror "server already started"
return 2
2024-04-04 15:26:55 +02:00
fi
}
stop() {
if is_running; then
vncserver -kill :1
else
perror "server is not running"
return 2
2024-04-04 15:26:55 +02:00
fi
}
status() {
if is_running; then
printf '\033[1;32m*\033[0m \033[1m%s\n' "the server is running"
else
printf '\033[1;31m*\033[0m \033[1m%s\n' "the server is not running"
fi
}
case "$1" in
""|status) status ;;
start) start ;;
stop) stop ;;
restart)
stop
start
;;
*)
error_usage
;;
esac