root@gcomputer:~# systemctl status x11-common
● x11-common.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
I tried systemctl unmask x11-common
and systemctl unmask x11-common.service
but that did not change anything.
How do I unmask it?
The commands you are using are both correct. See also the manual.
It seems the unmask
command fails when there is no existing unit file in the system other than the symlink to /dev/null
. If you mask
a service, then that creates a new symlink to /dev/null
in /etc/systemd/system
where systemd looks for unit files to load at boot. In this case, there is no real unit file.
The commands you are using are both correct. See also the manual.
It seems the unmask
command fails when there is no existing unit file in the system other than the symlink to /dev/null
. If you mask
a service, then that creates a new symlink to /dev/null
in /etc/systemd/system
where systemd looks for unit files to load at boot. In this case, there is no real unit file.
Others seem to have similar issues
x11-common.service
was also masked on my system. You can fix it like this:
First check that the unit file is a symlink to /dev/null
file /lib/systemd/system/x11-common.service
it should return:
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
in which case, delete it
sudo rm /lib/systemd/system/x11-common.service
Since you changed a unit file, you need to run this:
sudo systemctl daemon-reload
now check the status:
systemctl status x11-common
if it doesn’t say loaded and running (if the circle is still red), reinstall the package:
sudo apt-get install --reinstall x11-common
and reload the daemon again
sudo systemctl daemon-reload
and check status once more
systemctl status x11-common
Now it’s green and running 🙂 The service has no systemd unit file, but systemd happily uses the script for it in /etc/init.d
instead.
Ok, follow-up question: If it was even masked on your system, what is this service for? It seems as it is not really needed if it is masked for both of us.
@Albert [See here.]( askubuntu.com/questions/712276/…) seems the service works without the systemd unit file (it has a file in /etc/init/
…). You might want to ask a new question. What I did made no apparent difference, only the service shows as loaded, enabled, stopped (it’s active on startup) (green) instead of loaded masked dead (red). I should read my logs…
if an update for systemd comes by, the unit file is reinstalled, so this isn’t really a structural solution
– hbogertJul 17, 2017 at 20:52
@hbogert does that happen even if there was no unit file apart from the symlink to /dev/null
? You are right about my answer though. I would call this solution a workaround for a… confusing behaviour… of systemd
Could you describe your first sentence in terms of exact files which matter in this case (because I don’t really understand the scenario your describing)?
– hbogertJul 17, 2017 at 21:02
Here I show how I remove the mask using systemctl
$ sudo systemctl status bluetooth.service
● bluetooth.service
Loaded: masked (Reason: Unit bluetooth.service is masked.)
Active: inactive (dead)
$ sudo systemctl unmask bluetooth.service
Removed /etc/systemd/system/bluetooth.service.
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor preset: e>
Active: inactive (dead)
Docs: man:bluetoothd(8)
$ sudo systemctl start bluetooth.service
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor preset: e>
Active: active (running) since Sat 2022-07-30 08:50:04 +06; 2s ago
Docs: man:bluetoothd(8)
Main PID: 23191 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 9135)
Memory: 1.6M
CGroup: /system.slice/bluetooth.service
└─23191 /usr/lib/bluetooth/bluetoothd
Follow the steps below:
systemctl edit systemd-hostnamed
Add the 2 lines below then exit the editor (don’t forget to save when prompted):[Service] PrivateNetwork=no
- This will create an override.conf file with the above 2 lines in the directory:
/etc/systemd/system/systemd-hostnamed.service.d/
- The update systemd:
systemctl daemon-reload
- Then restart the service:
systemctl restart systemd-hostnamed
You should now be able to run hostnamectl
without it hanging.
source from https://askubuntu.com/questions/804946/systemctl-how-to-unmask