Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 62 additions & 36 deletions raspi-config
Original file line number Diff line number Diff line change
Expand Up @@ -1192,63 +1192,89 @@ do_rpi_connect() {
if [ -n "$SUDO_USER" ] ; then
PREFIX="sudo -u $USER XDG_RUNTIME_DIR=/run/user/$SUDO_UID DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$SUDO_UID/bus "
fi
APT_GET_FLAGS=""
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like to enable screen sharing over Raspberry Pi Connect?" --defaultno 20 60 2
RET=$?
if is_installed rpi-connect; then
rpi_connect_version="$(get_package_version rpi-connect)"
elif is_installed rpi-connect-lite; then
rpi_connect_version="$(get_package_version rpi-connect-lite)"
else
APT_GET_FLAGS="-y"
RET=$1
rpi_connect_version="0.0"
fi
rpi_connect_version="$(get_package_version rpi-connect)"
if [ $RET -eq 0 ]; then
if is_installed rpi-connect || apt-get install "$APT_GET_FLAGS" rpi-connect; then
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service
$PREFIX systemctl --user -q start rpi-connect.service rpi-connect-wayvnc.service
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
$PREFIX systemctl --user -q start rpi-connect.service
else
$PREFIX rpi-connect on > /dev/null 2>&1
fi
STATUS="Screen sharing via Raspberry Pi Connect is enabled"
if dpkg --compare-versions "$rpi_connect_version" ge 2.0; then
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like to enable Raspberry Pi Connect?" --defaultno 20 60 2
RET=$?
else
return 1
RET=$1
fi
elif [ $RET -eq 1 ]; then
if [ $RET -eq 0 ]; then
$PREFIX rpi-connect on > /dev/null 2>&1
STATUS="Raspberry Pi Connect is enabled"
else
$PREFIX rpi-connect off > /dev/null 2>&1
STATUS="Raspberry Pi Connect is disabled"
fi
else
APT_GET_FLAGS=""
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like to enable remote shell access over Raspberry Pi Connect?" --defaultno 20 60 2
whiptail --yesno "Would you like to enable screen sharing over Raspberry Pi Connect?" --defaultno 20 60 2
RET=$?
else
APT_GET_FLAGS="-y"
RET=$1
fi
if [ $RET -eq 0 ]; then
if is_installed rpi-connect || is_installed rpi-connect-lite || apt-get install "$APT_GET_FLAGS" rpi-connect-lite; then
if dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q enable rpi-connect.service
if is_installed rpi-connect || apt-get install "$APT_GET_FLAGS" rpi-connect; then
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service
$PREFIX systemctl --user -q start rpi-connect.service rpi-connect-wayvnc.service
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
$PREFIX systemctl --user -q start rpi-connect.service
else
$PREFIX rpi-connect on > /dev/null 2>&1
fi
STATUS="Remote shell access via Raspberry Pi Connect is enabled"
STATUS="Screen sharing via Raspberry Pi Connect is enabled"
else
return 1
fi
elif [ $RET -eq 1 ]; then
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
$PREFIX systemctl --user -q stop rpi-connect.service rpi-connect-wayvnc.service
$PREFIX systemctl --user -q disable rpi-connect-wayvnc.service rpi-connect.service
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q stop rpi-connect.service
$PREFIX systemctl --user -q disable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like to enable remote shell access over Raspberry Pi Connect?" --defaultno 20 60 2
RET=$?
fi
if [ $RET -eq 0 ]; then
if is_installed rpi-connect || is_installed rpi-connect-lite || apt-get install "$APT_GET_FLAGS" rpi-connect-lite; then
if dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q enable rpi-connect.service
$PREFIX systemctl --user -q start rpi-connect.service
else
$PREFIX rpi-connect on > /dev/null 2>&1
fi
STATUS="Remote shell access via Raspberry Pi Connect is enabled"
else
return 1
fi
elif [ $RET -eq 1 ]; then
if [ "$rpi_connect_version" != "0.0" ]; then
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
$PREFIX systemctl --user -q stop rpi-connect.service rpi-connect-wayvnc.service
$PREFIX systemctl --user -q disable rpi-connect-wayvnc.service rpi-connect.service
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
$PREFIX systemctl --user -q stop rpi-connect.service
$PREFIX systemctl --user -q disable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
else
$PREFIX rpi-connect off > /dev/null 2>&1
fi
STATUS="Raspberry Pi Connect is disabled"
else
STATUS="Raspberry Pi Connect isn't installed"
fi
else
$PREFIX rpi-connect off > /dev/null 2>&1
return $RET
fi
STATUS="Raspberry Pi Connect is disabled"
else
return $RET
fi
else
return $RET
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "$STATUS" 20 60 1
Expand Down