forked from ahurac/dotfiles
Nouveau script vncctl ; Nouveau script xstartup.turbovnc
This commit is contained in:
parent
7c6e663ee3
commit
0a4fd2cbdc
2 changed files with 74 additions and 27 deletions
97
bin/vncctl
97
bin/vncctl
|
@ -1,33 +1,76 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
# cd to the local VNC directory, exit if it fails
|
||||
cd "${HOME}/.vnc" || exit 6
|
||||
|
||||
# Variables
|
||||
declare -a vncctl
|
||||
systemctl=systemctl
|
||||
systemd_unit=vncserver
|
||||
verb="${1:-status}"; shift
|
||||
display="${1:-1}" ; shift
|
||||
file_base="./$(hostname):1."
|
||||
|
||||
# Prepending sudo if necessary
|
||||
case "$verb" in
|
||||
start|restart|stop)
|
||||
sudo=sudo
|
||||
error() {
|
||||
>&2 printf '\033[1;31m%s\033[0m %s\n' "ERROR:" "$1"
|
||||
shift
|
||||
exit "$1"
|
||||
}
|
||||
|
||||
help() {
|
||||
name="$(basename "$0")"
|
||||
cat << EOF
|
||||
${name} - Start a VNC server
|
||||
|
||||
Usage:
|
||||
${name} start|status|stop|help
|
||||
EOF
|
||||
}
|
||||
|
||||
usage() {
|
||||
>&2 help
|
||||
error "Invalid usage: ${1}" 1
|
||||
}
|
||||
|
||||
is_running() {
|
||||
vncserver -list | grep -q '^:1'
|
||||
}
|
||||
|
||||
start() {
|
||||
if ! is_running; then
|
||||
vncserver
|
||||
else
|
||||
error "The VNC server is already running!" 5
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
log_f="${file_base}log"
|
||||
if is_running; then
|
||||
tail -f "$log_f"
|
||||
else
|
||||
error "The VNC server is not running!" 4
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if is_running; then
|
||||
vncserver -kill :1
|
||||
else
|
||||
error "The VNC server is not running!" 3
|
||||
fi
|
||||
}
|
||||
|
||||
# Argument parsing
|
||||
set -e; trap 'set +e; error "$error" "$?"' EXIT
|
||||
error="You must give an argument"
|
||||
[ -n "$1" ]; arg="$1"; shift
|
||||
unset error
|
||||
set +e; trap - EXIT
|
||||
|
||||
|
||||
# Main case statement
|
||||
case "$arg" in
|
||||
start|status|stop|help)
|
||||
"$arg"
|
||||
;;
|
||||
*)
|
||||
usage "Invalid argument \"$arg\""
|
||||
;;
|
||||
esac
|
||||
|
||||
# Command building
|
||||
[[ -n $sudo ]] && vncctl+=("$sudo")
|
||||
vncctl+=(
|
||||
"$systemctl"
|
||||
"$@"
|
||||
"$verb"
|
||||
"${systemd_unit}@:${display}"
|
||||
)
|
||||
|
||||
# Debug
|
||||
#echo "${vncctl[@]}"
|
||||
#exit 0
|
||||
|
||||
# Command execution
|
||||
set -xe
|
||||
"${vncctl[@]}"
|
||||
|
||||
|
|
4
bin/xstartup.turbovnc
Executable file
4
bin/xstartup.turbovnc
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
artix-pipewire-loader &
|
||||
exec xfwm4
|
||||
|
Loading…
Reference in a new issue