使用命令行工具,如何创建nicelooking DMG的Mac OS X?
使用命令行工具,如何创建nicelooking DMG的Mac OS X?
经过大量的研究,我得到了这个答案,我将它作为我自己问题的答案,供参考:
确保"启用辅助设备访问"在系统首选项>> 通用访问中被选中。 为AppleScript工作需要它。 在这里更改( 它在 Mac OS X 服务器 10.4上不起作用) 之后你可能必须重新启动。
创建一个 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来完成该操作:
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?相关推荐
- GitHub开源新命令行工具:在终端里创建、管理PR成现实
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub 的官方开源命令行工具来了. 名字很正式,叫做 GitHub CLI,别名 gh. 与此前的 hub 不同,gh 是更高层的封装 ...
- openshift命令_使用命令行工具创建WildFly OpenShift应用程序
openshift命令 通过使用快速入门,可以轻松地在OpenShift上配置WildFly的新实例. 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 . 但是,您 ...
- 使用命令行工具创建WildFly OpenShift应用程序
通过使用快速入门,可以在OpenShift上轻松配置WildFly的新实例. 只需单击一下,您就可以准备就绪! 通常,OpenShift的高级用户使用命令行工具 . 但是,您无法使用CLI工具创建Wi ...
- oracle创建表空间工具,使用sqlplus命令行工具为oracle创建用户和表空间
这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下 用Oracle10g自带的企业管理器 ...
- 使用Node.js创建命令行工具
在我的职业生涯中我已经写了数百种Bash脚本,但在Bash方面仍然有很多不足.每次我都要为一些简单的逻辑结构去查阅语法.如果我想使用curl或sed做些特技,我还不得不去查找操作说明.我在我的正则表达 ...
- go语言生成linux桌面快捷,使用Go语言在MacOS创建一个自定义的命令行工具
使用 MacOS 做开发的朋友都知道,我们一般会使用 Homebrew 做软件包管理,经常会用到 brew install [soft] 来安装各种各样的命令行软件.今天通过一个百科查找的命令行工具( ...
- 【网络通信】简易MFC程序的创建与命令行工具cl.exe、linker.exe的使用
简易MFC程序的创建与命令行工具cl.exe.linker.exe的使用 实验目标 实验流程 一.MFC程序 1.创建MFC项目 2.资源与代码 3.演示效果 二.编译连接windows API程序 ...
- 易数一键还原(免费的系统备份与还原软件)------创建命令行工具
易数一键还原是一款免费的系统备份与还原软件,支持增量备份与多时间点还原,还支持多钟应急还原方式. 现在该软件将其命令行公开,便于计算机爱好者研究,下面是创建命令行工具下载地址: http://pan. ...
- [Windows]_[初级]_[使用7z命令行工具进行打包备份]
场景 在开发程序或做一些自动化脚本时, 经常用压缩格式来进行打包文件夹为zip,或解压zip,rar,tar文件.如果压缩的是exe二进制文件,是不需要再进行压缩的,只需要存储即可,这样可以增加打包的 ...
最新文章
- SQL语句中的AND和OR执行顺序问题
- gridview 实现自增加列
- 科研实习 | 北京大学前沿中心王鹤老师具身智能课题组招收科研实习生
- AGC005D - ~K Perm Counting(组合数学,背包,dp)
- java args_Java命令行界面(第2部分):args4j
- java删除list元素的几种方式
- Linux版本号含义
- 为什么一放假家里的wifi就变卡?都9102年了,还有人蹭网?
- 天花板级软测项目拆分详解,年后涨薪面试,稳了...
- python的运行方式有哪两种_Python基础:Python运行的两种基本方式
- C++const类型
- Python下载(Windows)
- mongovue mysql_MongoDB 客户端 MongoVue
- 药品信息管理系统php,医药行业信息化管理系统
- 2022深圳杯C题思路解析
- Linux下结束进程的命令
- 开源免费的C/C++网络库 c/c++ sockets library 七剑下天山
- Ubuntu 16.04+CUDA8.0+Caffe+OpenCV3.1
- HorizontalScrollView的基本使用,适合初学者
- c语言程序设计66页,C语言程序设计