27 lines
717 B
Bash
Executable File
27 lines
717 B
Bash
Executable File
#!/usr/bin/env bash
|
|
USER="$(whoami)"
|
|
|
|
# get new display
|
|
TAKEN_PORTS=( $(cat /var/lib/vnc/* | sort -n) )
|
|
[ -f "/var/lib/vnc/${USER}" ] && TAKEN_PORTS=( "${TAKEN_PORTS[@]/$(<"/var/lib/vnc/${USER}")}" )
|
|
DISPLAY=0; for TAKEN_PORT in ${TAKEN_PORTS[@]}; do
|
|
if [ "$TAKEN_PORT" -le "$DISPLAY" ];then
|
|
DISPLAY=$((DISPLAY + 1))
|
|
fi
|
|
done
|
|
unset TAKEN_PORTS TAKEN_PORT
|
|
|
|
# add user file
|
|
OLD_UMASK="$(umask)"
|
|
umask 0022
|
|
echo "$DISPLAY" > "/var/lib/vnc/${USER}"
|
|
umask $OLD_UMASK
|
|
PORT=$((DISPLAY + 5900))
|
|
unset DISPLAY OLD_UMASK
|
|
|
|
/usr/local/bin/startvnc
|
|
|
|
echo
|
|
echo "Your port number is ${PORT}; please note it down."
|
|
echo "You might like to see https://wiki.thunix.net/wiki/vnc for further information."
|