[英]powercli script on linux is failing to run as systemctl service
[英]Cannot run a script as root with systemctl
我需要在Debian linux啟動時將補丁ram應用於藍牙芯片。 該補丁使用/dev/mem
重置GPIO。 此更新的藍牙初始化腳本包含在/etc/init.d/bluetooth
。
我的bluetooth.service
是
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/etc/init.d/bluetooth start
User=root
NotifyAccess=main
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
但是,當我重新啟動時,出現錯誤消息“無法打開/ dev / mem:不允許操作”
我知道/dev/mem
只能由root用戶訪問,但是我不是以root用戶身份運行初始化腳本嗎?
它清楚地表明您沒有運行腳本的權限,您可以需要以root用戶身份運行腳本,例如ExecStart=/etc/init.d/bluetooth start
該命令應以root用戶身份運行
只需以root用戶身份登錄並重新運行腳本
系統啟動時運行腳本
在/etc/init.d/目錄中創建一個名為bluetooth.service的腳本(以root用戶身份登錄) vi /etc/init.d/bluetooth.service
設置腳本的可執行權限: chmod +x /etc/init.d/bluetooth.service
確保每次Debian Linux系統啟動/啟動時執行此腳本:
update-rc.d bluetooth.service defaults 100
其中,bluetooth.service:是啟動腳本名稱的默認值:參數'defaults'是指默認的運行級別,范圍是2到5。100:數字100表示腳本將在包含數字101的任何腳本之前執行。只需運行命令
ls –l /etc/rc3.d/
該命令將使用數字軟鏈接到/etc/init.d。
下次重新啟動系統時,您的自定義命令或腳本將通過bluetooth.services執行。 ÿ
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.