Skip to content

Commit 6fdeb0d

Browse files
committed
Provide a simplified user-experience if RPi Connect >= 2.0 is already installed
(which it is in all current versions of Raspberry Pi OS)
1 parent 1bce2b6 commit 6fdeb0d

1 file changed

Lines changed: 55 additions & 39 deletions

File tree

raspi-config

Lines changed: 55 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,73 +1192,89 @@ do_rpi_connect() {
11921192
if [ -n "$SUDO_USER" ] ; then
11931193
PREFIX="sudo -u $USER XDG_RUNTIME_DIR=/run/user/$SUDO_UID DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$SUDO_UID/bus "
11941194
fi
1195-
APT_GET_FLAGS=""
1196-
if [ "$INTERACTIVE" = True ]; then
1197-
whiptail --yesno "Would you like to enable screen sharing over Raspberry Pi Connect?" --defaultno 20 60 2
1198-
RET=$?
1199-
else
1200-
APT_GET_FLAGS="-y"
1201-
RET=$1
1202-
fi
12031195
if is_installed rpi-connect; then
12041196
rpi_connect_version="$(get_package_version rpi-connect)"
12051197
elif is_installed rpi-connect-lite; then
12061198
rpi_connect_version="$(get_package_version rpi-connect-lite)"
12071199
else
12081200
rpi_connect_version="0.0"
12091201
fi
1210-
if [ $RET -eq 0 ]; then
1211-
if is_installed rpi-connect || apt-get install "$APT_GET_FLAGS" rpi-connect; then
1212-
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
1213-
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service
1214-
$PREFIX systemctl --user -q start rpi-connect.service rpi-connect-wayvnc.service
1215-
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1216-
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
1217-
$PREFIX systemctl --user -q start rpi-connect.service
1218-
else
1219-
$PREFIX rpi-connect on > /dev/null 2>&1
1220-
fi
1221-
STATUS="Screen sharing via Raspberry Pi Connect is enabled"
1202+
if dpkg --compare-versions "$rpi_connect_version" ge 2.0; then
1203+
if [ "$INTERACTIVE" = True ]; then
1204+
whiptail --yesno "Would you like to enable Raspberry Pi Connect?" --defaultno 20 60 2
1205+
RET=$?
12221206
else
1223-
return 1
1207+
RET=$1
12241208
fi
1225-
elif [ $RET -eq 1 ]; then
1209+
if [ $RET -eq 0 ]; then
1210+
$PREFIX rpi-connect on > /dev/null 2>&1
1211+
STATUS="Raspberry Pi Connect is enabled"
1212+
else
1213+
$PREFIX rpi-connect off > /dev/null 2>&1
1214+
STATUS="Raspberry Pi Connect is disabled"
1215+
fi
1216+
else
1217+
APT_GET_FLAGS=""
12261218
if [ "$INTERACTIVE" = True ]; then
1227-
whiptail --yesno "Would you like to enable remote shell access over Raspberry Pi Connect?" --defaultno 20 60 2
1219+
whiptail --yesno "Would you like to enable screen sharing over Raspberry Pi Connect?" --defaultno 20 60 2
12281220
RET=$?
1221+
else
1222+
APT_GET_FLAGS="-y"
1223+
RET=$1
12291224
fi
12301225
if [ $RET -eq 0 ]; then
1231-
if is_installed rpi-connect || is_installed rpi-connect-lite || apt-get install "$APT_GET_FLAGS" rpi-connect-lite; then
1232-
if dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1233-
$PREFIX systemctl --user -q enable rpi-connect.service
1226+
if is_installed rpi-connect || apt-get install "$APT_GET_FLAGS" rpi-connect; then
1227+
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
1228+
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service
1229+
$PREFIX systemctl --user -q start rpi-connect.service rpi-connect-wayvnc.service
1230+
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1231+
$PREFIX systemctl --user -q enable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
12341232
$PREFIX systemctl --user -q start rpi-connect.service
12351233
else
12361234
$PREFIX rpi-connect on > /dev/null 2>&1
12371235
fi
1238-
STATUS="Remote shell access via Raspberry Pi Connect is enabled"
1236+
STATUS="Screen sharing via Raspberry Pi Connect is enabled"
12391237
else
12401238
return 1
12411239
fi
12421240
elif [ $RET -eq 1 ]; then
1243-
if [ "$rpi_connect_version" != "0.0" ]; then
1244-
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
1245-
$PREFIX systemctl --user -q stop rpi-connect.service rpi-connect-wayvnc.service
1246-
$PREFIX systemctl --user -q disable rpi-connect-wayvnc.service rpi-connect.service
1247-
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1248-
$PREFIX systemctl --user -q stop rpi-connect.service
1249-
$PREFIX systemctl --user -q disable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
1241+
if [ "$INTERACTIVE" = True ]; then
1242+
whiptail --yesno "Would you like to enable remote shell access over Raspberry Pi Connect?" --defaultno 20 60 2
1243+
RET=$?
1244+
fi
1245+
if [ $RET -eq 0 ]; then
1246+
if is_installed rpi-connect || is_installed rpi-connect-lite || apt-get install "$APT_GET_FLAGS" rpi-connect-lite; then
1247+
if dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1248+
$PREFIX systemctl --user -q enable rpi-connect.service
1249+
$PREFIX systemctl --user -q start rpi-connect.service
1250+
else
1251+
$PREFIX rpi-connect on > /dev/null 2>&1
1252+
fi
1253+
STATUS="Remote shell access via Raspberry Pi Connect is enabled"
12501254
else
1251-
$PREFIX rpi-connect off > /dev/null 2>&1
1255+
return 1
1256+
fi
1257+
elif [ $RET -eq 1 ]; then
1258+
if [ "$rpi_connect_version" != "0.0" ]; then
1259+
if dpkg --compare-versions "$rpi_connect_version" lt 1.3; then
1260+
$PREFIX systemctl --user -q stop rpi-connect.service rpi-connect-wayvnc.service
1261+
$PREFIX systemctl --user -q disable rpi-connect-wayvnc.service rpi-connect.service
1262+
elif dpkg --compare-versions "$rpi_connect_version" lt 2.0; then
1263+
$PREFIX systemctl --user -q stop rpi-connect.service
1264+
$PREFIX systemctl --user -q disable rpi-connect.service rpi-connect-wayvnc.service rpi-connect-wayvnc-watcher.path
1265+
else
1266+
$PREFIX rpi-connect off > /dev/null 2>&1
1267+
fi
1268+
STATUS="Raspberry Pi Connect is disabled"
1269+
else
1270+
STATUS="Raspberry Pi Connect isn't installed"
12521271
fi
1253-
STATUS="Raspberry Pi Connect is disabled"
12541272
else
1255-
STATUS="Raspberry Pi Connect isn't installed"
1273+
return $RET
12561274
fi
12571275
else
12581276
return $RET
12591277
fi
1260-
else
1261-
return $RET
12621278
fi
12631279
if [ "$INTERACTIVE" = True ]; then
12641280
whiptail --msgbox "$STATUS" 20 60 1

0 commit comments

Comments
 (0)