Scp-dbus-servic prevents unmount

I installed a new printer driver. Now, when I try to unmount the device where the driver file was stored (mounted at /com/sw ), I get an error telling the device is busy.

When I try to track down why the device will not unmount I get scp-dbus-servic

# fuser -c /com/sw
/com/sw:             853479

# ps -p 853479
    PID TTY          TIME CMD
 853479 ?        00:00:44 scp-dbus-servic

I don’t know that service is, but searching indicates it is related to printers, and as the only reason I mounted this device in the first place was to get the printer driver, so it makes sense.
(why is there an ‘e’ missing in the command name?)
Why does it block unmount? How can it be stopped/restarted?
(it will probably be solved with a reboot, but I’m not ready for that)

Because the file is being held in an open state. This is quite common practice for shared libraries.

You’ve answered your own question. A reboot will properly close both the file and the filesystem it is on.

For that matter, it is a bad idea to load shared libraries or any other kind of essential software or firmware from a filesystem external to the standard UNIX Filesystem Hierarchy Standard.

Drivers and firmware should normally be placed under /usr/lib — or /lib, but in Arch and derivatives, /lib is a symbolic link to /usr/lib.

In addition to the above, if you need this driver loaded at boot time, then you could probably create some mkinitcpio hook for it and have it loaded by the initramfs. For more information on that, see the mkinitcpio documentation.

I thought the driver would be copied to the correct location during install. Guess I misunderstood that. What is the correct way to solve this now? Should I follow these steps?
Delete printer from manage printing app
copy driver file to /usr/lib
Reinstall printer, pointing it to the /usr/lib driver location?

It should have been, yes — or at least, depending on how you installed it.

You have not told us how you installed the driver, and I suspect that you’ve tried this allong how it is done in Microsoft Windows, which is an entirely different operating system design.

But best is to start a new thread about that. One issue per thread makes it easier for people to find the right information. :wink: