---
name: "netctl.special"
section: "7"
platform: "linux"
package: "netctl"
version: "1.29-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/netctl.special"
---

# netctl.special(7)

Special netctl systemd units

## NAME

netctl.special - Special netctl systemd units

## SYNOPSIS

netctl.service, netctl-auto.service, netctl-ifplugd.service, netctl-wait-online.service

## DESCRIPTION

Bundled with netctl come a few systemd units that are not controlled through the netctl command. They can be used through the systemctl utility of systemd.

## SPECIAL UNITS

netctl.service

When started, this unit tries to start the profiles that were running when the unit was last stopped. In some cases, the interface a profile binds to might not be available yet, when *netctl.service* tries to bring a profile up. A simple, hackish, solution is to do:

```
echo "[[ -t 0 ]] || sleep 3" > /etc/netctl/interfaces/<interface>
chmod 755 /etc/netctl/interfaces/<interface>
```

```
A more concise solution is to first enable a profile through netctl
and then disable it again through systemctl:
```

```
netctl enable <profile>
systemctl disable netctl@<profile>
```

```
This way the unit configuration file for the profile remains in
existence, while the profile is not enabled.
```

netctl-sleep.service

When enabled, this unit stores and stops the active network profiles before the machine is put to sleep. After the system is resumed, previously stored profiles are restarted.

netctl-auto@\<interface\>.service

This unit issues a scan on the interface it is used for and tries to start a profile for a network it finds. It is targeted at wireless interfaces. Profile specific values for *WPADriver* are ignored, but it is possible to specify *WPADriver=* in an interface hook (*/etc/netctl/interfaces/\<interface\>*).

Use [**netctl-auto**(1)](/netctl-auto/1.md) instead of **[netctl(1)](/netctl/1.md)** to control the automatic profile selection when using this unit.

netctl-ifplugd@\<interface\>.service

This unit starts ifplugd on the interface it is used for. It will try to start a netctl profile whenever a cable is plugged into the interface and stop the profile when the cable is unplugged. Note that this unit does not provide *network.target*.

netctl-wait-online.service

When activated, this unit waits for all enabled netctl profiles to come online. Enabling this unit causes *network-online.target* to only be reached once all enabled netctl profiles are fully connected. The maximum time, in seconds, to wait for profiles can be passed to this unit via *TIMEOUT\_ONLINE=*. The default value is 120. If a timeout occurs, the service enters a failed state.

## SEE ALSO

[**netctl**(1)](/netctl/1.md), [**netctl-auto**(1)](/netctl-auto/1.md), [**netctl.profile**(5)](/netctl.profile/5.md)
