How to Run a Script at Startup on Linux


Linux is known for its flexibility and customization, which means that users have a lot of control over their systems. One of the tasks that users may want to accomplish is running a script at startup. This can be useful for automating tasks or configuring settings that need to be set each time the system is booted up. There are several ways to run a script at startup on Linux, and each has its own advantages and disadvantages. In this how-to guide, we will explore some of the most common methods.

Using the init system

The init system is a fundamental part of the Linux operating system and is responsible for managing the boot process. The most common init systems are systemd and SysVinit. Each of these systems has its own way of running scripts at startup.

With systemd, the easiest way to run a script at startup is to create a unit file in the /etc/systemd/system/ directory. This file should contain information about the script, such as its location, what it does, and when it should be run.

Step 1: Open Text Editor

Open a text editor of your choice, such as nano or Vim.

Step 2: Create File

Type the following text into the editor:

Description=My Startup Script



The Description field is a brief description of your script.

The After field specifies that the script should be run after the network has been started.

The ExecStart field specifies the command to run your script. Replace /path/to/ with the actual path to your script.

The WantedBy field specifies the target that the service should be started with. In this case, will start the script during the default startup process.

Step 3: Save File

Save the file as myscript.service in the /etc/systemd/system/ directory.

Step 4: Reload systemd daemon

To reload the systemd daemon, run:

sudo systemctl daemon-reload

Step 5: Enable at Boot

To enable the service to start at boot time, run:

sudo systemctl enable myscript.service

Your script will now run automatically at startup.

Step 6: (Optional) Start/Stop Script

To start or stop the script manually, run:

sudo systemctl start myscript.service
sudo systemctl stop myscript.service

Using cron

Cron is a time-based job scheduler on Linux that allows users to schedule tasks to run at specific times or intervals. This can also be used to run a script at startup.

Step 1: Edit crontab file

To create a cron job, you can edit the crontab file by running:

crontab -e

Then, add a line to the file that specifies when the script should be run. For example, to run the script every time the system is booted up, you can use the @reboot keyword:

@reboot /path/to/

Using the .bashrc file

The .bashrc file is a script that is executed each time a user logs into a shell. This can be used to run a script at startup for a specific user.

Step 1: Edit .bashrc file

To edit the .bashrc file, you can use any text editor, such as nano or Vim. For example, run:

nano ~/.bashrc

Then, add a line to the file that specifies the script to be run. For example:


It’s important to note that this method will only run the script for the user that has the .bashrc file configured.

Using the GUI

Finally, some Linux distributions provide a graphical interface for managing startup applications. This can be a convenient way to run a script at startup, as it allows users to easily manage their startup applications without having to use the command line.

For example, on Ubuntu, you can use the “Startup Applications” tool, which can be found in the Dash by searching for “Startup Applications.” Once the tool is open, you can click the “Add” button to add a new startup application. You will need to specify the name of the application, the command to run the script, and any other options that are required.


Running a script at startup on Linux can be a useful way to automate tasks and configure settings that need to be set each time the system starts up. There are several ways to achieve this, including using system-wide or user-specific startup scripts, using cron jobs, or using systemd services. Each method has its own advantages and disadvantages, depending on the specific requirements of the script and the system configuration. By choosing the right method and properly configuring the startup script, Linux users can save time and streamline their workflow, ensuring that their system is always configured the way they need it to be.

Please Leave Feedback and Corrections in the Comments

More to Explore

Table of Contents

Leave a Reply

Your email address will not be published. Required fields are marked *

What are you looking for?

Type in a question or keyword below

Frequently Asked Questions

Why are your prices so high?

Our prices actually aren’t that high when you compare our laptops to models in the same class. Our Aon S1 is in the same class as the Dell XPS 13, Lenovo Thinkpad X1, and MacBook Pro. When you compare against these models, you will see our pricing is actually very reasonable, especially considering the fact that our Aon S1 has many advantages over these other models, including user-upgradeability, user-serviceability, and customizability.

Also, it’s important to note that unlike other laptop manufacturers that do final assembly in China, our laptops are built-to-order in the United States. This enables us to provide a much broader array of customization options compared to companies like Dell, Lenovo, and Apple, although at a higher cost.

Read More

Are all the parts soldered to the motherboard?

In many modern laptops, especially thin and light models (like Apple’s MacBook Air or Pro, Dell’s XPS 13, or many of Lenovo’s ThinkPad X1 Carbon models), the memory, storage, battery, and wireless module are often soldered directly onto the motherboard. This is done to save space and allow the laptop to be thinner, but it means that the RAM and SSD are not user-upgradeable.

However, as part of our commitment to the Right to Repair Movement, the memory, storage, battery, and wireless module all MALIBAL laptops are user-upgradeable or user-replaceable.

Do any of your laptops support coreboot?

Coreboot is an open-source project aimed at replacing the proprietary BIOS (Basic Input/Output System) firmware found in most computers. BIOS firmware is the first piece of software that runs when a computer is turned on. It initializes the hardware and starts the operating system.

Coreboot is designed to perform only the minimum amount of hardware initialization necessary to load and run a modern 32-bit or 64-bit operating system. This minimalist approach not only reduces the complexity and potential attack surface of the firmware, but it can also speed up the system boot time significantly.

Coreboot can be used with payloads such as a Linux kernel, SeaBIOS, or UEFI firmware to provide a complete firmware solution. It’s appreciated by users who want to have more control over their hardware, value the transparency and security that come from open-source software, or have specialized requirements.

Coreboot with EDK II is supported on our Aon line of laptops.

Can your laptops be charged or powered via USB-C?

USB-C is revolutionizing the way we charge laptops. As a universal charging standard, USB-C has a number of advantages that make it particularly suited for this task.

First and foremost, it offers high power delivery capability – up to 100 watts – which is sufficient to charge even power-hungry laptops. This eliminates the need for proprietary laptop chargers and allows for charging via common adapters, power banks, or even other laptops.

Additionally, USB-C is a reversible connector, meaning it can be inserted either way, making it more user-friendly.

It also supports data transfer and display output, allowing for a single cable to provide power, transfer data, and connect to external monitors.

All MALIBAL laptops can be powered via the Thunderbolt 4 port.

MALIBAL is an innovative technology company that produces high-performance, custom linux laptops for developers and content creators; mobile workstations for engineers, scientists, video editors, 3D modelers, and animators; and mobile servers for enterprise applications. On our site, you will find information about the best linux laptops, such as our Aon S1 and Aon L1 models, our customers, new articles, latest news, guides, features, and more.
How do I get a quote?

If you need a quote for any reason, e.g., to submit to accounting for approval, before ordering, simply add the laptop(s) you want to purchase to the Cart, then click Checkout, and on the checkout page, click Convert Cart to Quote. We will email you a PDF of the quote with a link to make payment once you are ready to complete the order.

How do I cancel an order?

You may cancel an order any time up until it ships. After it ships, you will not be able to cancel it, but will instead have to use our return policy in order to return the laptop for a refund. To cancel an order, simply open a sales ticket or sales chat and give the representative your order information, and they will cancel the order for you and send you confirmation via email and text.


How do I make a change to my order?

You may make changes to your order up until it ships. To modify an order, simply open a sales ticket or sales chat and give the representative your order information and specify which changes you want to make.

When is my order shipping?

If all parts are in stock, the average build time for laptops is 5-7 business days. This means laptops will ship 5-7 business days after the order is placed. If a component is backordered, it will say which parts are backordered in your order confirmation email.

To see the estimated delivery date of your laptop, please check your order confirmation email for the Estimated Delivery Date. You can also see this information on your My Account > Order Details page. The estimated delivery date is the build time (plus backorder delay, if applicable) plus the shipping time.

Once your laptop ships out, we will email you the tracking information. An adult will need to be at the address to sign for the package when it arrives.

How do I track my order after it ships?

You can view your tracking status via the order details page in your account.