小编bcb*_*cbc的帖子

防止 nautilus 显示挂载在 bash 脚本中的分区

在我的 bash 脚本中,我挂载分区,检查它们,将文件复制到它们,然后卸载。当脚本挂载分区时,Nautilus 会弹出一个窗口,显示分区并窃取焦点。这是我想要避免的。

注意:我知道我可以在系统设置、详细信息、可移动媒体Never prompt or start programs on media insertion中更改此行为,但我不想更改行为,例如,如果插入了 USB 记忆棒,我只想在我的 bash 脚本中阻止它. 由于此脚本在其他用户的计算机上运行,​​我无法修改这些设置(在脚本中),因为如果它异常终止,它将保留修改后的设置(我也不认为应该这样做)。

实际上这个自动显示似乎并不一致。如果我从终端执行完全相同的命令,Nautilus 不会显示,而且我知道我的脚本中还有其他未显示的安装。那么是什么原因造成的呢?这是代码的示例(两者都会导致弹出单独的 nautilus 窗口):

mount $dev $target
mkdir -p $target/home
mount $homedev $target/home
Run Code Online (Sandbox Code Playgroud)

我有兴趣了解挂载向 Nautilus 发出信号的过程以及发生这种情况的原因(如果我从终端挂载分区则不会发生)。防止这种情况发生的最佳方法是什么。

我注意到这种行为从 11.10 版开始(如果我没记错的话)。我目前运行的是 12.04,但该脚本必须适用于所有受支持的版本。我不认为该解决方案应该涉及修改系统设置(这可能因版本而异)。例如,如果您查看挂载分区的其他内容(如 os-prober),则在挂载不同分区时不会弹出 nautilus 窗口。

该脚本可以在这里找到。而这里的部分地方鹦鹉螺持久性有机污染物。我认为它也会出现在这里,但我一直将测试重点放在第一个链接上。是它不会弹出的地方,在其他挂载之前调用 - 请注意,我已将第一个挂载重写为 --read-only 并在 if 语句中,这没有区别。

理想情况下,答案将解释为什么会发生这种情况以及如何防止它发生,换句话说,解释为什么脚本mount内的处理方式与终端发出的脚本不同。如果它是一个完整的解决方案并且可以支持所有桌面环境(ubuntu、kubuntu、xubuntu、lubuntu 等),那么一个好的解决方法也将被接受——我也想避免测试的指数增长来验证它。

提前致谢

============

根据papashou的链接解决方案:

add_udev_rules ()
{
    for i in "$dev" "$homedev" "$bootdev" "$usrdev"; do
      if [ -n …
Run Code Online (Sandbox Code Playgroud)

bash nautilus

8
推荐指数
1
解决办法
1836
查看次数

断管错误信息

当我在 Ubuntu 14.10 beta 2 中启动时,我在屏幕上看到以下消息:

error while reading descriptor: broken pipe:
Run Code Online (Sandbox Code Playgroud)

然后屏幕变黑片刻,然后继续进入登录屏幕。

任何人都可以告诉我这条消息的含义以及我需要做些什么?

pipe 14.10

6
推荐指数
2
解决办法
1万
查看次数

如何配置 wacom 数位板的按钮?

我有一台 Wacom Bamboo 数位板 (MTE-450A)。它在 11.10 上开箱即用,甚至滚动功能也能工作(以前不能)。

不幸的是,这四个按钮被分配给我不知道的东西。如何将它们重新配置为我想要的按钮,例如Ctrl+ Z

wacom 11.10 graphics-tablet

5
推荐指数
1
解决办法
3万
查看次数

如何删除 Windows 启动管理器菜单上的额外 Ubuntu 选项?

我使用 Wubi 与 Windows 并排安装了 ubuntu。我决定卸载 ubuntu 并安装 Kubuntu,我成功地做到了。但是现在当我启动计算机时,Windows 启动管理器显示 3 个选项:

  • 视窗
  • Ubuntu
  • 库本图

Ubuntu 选项不起作用,但是当我第一次卸载 Ubuntu 时该条目没有被删除。我如何摆脱这个额外的条目?

wubi

5
推荐指数
2
解决办法
3万
查看次数

Grub 清除了 Windows 引导扇区后,Windows 8 不再启动

我正在使用Win8并安装了Ubuntu 12.10 ... GRUB中有一个条目,但选择它 - GRUB再次回来,因此Windows从未启动。我只能启动我的 Ubuntu。

/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   123086847    61440000    7  HPFS/NTFS/exFAT
/dev/sda3       123086848   586145789   231529471    7  HPFS/NTFS/exFAT
/dev/sda4       586145790   976771071   195312641    5  Rozszerzona
/dev/sda5       586145792   761929727    87891968   83  Linux
/dev/sda6       761931776   976771071   107419648   83  Linux
Run Code Online (Sandbox Code Playgroud)

sda2 是 Windows 8 分区,sda1 是 Windows 交换(或任何名称)。在 W8 的 GRUB 定制器条目中,如下所示:

insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  A456A29B56A26DAC
else
  search --no-floppy …
Run Code Online (Sandbox Code Playgroud)

grub2 dual-boot bootloader windows-8 12.10

4
推荐指数
1
解决办法
1万
查看次数

无法在 Ubuntu 13.04 中挂载 NTFS 分区

安装 Ubuntu 13.04 后,我无法挂载 NTFS 分区。

Error mounting /dev/sda5 at /media/mrxfly/xFLyDiskData:
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda5" "/media/mrxfly/xFLyDiskData"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda5': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.
Run Code Online (Sandbox Code Playgroud)

dual-boot fstab mount ntfs

3
推荐指数
1
解决办法
2万
查看次数

使用 14.10 的 Wubi 不起作用 - 无法对所选磁盘进行分区

我尝试使用 Wubi 在我的计算机上安装 Ubuntu 14.10。安装似乎在 Windows 中工作,并告诉我重新启动。

重新启动 Ubuntu 安装程序后继续安装,直到它停止并显示错误消息:Failed to partition the selected disk with the detail这可能是因为分区表中的主分区太多

wubi 14.10

3
推荐指数
1
解决办法
8587
查看次数

如何恢复/重置 postgres 密码?

我忘记了安装时使用的密码postgres。它要求为我执行的每个操作输入密码。在这种情况下我能做什么?

我什至尝试删除 postgres 并重新安装它,但它仍然要求输入密码。

postgresql

1
推荐指数
1
解决办法
1万
查看次数