I want to use the snapctl tool’s is-connected
command to ask the user to connect required interfaces.
However, it doesn’t look like it’s working (or I’m doing something wrong). It keeps responding that unconnected plugs are connected. It only fails when the plug doesn’t exist.
ubuntu@ip-172-31-60-79:~$ snap connections aws-iot-greengrass
Interface Plug Slot Notes
camera aws-iot-greengrass:camera - -
dvb aws-iot-greengrass:dvb - -
gpio aws-iot-greengrass:gpio - -
gpio-memory-control aws-iot-greengrass:gpio-memory-control - -
greengrass-support aws-iot-greengrass:greengrass-support :greengrass-support -
hardware-observe aws-iot-greengrass:hardware-observe - -
hardware-random-control aws-iot-greengrass:hardware-random-control - -
home aws-iot-greengrass:home :home -
home aws-iot-greengrass:home-for-hooks :home -
hugepages-control aws-iot-greengrass:hugepages-control - -
i2c aws-iot-greengrass:i2c - -
iio aws-iot-greengrass:iio - -
joystick aws-iot-greengrass:joystick - -
log-observe aws-iot-greengrass:log-observe - -
mount-observe aws-iot-greengrass:mount-observe - -
network aws-iot-greengrass:network :network -
network-bind aws-iot-greengrass:network-bind :network-bind -
network-control aws-iot-greengrass:network-control :network-control -
opengl aws-iot-greengrass:opengl :opengl -
optical-drive aws-iot-greengrass:optical-drive :optical-drive -
process-control aws-iot-greengrass:process-control :process-control -
raw-usb aws-iot-greengrass:raw-usb - -
removable-media aws-iot-greengrass:removable-media - -
serial-port aws-iot-greengrass:serial-port - -
spi aws-iot-greengrass:spi - -
system-observe aws-iot-greengrass:system-observe :system-observe -
The snapctl is-connected <plug> | echo $?
command comes from https://snapcraft.io/docs/using-snapctl I should be getting a 1
if the plug isn’t connected.
ubuntu@ip-172-31-60-79:~$ sudo snap run --shell aws-iot-greengrass.greengrassd
root@ip-172-31-60-79:/home/ubuntu# snapctl is-connected network | echo $?
0
root@ip-172-31-60-79:/home/ubuntu# snapctl is-connected serial-port | echo $?
0
root@ip-172-31-60-79:/home/ubuntu# snapctl is-connected camera | echo $?
0
root@ip-172-31-60-79:/home/ubuntu# snapctl is-connected bla-bla-bla | echo $?
0
error: error running snapctl: snap "aws-iot-greengrass" has no plug or slot named "bla-bla-bla"
What’s going on?
Also, how does the command differentiate between a plug and a slot? The docs say that
snapctl is-connected <plug|slot>
is the command’s format. When I run:
snapctl is-connected home
am I querying for the home
plug or home-for-hooks
slot?