挂载卷后如何在 Gnome 中自动启动应用程序?

挂载卷后如何在 Gnome 中自动启动应用程序?

根据Gnome 的桌面应用程序自动启动规范,我应该能够通过将程序命名为“.autorun”、“autorun”或“autorun.sh”中的任何一个来执行该程序。这些似乎都不起作用:我从 nautilus-autorun-software 收到提示,询问我是否要让它运行,我说“运行”,结果出现一个对话框,显示“自动运行软件错误:找不到自动运行程序” ”。这是一个错误还是我没有做正确的事情?

自动运行文件包含以下内容:

#! /bin/sh
gnome-terminal -x sh -c '~/bin/podcatcher/copypodcasts.sh; echo Done!; read pause'

如果我手动运行自动运行文件,它就可以工作。

文件系统很胖,这是 mtab 条目:

/dev/sdd1 /media/disk vfat rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush 0 0

答案1

这个不成立。

USB 驱动器会自动安装并由桌面用户拥有。但她必须卸载它并以 root 身份重新安装它?我看不出这种行为的实际用途。

无论如何,我测试了这个根挂载,但用户桌面上没有显示任何内容。

如果你看一下鹦鹉螺代码,该_check_file函数没有“must_be_executable”的默认值,并且调用此函数不会设置该参数。

我让它工作的唯一方法是这样的:

  • 将 USB 驱动器格式化为 ext2 或 ext3
  • 在上面放一个自动执行文件
  • 更改权限以使桌面用户可执行该文件(文件可以由任何人拥有)
  • 插入 USB 驱动器并让 gnome 自动挂载它

答案2

CD 可能是通过该noexec选项安装的。

在终端上以 root 身份登录umount,然后mount再次以 root 身份登录。这次作为 GUI 自动运行的用户,CD 应该可以工作。 (它对我来说是 VirtualBox 的)

答案3

“找不到自动运行程序”可能意味着该文件不可执行。如果是 CDROM,则该autorun文件必须具有执行权限。这需要在创建 ISO 映像时对 ISO9660 文件系统进行 Rock Ridge 扩展。

我正在使用以下过程(笔记:您将需要大量磁盘空间)。

  1. 创建一个目录,其中包含用于 CDROM 的文件,包括自动运行
  2. 确保文件具有执行权限。在目录问题中:

    chmod 555 *
    
  3. mkisofs使用或创建 ISO 映像genisoimage(这些似乎是同一程序)。

    genisoimage  -l -R -J -V disclabel -o directory.iso directory
    
  4. 使用 Brasero 将 iso 刻录到空白 CDROM

  5. 这将产生一个带有长文件名、Joliet 和 RockRidge 扩展名的带标签的 CDROM。

相关内容