47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
dependency_check(){
for DEPENDENCY; do
if ! command -v "$DEPENDENCY" 1>/dev/null; then
printf "%s not found. Please install it.\n" "$DEPENDENCY" >&2
exit 2
fi
done
unset DEPENDENCY
}
dependency_check arandr x11vnc xrandr gtf
read -p 'Enter client width: ' CLIENT_WIDTH
read -p 'Enter client heigh: ' CLEINT_HEIGHT
read -p 'Enter client refresh rate: ' REFRESH_RATE
MODELINE=$(gtf $CLIENT_WIDTH $CLEINT_HEIGHT $REFRESH_RATE | grep Modeline | sed 's/Modeline//') #resolution of client machine (width, height, refreshrate)
RESOLUTION=$(echo $MODELINE | awk '{print $1}')
echo "---------------"
echo $MODELINE
echo "---------------"
read -p 'enter the above Modeline: ' MODELINE
xrandr --newmode $MODELINE
echo Checking avaible ports..
echo "---------------"
xrandr | grep disconnected | awk '{print $1}'
echo "---------------"
read -p 'Enter one of the ports to be used for VNC: ' PORT
echo Adding new display
xrandr --addmode $PORT $RESOLUTION
sleep 2
echo Activating new display
sleep 2
xrandr --output $PORT --mode $RESOLUTION
echo "---------------"
echo Configure the new diplay where you want
echo "---------------"
sleep 3
arandr >> /dev/null
GEO=$(xrandr | grep $PORT | awk '{print $3}')
echo Starting VNC Server
sleep 3
x11vnc -clip $GEO