[英]systemctl disable name.service doesn't persist after reboot
我正在尝试找到一种在启动时在Ubuntu 16.04上禁用蓝牙的方法,我一直在网上绊脚石的一种方法是使用systemd
基本上
首先,停止服务:
sudo systemctl停止bluetooth.service
然后禁用它:
sudo systemctl禁用bluetooth.service
校验:
sudo systemctl状态为bluetooth.service
但是每次我重新启动后,它都重新启动,并且我找不到网上有人抱怨systemd disable命令不能像我这样工作
即使在ubuntu Wiki上,它也应该起作用,这是我做错了什么吗?
https://wiki.ubuntu.com/SystemdForUpstartUsers
这是我运行这些命令时的输出
mohamed@mohamed-UX330UAK:~$ sudo systemctl stop bluetooth.service
[sudo] password for mohamed:
mohamed@mohamed-UX330UAK:~$ sudo systemctl disable bluetooth.service
Synchronizing state of bluetooth.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable bluetooth
insserv: warning: current start runlevel(s) (empty) of script `bluetooth' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `bluetooth' overrides LSB defaults (0 1 6).
insserv: warning: current start runlevel(s) (empty) of script `bluetooth' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `bluetooth' overrides LSB defaults (0 1 6).
mohamed@mohamed-UX330UAK:~$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor prese
Active: inactive (dead) since Wed 2017-04-26 19:56:04 AEST; 23s ago
Docs: man:bluetoothd(8)
Main PID: 882 (code=exited, status=0/SUCCESS)
Status: "Quitting"
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: RFCOMM server failed for Heads
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopping Bluetooth service...
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Terminating
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopped Bluetooth service.
lines 1-17/17 (END)...skipping...
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor prese
Active: inactive (dead) since Wed 2017-04-26 19:56:04 AEST; 23s ago
Docs: man:bluetoothd(8)
Main PID: 882 (code=exited, status=0/SUCCESS)
Status: "Quitting"
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: RFCOMM server failed for Heads
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopping Bluetooth service...
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Terminating
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopped Bluetooth service.
~
~
~
~
~
~
~
lines 1-17/17 (END)...skipping...
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2017-04-26 19:56:04 AEST; 23s ago
Docs: man:bluetoothd(8)
Main PID: 882 (code=exited, status=0/SUCCESS)
Status: "Quitting"
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1.79 path=/MediaEndpoint/A2DPSource
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: Endpoint registered: sender=:1.79 path=/MediaEndpoint/A2DPSink
Apr 26 19:42:19 mohamed-UX330UAK bluetoothd[882]: RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98)
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=:1.43 path=/MediaEndpoint/A2DPSource
Apr 26 19:42:34 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=:1.43 path=/MediaEndpoint/A2DPSink
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopping Bluetooth service...
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Terminating
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=:1.79 path=/MediaEndpoint/A2DPSource
Apr 26 19:56:04 mohamed-UX330UAK bluetoothd[882]: Endpoint unregistered: sender=:1.79 path=/MediaEndpoint/A2DPSink
Apr 26 19:56:04 mohamed-UX330UAK systemd[1]: Stopped Bluetooth service.
这是创建脚本的方法,该脚本将在启动时运行,并执行一项操作以终止Bluetooth服务,并且将执行以下操作(我使用nano,请随时使用任何其他文本编辑器):
步骤1:浏览至资料夹
cd /etc/systemd/system/
步骤2:首先创建一个脚本,该脚本一旦运行将终止蓝牙服务:
nano bluetoothkill.sh
步骤3:输入以下代码,保存并退出:
#!/bin/bash
rfkill block bluetooth
exit 0
步骤4:在同一文件夹/ etc / systemd / system /中创建foo.service文件:
nano foo.service
步骤5:输入以下代码,保存并退出:
[Unit]
Details=Additional startup scripts
After=network.target
[Service]
ExecStart=/etc/systemd/system/bluetoothkill.sh
[Install]
WantedBy=default.target
步骤6:在终端中运行以下命令:
sudo chmod 744 bluetoothkill.sh
步骤7:在终端中运行以下命令:
sudo systemctl start foo.service
步骤8:重新启动机器,在下次启动时,您会注意到默认情况下在启动时不再启用蓝牙服务。 您仍然可以随时在设置中或终端运行时启用它,而不会出现任何错误。
如果要在启动时添加更多脚本,则始终可以编辑foo.service文件,并在[Service]括号下添加其他行以在启动时运行其他脚本,例如:
ExecStart=/full-script-filepath/newscript.sh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.