Nasıl Mac OS X için güzel bir DMG komut satırı araçlarını kullanarak oluşturabilirim?
Mac uygulaması için güzel bir yükleyici oluşturmak için ihtiyacım var. Bu disk ımage (DMG), önceden tanımlanmış boyutu, düzeni ve arka plan görüntüsü ile olmak istiyorum.
Bu varolan bir yapı sistemi sadece yükleyiciler oluşturmak beri. (paket sistemi daha çok, entegre olmak gibi bir komut, bir program aracılığıyla yapmak istiyorum Yapılar ayrı ayrı yapılır).
Ben zaten DMG oluşturma tamamlandı "hdiutil", henüz bulamadım ne bir simge düzeni yapmak ve bir arka plan belirlemek için nasıl bitmap. kullanarak
CEVAP
Araştırma çok sonra, bu cevap ile geldim, ve bu vesile ile burada, başvuru için: kendi soruma cevap olarak koyuyorum
"Yardımcı cihazlar için erişimi Etkinleştir"^. Sistem Tercihleri işaretli olduğundan emin >Evrensel Erişim. Bu Otomasyon çalışması için gereklidir. Bu değişiklik (aksi takdirde Mac OS X Server 10.4 işe yaramaz) sonra yeniden başlatmak zorunda kalabilirsiniz.
R/W DMG oluşturun. Sonuç olacak daha büyük olmalı. Bu örnekte, bash "boyut" Kb cinsinden boyut ve "kaynak" bash değişken DMG girilir: . bu klasörün içeriğini içeren değişken
hdiutil create -srcfolder "${source}" -volname "${title}" -fs HFS \ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${size}k pack.temp.dmg
Disk görüntüsü bağlayın ve aygıt adı (ameliyattan sonra birkaç saniye için uyku kullanmak isteyebilirsiniz) deposu:
device=$(hdiutil attach -readwrite -noverify -noautoopen "pack.temp.dmg" | \ egrep '^/dev/' | sed 1q | awk '{print $1}')
Adlı bir klasör arka plan resim (PNG formatında) saklamak ".arka plan" DMG ve adını deposu "backgroundPictureName" değişken.
Kullanın (adı .görsel stilleri ayarlamak için Otomasyon app bash değişken olmalı "applicationName", kullanılması gerektiği gibi diğer özellikler için değişkenler):
echo ' tell application "Finder" tell disk "'${title}'" open set current view of container window to icon view set toolbar visible of container window to false set statusbar visible of container window to false set the bounds of container window to {400, 100, 885, 430} set theViewOptions to the icon view options of container window set arrangement of theViewOptions to not arranged set icon size of theViewOptions to 72 set 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 applications delay 5 close end tell end tell ' | osascript
Doğru izinleri ayarlayarak DMG Finialize, sıkıştırmak ve onu serbest:
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, yukarıdaki otomasyon Snow Leopard bir hata gibi görünüyor simge konumu doğru şekilde ayarlayın. Bir geçici çözüm, yalnızca aç/kapat aramak, yani: simgeler ayarladıktan sonra
..
set position of item "'${applicationName}'" of container window to {100, 100}
set position of item "Applications" of container window to {375, 100}
close
open
Nasıl yerel bir dosya ya da uzak dosya...
Nasıl PostgreSQL komut satırı yardımcı...
Nasıl komisyon bir görev için komut sa...
Nasıl bir toplu iş dosyası komut satır...
Nasıl Vim komut satırı içine çekti met...