My computer only has a single user that is used for normal log in.
On boot, it would be convenient of the system would log in that user automatically, and then optionally, lock the screen, such as by launching a password protected screen saver.
Suggestions?
Set your user for automatic login in
System Settings
->User Accounts
->Automatic Login
(you will need to press the "unlock" button and enter your password before you can change the automatic login setting).The command
gnome-screensaver-command -l
will cause the screen to be immediately locked, which can probably be added to your autostart items.Using
gedit
(or other text editor of choice), create/home/USERNAME/.config/autostart/screen_lock.desktop
with contents:And hopefully it will automatically login and then lock the screen.
I'm using Ubuntu 18.04.1 LTS with Gnome 3.28.2 and this worked for me. Set a user to auto-login, either via the GUI or by editing /etc/gdm3/custom.conf. On the desktop, click on Show Applications, type in "Start" and you'll see the "Startup Applications Preferences", open it, click on Add, give it whatever Name and Comment you'd like and put the following in the Command input:
On re-boot, it will auto-login and immediately lock the screen for whatever user you set up in /etc/gdm3/custom.conf.
What you ask is almost a normal setup. During installation you get asked to insert a password and can choose to have that user log in automatically. This image shows the checkbox as
off
(You can not use automatic log in with an encrypted home).After install you can still set this at the accounts settings:
The screen lock is by default set to ask for a password. Have a look at this topic for more information: How do I disable the screensaver/lock? on where to find it. The setting where you can do this looks like this:
It is about not setting the lock but you just have to set it the other way.
This is an old question but this is the best option:
Set your user for automatic login
Or change in
Settings
->Users
->Automatic Login
Write a script
gnome-screensaver
can do the job but we have to make shure its available when the machine runs the code. To get it, create a script with the following:This will attempt to lock the screen until it succeeds or spends more time than usual.
Make shure that execution is enabled on file permissions with
or checking "Allow executing file as program" by right-clicking and going to
Properties
->Permissions
I recommend you run it before the next step
Place it between the startup applications
or add manually in "Startup Applications" (
gnome-session-properties
)Notes
Works with Ubuntu and has been tested on a Pop! _OS 20.04
You have to install the needed packages as
gnome-screensaver
Remember to change
<pathtoscript>
with the path to the script you createdThere were a lot of answers to this already old question but none of them where satisfactory for me. Here is how to do it using a systemd service.
Set your user for automatic login
This can be easyly done by changing it in
Settings
->Users
->Automatic Login
Create a Systemd service
Create a file in
/home/<username>/.local/share/systemd/user/
that is named in the format<name>.service
containing the following code:The crux here is the
After=
andRequires=
to be set to the display manager that you are using, here it isgnome-session
for instance.Now all you need to do is run
systemctl --user enable <name>.service
to enable the service and lock the screen on login. It can be easily disabled by runningsystemctl --user disable <name>.service