.plist返回:无效的属性列表,plutil说好!


2

我正在尝试创建我的第一个.plist。我想在登录时安装一个ssh驱动器,所以每次启动Mac时都不必输入命令!

命令是: sshfs -o allow_other,defer_permissions user@xxx.xxx.xxx.xxx:/home/user/ /Users/user/Desktop/Website/ -o reconnect

plist看起来像这样:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>name.plist</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/sshfs</string>
                <string>-o allow_other,defer_permissions</string>
                <string>user@xxx.xxx.xxx.xxx:/home/user</string>
                <string>/mnt/User</string>
                <string>-o reconnect,volname=User</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

我已经按照教程说完了.plist,我必须运行这两个命令:

launchctl load ~/path/name.plist
launchctl start ~/path/.name.plist

然后它返回 Invalid property list

我看见 Launchctl说plist无效,plutil说没关系 ,它说我应该替换前几行但没有变化? plutil 跑步时回来好,所以我输了!

附:

我用过了 模板 下方由user3439894发布。这次它正确加载,但是当我开始它没有任何反应

当我查看系统日志时,没有任何关于它的帖子....

关于sshfs的路径,我尝试了两件事:

  1. 我把它放在下面给出的例子中。
  2. 我做了一个建议并再次添加了路径/ usr / local / bin / sshfs

您专注于文件格式而不是您正在进行的过程。您应该查看LaunchAgents的文档,例如 developer.apple.com/library/mac/documentation/MacOSX/Conceptual/... 该教程还说明了使用的路径
Mark

Answers:


1

因为在评论中发布这篇文章会更加困难,我将其作为答案发布,尽管它可能不是正确的答案。

我拿走了你的 命令行 使用时 Lingon X. 创造 的.plist 文件,这是解析它的方式 命令行 ,这与你的不同。


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>name</string>
    <key>ProgramArguments</key>
    <array>
        <string>sshfs</string>
        <string>-o</string>
        <string>allow_other,defer_permissions</string>
        <string>user@xxx.xxx.xxx.xxx:/home/user/</string>
        <string>/Users/user/Desktop/Website/</string>
        <string>-o</string>
        <string>reconnect</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

你会注意到我用的时候 命令行 你有问题,它没有包括通往 sshfs,你可能不得不重新添加。它做的另一件事是不同的 在里面 排列 保存信息,但不包括参数之间的空格。也许这会有所不同。不能说因为我无法测试你的 命令行 但是使用Lingon X创建的格式值得一试。


Ty为您的答案user3439894我已经更新了我的问题,请你看看它,并告诉我是否有什么想法?
user297239

@ user297239,在终端,做了 命令行 没有任何用户输入执行?换句话说,如果您输入或复制&amp;粘贴完整 命令行 ,随着 真实 信息,然后按 输入 ......做到了 提示 没有任何其他东西然后再按下 输入 ?如果是的话,我会尝试运行它 应用脚本 作为Automator,AppleScript或Platypus应用程序形成系统偏好设置中的登录项&gt;用户&amp;群组&gt;当前用户&gt;登录项,然后查看是否使用不同的执行方法作为启动代理/守护程序使用 的.plist 文件。
user3439894
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.