diff --git a/contrib/pixelvnc.sh b/contrib/pixelvnc.sh new file mode 100755 index 0000000..7b0065e --- /dev/null +++ b/contrib/pixelvnc.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# run vnc viewer in fullscreen on the selected monitor. +# restarts it on connectivity issues, press ctrl-c TWICE to quit. +# +# usage: pixelvnc.sh [[:] [monitor-index]] +# depends on: tigervnc + +host=${1:=vnc.schenklklopfer.de} +screen=${2:=1} + +while :; do + vncviewer ReconnectOnError=0 ViewOnly=1 FullScreen=1 FullScreenMode=Selected FullScreenSelectedMonitors=$screen $host + sleep 1 # give room to ^C out of the loop +done + diff --git a/contrib/setup_bbr.sh b/contrib/setup_bbr.sh new file mode 100755 index 0000000..7ea2f6a --- /dev/null +++ b/contrib/setup_bbr.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# sets up BBR congestion control (https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78) +# for the given interface + +DEV=${$1:=eth0} +MODE=${$2:="temporary"} + +echo pre-run state: +echo `sysctl net.ipv4.tcp_congestion_control` +echo qdisc on $DEV: `tc qdisc show dev $DEV` + +# set required "fair queueing" queuing discipline (man tc-fq) +echo "qdisc on $DEV was: `tc qdisc show dev $DEV`" +tc qdisc replace dev $DEV root fq +echo "qdisc on $DEV now is: `tc qdisc show dev $DEV`" + +# (permanently) configure BBR +if [[ mode == "temporary" ]]; then + echo -e 'net.core.default_qdisc=fq + net.ipv4.tcp_congestion_control=bbr' | sysctl -p- +elif [[ mode == "permanent"]]; then + echo -e 'net.core.default_qdisc=fq + net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.d/20-net-bbr.conf + sysctl -p /etc/sysctl.d/20-net-bbr.conf + algo=`sysctl net.ipv4.tcp_congestion_control` + if [[ "$algo" != 'net.ipv4.tcp_congestion_control = bbr' ]]; then + echo "couldn't apply changes at runtime, you should reboot." + fi +else + echo "unknown mode, congestion control algo unchanged" +fi diff --git a/rpc/test.sh b/contrib/test.sh similarity index 100% rename from rpc/test.sh rename to contrib/test.sh