To use Ubuntu Core, to build and sign an image, or publish a snap, you need an Ubuntu One account.
Ubuntu One is a single sign-on service (SSO) for Ubuntu and its affiliated projects, including snapcraft.io, the central resource for all snap-related publishing.
See below for details on how to create an account and retrieve your developer account details.
1. Create an Ubuntu One account
To create an account, head over to https://snapcraft.io/account and select the “I don’t have an Ubuntu One account” option to start this process.
Fill out the form that appears and you will then receive an email asking you to verify your account. Click the verification link in the email and complete the reCAPTCHA challenge that follows. Finally, you should accept the Canonical Terms of Service.
Once you’ve logged in again to accept the terms, your Ubuntu One account is ready to use.
2. Retrieve your developer account ID
You next need to retrieve your developer account identifier. This is part of your Ubuntu One account and is used to link your account to any Ubuntu Core images you create.
The next steps need to be performed in an existing Ubuntu (20.04 or later) environment.
Your developer identifier can be retrieved with the snapcraft
command, the tool that’s also used to build and publish snaps. It can be installed by running:
sudo snap install snapcraft --classic
With snapcraft
installed, log in to the Store with your Ubuntu SSO account:
snapcraft login
You will be asked for your Ubuntu One email address and password, and encouraged to enable two-factor authentication (2FA) if you haven’t already done so:
$ snapcraft login
Enter your Ubuntu One e-mail address and password.
If you do not have an Ubuntu One account, you can create one at https://snapcraft.io/account
Email: <Ubuntu-SSO-email-address>
Password: <Ubuntu-SSO-password>
We strongly recommend enabling multi-factor authentication: https://help.ubuntu.com/community/SSO/FAQs/2FA
Login successful.
Following a successful login, the snapcraft whoami
command displays your developer identifier after the id
field:
$ snapcraft whoami
email: <email-address>
username: <username>
id: xSfWKGdLoQBoQx88
permissions: package_access, package_manage, package_metrics, package_push, package_register, package_release, package_update
channels: no restrictions
expires: 2024-02-17T10:25:13.675Z
In the output above, the example id is xSfWKGdLoQBoQx88
– we’ll use this ID for subsequent examples, but you should obviously use your own ID from now on.