在 Ubuntu 22.04 上,我有两个用户共享一个存储驱动器(它也与 Windows 共享,因此我需要将其格式化为 NTFS 并位于单独的驱动器上)。
两个 Ubuntu 用户都在该驱动器上启用了自动安装选项,但当一个用户注销时,另一个用户无法安装该驱动器,因为它仍然由注销的用户以某种方式安装。只有重新启动/关闭才能完全卸载驱动器。
有没有办法允许多个用户安装驱动器或分区,或者避免在用户注销后安装驱动器?
这就是共享分区 (nvme1n1p5) 的结构。我的 Ubuntu 安装在 nvme0n1p1 上
nvme0n1 259:0 0 238,5G 0 disk
├─nvme0n1p1 259:1 0 237,4G 0 part /
└─nvme0n1p2 259:2 0 1G 0 part
nvme1n1 259:3 0 953,9G 0 disk
├─nvme1n1p1 259:4 0 100M 0 part /boot/efi
├─nvme1n1p2 259:5 0 16M 0 part
├─nvme1n1p3 259:6 0 194,7G 0 part
├─nvme1n1p4 259:7 0 517M 0 part
└─nvme1n1p5 259:8 0 758,6G 0 part /media/luggie/Data
/编辑:卸载工作后,我必须将其添加到/etc/gdm3/PostLogin/Default
以便在用户登录时自动安装分区:
#!/bin/sh
UUID="3D0CA1285D46AC42"
mkdir -p "/media/$USER/Data"
sudo mount -t ntfs /dev/disk/by-uuid/$UUID "/media/$USER/Data"
exit 0
我刚刚尝试过这个,我也得到了这个。
我不知道这是有意为之还是某种错误,但是这里有一个解决方法;
我找不到一种方法来“干净地”做事并在从 GNOME 会话注销时运行脚本,我认为没有设施可以做到这一点。
因此,我认为下一个“最干净”的东西会使用
/etc/gdm3/PostSession/Default
(每次使用 GDM 启动的会话结束时都会以 root 身份运行:优点是这适用于使用 GDM 启动的每个会话,包括其他桌面环境)以及每个用户,在您的情况下都是理想的功能)。我会迂腐一点,让你使用驱动器的 ID 而不是路径来卸载驱动器,这对于外部驱动器来说至关重要,因为外部驱动器的路径更容易发生变化。
首先确定驱动器的ID:
这仅适用于相当新的版本
lsblk
;如果lsblk
输出lsblk: unknown column: ID
,您可以运行:并手动检查哪个符号链接指向您要卸载的设备(
/dev/sda
或其他设备)。/etc/gdm3/PostSession/Default
然后像这样编辑:替换
id
为您的驱动器 ID;请注意,这
umount $(realpath "/dev/disk/by-id/${id}")*
将卸载嵌套在磁盘实际路径(等)下的所有分区/dev/sda1
,/dev/sda2
我认为这对于您的情况也是一个理想的功能。好的让我想起一件事
请在
换线
到
因此,当您的用户注销时,所有进程都会被终止(会话范围)。
然后再试一次。