为所有用户禁用 USB 自动挂载

为所有用户禁用 USB 自动挂载

我正在运行带有 LTSP 的 Ubuntu 14.04。我使用 usbmount 在桌面外安装 USB 拇指驱动器,效果很好。问题是,当用户登录桌面并连接拇指驱动器时,他们会看到一个错误警告框,类似于

"Unable to mount Lexar.  Device /dev/sda1 is already mounted at '/media/usb0'.

我已能够使用 gsettings 阻止已登录用户帐户出现此问题。我该如何实现

gsettings set org.gnome.desktop.media-handling automount false

对于命令行中的所有用户?

我已经尝试过建议的 udev 规则这里但这并没有解决问题


更新 #1

因此我尝试使用 Upstart Session 作业,但没有成功。

$ cat /usr/share/upstart/sessions/ltsp-replace-usb-automount-with-usbmount.conf
description "disable default automounting because it displays error boxes to the end user"
start on desktop-session-start
script
  gsettings set org.gnome.desktop.media-handling automount false
end script

并且

$ cat /usr/share/upstart/sessions/ltsp-replace-usb-automount-with-usbmount.conf
description "disable default automounting because it displays error boxes to the end user"
start on desktop-start
script
  gsettings set org.gnome.desktop.media-handling automount false
end script

我找不到任何迹象表明这些作业确实运行了。

答案1

我已经用一种感觉像肮脏的黑客手段解决了这个问题。如果有人能提供更好的答案,请分享。否则我最终会将其标记为正确答案。

为运行 gsettings 的桌面创建自启动启动器。示例如下:

$ cat /etc/xdg/autostart/gsettings-for-all-users.desktop
[Desktop Entry]
Type=Application
Name=gsettings For All Users
Exec=gsettings set org.gnome.desktop.media-handling automount false
Icon=system-run
X-GNOME-Autostart-enabled=true

参考:

  1. https://unix.stackexchange.com/questions/122424/execute-a-command-on-user-logon

  2. http://xmodulo.com/how-to-automatically-run-script-when-logging-into-ubuntu-desktop.html

相关内容