我在 Fedora 15 上使用蓝牙时遇到了奇怪的问题。首先,为了让蓝牙正常工作,我必须按照这个帖子。
现在,当我启动并登录(运行级别 5,GNOME 3)时,systemctl status bluetooth.service
结果是:
bluetooth.service - Bluetooth Manager
Loaded: loaded (/lib/systemd/system/bluetooth.service)
Active: active (running) since Wed, 08 Jun 2011 08:34:17 +0200; 56s ago
Main PID: 893 (bluetoothd)
CGroup: name=systemd:/system/bluetooth.service
├ 893 /usr/sbin/bluetoothd -n
├ 1989 [khidpd_045e0700]
└ 2000 [khidpd_045e0762]
所以一切都很好。
但是,当我更改运行级别或告诉系统进入睡眠状态时,蓝牙停止工作。systemctl status bluetooth.service
结果:
bluetooth.service - Bluetooth Manager
Loaded: loaded (/lib/systemd/system/bluetooth.service)
Active: inactive (dead) since Wed, 08 Jun 2011 08:37:57 +0200; 40s ago
Process: 860 ExecStart=/usr/sbin/bluetoothd -n (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/bluetooth.service
我必须重启它(systemctl restart bluetooth.service
)才能让它再次工作。这很不方便,因为我的主键盘是蓝牙键盘。
Fedora 14 上一切运行正常。
那么,如何才能让它工作,而不必每次更改运行级别时都重新启动蓝牙服务?
答案1
您可以将蓝牙服务配置为在退出时自动重新启动。为此,首先将文件bluetooth.service
从/lib/systemd/system/
复制到/etc/systemd/system/
。然后将以下行添加到[Service]
新复制的文件的部分:
Restart=always
最后,通过运行此命令(如)systemd
来提醒其配置已被更改:root
systemctl daemon-reload
现在,每当蓝牙守护程序退出时(就像系统处于睡眠状态时一样),systemd
都会自动重新启动它。