挂载的 .dmg 文件 window 顶部路径的用途是什么?如何删除它?
What is the purpose of the path at the top of the window of a mounted .dmg file, and how can I remove it?
我最近使用 macdeployqt
为我的应用程序创建了一个 .dmg。该应用程序在其他 Mac 上运行良好,但我注意到在双击 .dmg 后,构建的 .app 的原始位置位于 window 的顶部:
这甚至在其他 Mac 上也是可见的,我不希望它是这样,因为对于最终用户来说这似乎是无关紧要的信息。我试着用这些命令查看 .dmg:
cd /Volumes
hdiutil info
我得到了一堆输出,相关部分似乎在最后:
framework : 444.50.16
driver : 10.12v444.50.16
================================================
image-path : /Users/mitch/dev/slate-releases/slate-v0.0.5-mac.dmg
image-alias : /Users/mitch/dev/slate-releases/slate-v0.0.5-mac.dmg
shadow-path : <none>
icon-path : /System/Library/PrivateFrameworks/DiskImages.framework/Resources/CDiskImage.icns
image-type : UDIF read-only compressed (zlib)
system-image : false
blockcount : 97676
blocksize : 512
writeable : false
autodiskmount : TRUE
removable : TRUE
image-encrypted : false
mounting user : mitch
mounting mode : <unknown>
process ID : 31262
/dev/disk2 GUID_partition_scheme
/dev/disk2s1 [...] /Volumes/:Users:mitch:dev:slate-qt5_10_isle_fw-Release:app:slate
为什么原始文件名是 .dmg 的一部分,我该如何删除它?
卷名
在您的屏幕截图中显示为 window 标题的是 .dmg 的卷名。
创建短卷名称
最简单的处理方法如下:
- 在终端
cd
到你的应用所在的路径
- 从那里打电话
macdeployqt <appname> -dmg
然后创建一个.dmg,其中应用程序的名称作为卷名。
例子
cd examples/basic/widgets/cd/darwin
macdeployqt widgets.app -dmg
给出:
所以实际上调用macdeployqt时的相对路径被用作.dmg的卷名。
您不能删除或更改现有只读 .dmg 的卷名。
如果您要通过 使用磁盘工具(位于 /Applications/Utilities 下)创建 .dmg,您将输入 'Name' .此名称与 .dmg 的卷名称相同。
手动转换
如果您想使用 GUI 应用程序从现有的 read-only.dmg 创建一个带有自定义卷名的新 .dmg,您可以按如下方式进行:
- 使用正确的名称创建一个新的 .dmg(此名称随后显示为 window 标题,我们可以在这里使用,例如 'SomeFancyName')
- 选择格式'Mac OS Extended (Journaled)'
- 加密:'none'
- 分区:'Single partition - GUID Partition Map'
- 图片格式:'read/write disk image'
然后:
- 复制原来.dmg的内容
- 最终从取景器中弹出图像
- 使用磁盘工具
- 在那里选择你的 read/write 图片
- 保存 'Image Format':压缩
使用命令行进行图像转换
如果您需要定期执行此操作,应该提到 hdiutil 还提供通过命令行进行图像转换,请参阅:
man hdiutil
我最近使用 macdeployqt
为我的应用程序创建了一个 .dmg。该应用程序在其他 Mac 上运行良好,但我注意到在双击 .dmg 后,构建的 .app 的原始位置位于 window 的顶部:
这甚至在其他 Mac 上也是可见的,我不希望它是这样,因为对于最终用户来说这似乎是无关紧要的信息。我试着用这些命令查看 .dmg:
cd /Volumes
hdiutil info
我得到了一堆输出,相关部分似乎在最后:
framework : 444.50.16
driver : 10.12v444.50.16
================================================
image-path : /Users/mitch/dev/slate-releases/slate-v0.0.5-mac.dmg
image-alias : /Users/mitch/dev/slate-releases/slate-v0.0.5-mac.dmg
shadow-path : <none>
icon-path : /System/Library/PrivateFrameworks/DiskImages.framework/Resources/CDiskImage.icns
image-type : UDIF read-only compressed (zlib)
system-image : false
blockcount : 97676
blocksize : 512
writeable : false
autodiskmount : TRUE
removable : TRUE
image-encrypted : false
mounting user : mitch
mounting mode : <unknown>
process ID : 31262
/dev/disk2 GUID_partition_scheme
/dev/disk2s1 [...] /Volumes/:Users:mitch:dev:slate-qt5_10_isle_fw-Release:app:slate
为什么原始文件名是 .dmg 的一部分,我该如何删除它?
卷名
在您的屏幕截图中显示为 window 标题的是 .dmg 的卷名。
创建短卷名称
最简单的处理方法如下:
- 在终端
cd
到你的应用所在的路径 - 从那里打电话
macdeployqt <appname> -dmg
然后创建一个.dmg,其中应用程序的名称作为卷名。
例子
cd examples/basic/widgets/cd/darwin
macdeployqt widgets.app -dmg
给出:
所以实际上调用macdeployqt时的相对路径被用作.dmg的卷名。
您不能删除或更改现有只读 .dmg 的卷名。
如果您要通过
手动转换
如果您想使用 GUI 应用程序从现有的 read-only.dmg 创建一个带有自定义卷名的新 .dmg,您可以按如下方式进行:
- 使用正确的名称创建一个新的 .dmg(此名称随后显示为 window 标题,我们可以在这里使用,例如 'SomeFancyName')
- 选择格式'Mac OS Extended (Journaled)'
- 加密:'none'
- 分区:'Single partition - GUID Partition Map'
- 图片格式:'read/write disk image'
然后:
- 复制原来.dmg的内容
- 最终从取景器中弹出图像
- 使用磁盘工具
- 在那里选择你的 read/write 图片
- 保存 'Image Format':压缩
使用命令行进行图像转换
如果您需要定期执行此操作,应该提到 hdiutil 还提供通过命令行进行图像转换,请参阅:
man hdiutil