My operating system is debian5. There are some directories under/etc/that are RC *. D. * stands for numbers, which are all the services loaded when the system starts. Find DBUS and Hal in them. Pay attention to the numbers in front, which represent the startup order. For example, I found k88dbus and k16hal in RC1. D directory. The problem is that the startup order of DBUS is behind Hal, So it causes this problem. Therefore, write the startup sequence of dubs between Hal serial numbers. For example, I change k88dbus to k15dbus, and use the following command:
#mv K88dbus K15dbus
Restart again and the problem is solved.