当我从我的文件管理器 (Thunar) 中“安全地移除”外部硬盘驱动器时,整个硬盘驱动器将关闭电源并从/dev. 因此,我猜在幕后,这是通过udisksctl power-off -b /dev/sdX具有相同效果的调用来完成的。
我认为应该可以以某种方式再次启动设备。阅读/sf/answers/887302461/ 后,我认为关闭电源可能是通过写入来完成的/sys/bus/usb/devices/usbX/power/control,但 sysfs 似乎保持不变。
那么,如何在使用 udisksctl 关闭电源后再次打开外部设备?对我来说,从文件管理器卸载分区后无法重新安装分区是很烦人的。
我在 USB 驱动器上有一个实时的 Debian Squeeze 系统,其中包含我用来对另一个驱动器进行映像的脚本。此脚本用于udisks按标签安装驱动器,但它不适用于串行控制台。原因是与串行控制台关联的会话似乎不是“活动的”,这意味着udisks失败:
user@my-live-usb:~$ udisks --mount /dev/disk/by-label/image-data --mount-options ro
Mount failed: Not Authorized
Run Code Online (Sandbox Code Playgroud)
更改allow_any输入/usr/share/polkit-1/actions/org.freedesktop.udisks.policy没有帮助,所以我想知道如何告诉 ConsoleKit 串行控制台是“活动的”。尝试通过 DBUS 接口执行此操作失败:
user@my-live-usb:~$ dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Session7 org.freedesktop.ConsoleKit.Session.Activate
Error org.freedesktop.DBus.GLib.UnmappedError.CkSeatError.Code0: Unable to activate session
Run Code Online (Sandbox Code Playgroud)
Session7 是在 /dev/ttyS0 上列出的那个。
那么如何让 ConsoleKit 将串行控制台识别为活动会话呢?
(就我而言,udisks 版本是 1.0.1+git20100614-3,consolekit 是 0.4.1-4。)
值得一提的是,Debian 实时系统会自动将实时用户登录到所有 6 个视频控制台和串行控制台上。
当我插入 USB 驱动器时,它会自动安装在/run/media/user/fslabel. 这是完成的,我猜是由一些 udev/dbus/thunar/nautilus/gvfs 或其他系统完成的,我觉得这很方便,不想恢复到由 root 手动安装。但是,我的默认挂载选项有问题:挂载了 vfat 驱动器,以便在所有常规文件上设置可执行标志。这是一个麻烦和安全问题,我希望禁用它。
如何设置系统范围的挂载选项,例如noexec对所有 vfat分区使用标志并禁用ext4用户空间程序/守护程序挂载分区?
几年前,我在不同的系统上尝试了一些非常耗时的事情,比如编辑一些udev或dbus规则(显然不是设计为手动编辑的文件),由于缺乏适当的文档和发行版之间的巨大差异,这是一项巨大的努力. 这是预期的和唯一的方法吗?如果是这样,有人可以告诉我要在哪里更改吗?
我在 XFCE 桌面上使用 Arch Linux、CentOS 和 openSUSE。自动挂载可能由 nautilus、thunar 或 dolphin 中的一个执行,在后台运行(或者可能是由这些启动的服务?!)。我不确定,因为它发生在后台。
thunar 安装驱动器/run/media/user_name/XX而不是非常烦人,/media/XX我可以改变这种行为吗?我正在运行最新的 arch linux
有没有办法在没有 root 权限的情况下使用密钥文件解锁 LUKS 分区?(使用 sudo 不是一种选择)
我知道udisksctl可以打开 LUKS 分区,但是它只能使用密码来完成。
我正在使用 Debian jessie/stable (8.4)。
当我尝试udiskie-mount从 cron 作业内部使用安装外部 USB 驱动器时,出现如下错误。udiskie-mount直接从命令行使用工作正常。
+ udiskie-mount -o umask=0022 /dev/disk/by-uuid/4E1AEA7B1AEA6007 --verbose
DEBUG [2016-04-19 23:00:01,762] udiskie.config: Failed to read config file: [Errno 2] No such file or directory: '/home/faheem/.config/udiskie/config.yml'
DEBUG [2016-04-19 23:00:01,764] udiskie.config: Failed to read config file: [Errno 2] No such file or directory: '/home/faheem/.config/udiskie/config.json'
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
DEBUG [2016-04-19 23:00:02,020] udiskie.config: IgnoreDevice(match={'is_block': False}, value=True) created
DEBUG …Run Code Online (Sandbox Code Playgroud) 如果我知道获得 LXDE 及其默认文件管理器需要多少“自定义” pcmanfm,只是工作,我可能永远不会选择尝试它。
我有问题。很多人都有。所有这些人都报告了相同的问题pcmanfm。论坛上的人有大约六种魔法食谱,可以让它最终发挥作用。但我想知道究竟是什么导致pcmanfm无法工作,因为我想增加我对 Linux 工作方式的理解,而不仅仅是遵循某人的指示。
我之前设法解决了这个问题。我最终用一个 xml 文件做了一些魔法。(它是 udisks 吗?是polkit-gnome吗?我不知道,但它们都在解决这个问题的魔法配方列表中。)我改变了每一个条目,说一些别的东西。最后,我可以看到我的媒体。(我什至无法手动安装它,我应该添加。)
我之前修好了……怎么了?我使用apt-get,安装了一个新包(udev因为我试图解决其他安装问题,人们似乎在hal被弃用时不再遇到这些问题),然后砰的一声,问题又回来了。
所以,我必须喜欢折磨,因为它肯定在牌中。
这不是一个容易回答的问题。如果你没有点击上面的任何链接,你将无法分辨我在说什么。
我的问题是,这到底是什么?确切地说,我们在 Unix 之上构建了这些系统,但有时它们的工作效果不如原始的 Unix级别?
我正在尝试使udisks-glue在我的 Raspbian Raspberry Pi 上工作。如果我udisks-glue通过 ssh手动启动,这很好用。但是,我希望在启动时自动启动它。
因此,脚本at/etc/init.d/udisks-glue为我启动守护程序(按照此处的说明)。这工作正常,但磁盘是以 root 权限 ( drwx------)挂载的。是否可以让此脚本以用户身份启动守护程序pi,而不是root?
1)修改上面的脚本,替换
DAEMON="/usr/bin/udisks-glue"
Run Code Online (Sandbox Code Playgroud)
和
DAEMON="exec su - pi -c /usr/bin/udisks-glue"
Run Code Online (Sandbox Code Playgroud)
这未能执行。
2) 将此行替换为对自定义脚本的引用,然后调用exec su - pi -c /usr/bin/udisks-glue. 当我连接硬盘驱动器时,它们没有安装。但是,会出现正确运行的进程。看着ps aux | grep [u]disks,我可以看到udisks-glue以pi(以及两个udisks-daemon以 root 身份运行)运行;ps如果我手动启动udisks-glue,我会得到相同的输出,如上所述。
3)我尝试编辑/etc/rc.local,添加行
su pi -c "/usr/bin/udisks-glue &"
Run Code Online (Sandbox Code Playgroud)
这与 (2) 中的结果相同,udisks-glue运行为pi,但不起作用。 …
在终端中我必须使用sudo mount,否则它会说operation not permitted。
但是在文件资源管理器中(正常启动,没有sudo)我可以通过按外部磁盘旁边的图标来安装(或右键单击 - >安装)并且它可以工作。如何在 bash 中使用相同的技术来安装 USB 驱动器而无需sudo?
https://wiki.archlinux.org/title/NTFS#Unable_to_mount_with_ntfs3_with_partition_marked_dirty
当 NTFS 分区被标记为脏时,NTFS3 无法在 Linux 上挂载该分区
但 NTFS-3G(以及 Windows)可以
似乎热拔出 NTFS 驱动器(拔出而不“弹出”它,然后再次插入)可能会导致 NTFS 分区被标记为脏,如下所示。理论上,这不会造成任何问题,因为现在许多设备都支持热(拔)插。
udisks ×10
mount ×5
arch-linux ×1
bash ×1
consolekit ×1
external-hdd ×1
kernel ×1
linux ×1
luks ×1
ntfs ×1
polkit ×1
raspberry-pi ×1
raspbian ×1
thunar ×1
udev ×1
usb-drive ×1
vfat ×1