根据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 扩展。
我正在使用以下过程(笔记:您将需要大量磁盘空间)。
- 创建一个目录,其中包含用于 CDROM 的文件,包括自动运行
确保文件具有执行权限。在目录问题中:
chmod 555 *
mkisofs
使用或创建 ISO 映像genisoimage
(这些似乎是同一程序)。genisoimage -l -R -J -V disclabel -o directory.iso directory
使用 Brasero 将 iso 刻录到空白 CDROM
- 这将产生一个带有长文件名、Joliet 和 RockRidge 扩展名的带标签的 CDROM。