使用命令行工具,如何创建nicelooking DMG的Mac OS X?

经过大量的研究,我得到了这个答案,我将它作为我自己问题的答案,供参考:

  1. 确保"启用辅助设备访问"在系统首选项>> 通用访问中被选中。 为AppleScript工作需要它。 在这里更改( 它在 Mac OS X 服务器 10.4上不起作用) 之后你可能必须重新启动。

  2. 创建一个 R/w DMG 。它必须大于结果。 在本例中,bash变量"大小"包含了Kb的大小,"源"bash变量中的文件夹内容将被复制到 DMG:

  • 
    hdiutil create -srcfolder"${source}" -volname"${title}" -fs HFS+ -fsargs"-c c=64,a=16,e=16" -format UDRW -size ${size}k pack.temp.dmg
    
  • 挂载磁盘映像,并存储设备名称( 你可能希望在这里操作之后几秒钟内使用睡眠):

  • 
    device=$(hdiutil attach -readwrite -noverify -noautoopen"pack.temp.dmg" | egrep '^/dev/' | sed 1q | awk '{print $1}')
    
  • 将背景图片( 以PNG格式格式) 存储在DMG中名为"。背景"的文件夹中,并将它的名称存储在"backgroundpicturename"变量中。

  • 使用AppleScript设置视觉样式(. app的名称必须在bash变量中"applicationname"根据需要对其他属性使用变量):

  • 
    echo 'tell application"Finder"tell disk"'${title}'"openset current view of container window to icon viewset toolbar visible of container window to falseset statusbar visible of container window to falseset the bounds of container window to {400, 100, 885, 430}set theViewOptions to the icon view options of container windowset arrangement of theViewOptions to not arrangedset icon size of theViewOptions to 72set background picture of theViewOptions to file".background:'${backgroundPictureName}'"make new alias file at container window to POSIX file"/Applications" with properties {name:"Applications"}set position of item"'${applicationName}'" of container window to {100, 100}set position of item"Applications" of container window to {375, 100}update without registering applicationsdelay 5closeend tellend tell
    ' | osascript
    
  • 通过正确设置权限,压缩并释放该DMG来完成该操作:

    1. 
      chmod -Rf go-w/Volumes/"${title}"
      sync
      sync
      hdiutil detach ${device}
      hdiutil convert"/pack.temp.dmg" -format UDZO -imagekey zlib-level=9 -o"${finalDMGName}"
      rm -f/pack.temp.dmg 
      

    在 Snow Leopard 上,上面的applescript不会正确设置 icon 位置- 它似乎是一个雪花 Leopard Bug 。 一个解决办法是在设置图标后调用 close/打开,i.e.:

    
    ..
    set position of item"'${applicationName}'" of container window to {100, 100}
    set position of item"Applications" of container window to {375, 100}
    close
    open
    

使用命令行工具,如何创建nicelooking DMG的Mac OS X?相关推荐

  1. GitHub开源新命令行工具:在终端里创建、管理PR成现实

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub 的官方开源命令行工具来了. 名字很正式,叫做 GitHub CLI,别名 gh. 与此前的 hub 不同,gh 是更高层的封装 ...

  2. openshift命令_使用命令行工具创建WildFly OpenShift应用程序

    openshift命令 通过使用快速入门,可以轻松地在OpenShift上配置WildFly的新实例. 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 . 但是,您 ...

  3. 使用命令行工具创建WildFly OpenShift应用程序

    通过使用快速入门,可以在OpenShift上轻松配置WildFly的新实例. 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 . 但是,您无法使用CLI工具创建Wi ...

  4. oracle创建表空间工具,使用sqlplus命令行工具为oracle创建用户和表空间

    这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下 用Oracle10g自带的企业管理器 ...

  5. 使用Node.js创建命令行工具

    在我的职业生涯中我已经写了数百种Bash脚本,但在Bash方面仍然有很多不足.每次我都要为一些简单的逻辑结构去查阅语法.如果我想使用curl或sed做些特技,我还不得不去查找操作说明.我在我的正则表达 ...

  6. go语言生成linux桌面快捷,使用Go语言在MacOS创建一个自定义的命令行工具

    使用 MacOS 做开发的朋友都知道,我们一般会使用 Homebrew 做软件包管理,经常会用到 brew install [soft] 来安装各种各样的命令行软件.今天通过一个百科查找的命令行工具( ...

  7. 【网络通信】简易MFC程序的创建与命令行工具cl.exe、linker.exe的使用

    简易MFC程序的创建与命令行工具cl.exe.linker.exe的使用 实验目标 实验流程 一.MFC程序 1.创建MFC项目 2.资源与代码 3.演示效果 二.编译连接windows API程序 ...

  8. 易数一键还原(免费的系统备份与还原软件)------创建命令行工具

    易数一键还原是一款免费的系统备份与还原软件,支持增量备份与多时间点还原,还支持多钟应急还原方式. 现在该软件将其命令行公开,便于计算机爱好者研究,下面是创建命令行工具下载地址: http://pan. ...

  9. [Windows]_[初级]_[使用7z命令行工具进行打包备份]

    场景 在开发程序或做一些自动化脚本时, 经常用压缩格式来进行打包文件夹为zip,或解压zip,rar,tar文件.如果压缩的是exe二进制文件,是不需要再进行压缩的,只需要存储即可,这样可以增加打包的 ...

最新文章

  1. SQL语句中的AND和OR执行顺序问题
  2. gridview 实现自增加列
  3. 科研实习 | 北京大学前沿中心王鹤老师具身智能课题组招收科研实习生
  4. AGC005D - ~K Perm Counting(组合数学,背包,dp)
  5. java args_Java命令行界面(第2部分):args4j
  6. java删除list元素的几种方式
  7. Linux版本号含义
  8. 为什么一放假家里的wifi就变卡?都9102年了,还有人蹭网?
  9. 天花板级软测项目拆分详解,年后涨薪面试,稳了...
  10. python的运行方式有哪两种_Python基础:Python运行的两种基本方式
  11. C++const类型
  12. Python下载(Windows)
  13. mongovue mysql_MongoDB 客户端 MongoVue
  14. 药品信息管理系统php,医药行业信息化管理系统
  15. 2022深圳杯C题思路解析
  16. Linux下结束进程的命令
  17. 开源免费的C/C++网络库 c/c++ sockets library 七剑下天山
  18. Ubuntu 16.04+CUDA8.0+Caffe+OpenCV3.1
  19. HorizontalScrollView的基本使用,适合初学者
  20. c语言程序设计66页,C语言程序设计

热门文章

  1. 12月17日第壹简报,星期六,农历十一月廿四
  2. 错觉图片生成实验 - 平行线(黑林错觉)
  3. usb:认识usb传输(一)
  4. 两个开关同时控制一盏灯
  5. native react 图片多选_react-native实现的多图片选择器
  6. Mac终端Last login: Fri Aug 6 16:01:33 on ttys000
  7. railgun项目的不足和将来会逐步新增的模块
  8. 音视频从入门到精通——ffmpeg3之打印多媒体文件音视频信息
  9. Dell R710 iDRAC6 远程控制卡设置
  10. 蚂蚁集团俞仁杰:金融级云原生之多活容器集群高可用建设实践