Chrome'da başlangıç sekmelerini sabitleme talimatlarını izlemeye çalışıyorum . OS X'te, dock'ta duran öğelere komut satırı argümanları nasıl eklerim?
Chrome'da başlangıç sekmelerini sabitleme talimatlarını izlemeye çalışıyorum . OS X'te, dock'ta duran öğelere komut satırı argümanları nasıl eklerim?
Yanıtlar:
Temel olarak iki seçeneğiniz var:
Seçenek 1 : Geçerli olarak Chrome'u komut satırı argümanları ile başlatan bir uygulama oluşturmak için Otomatikleştirici'yi kullanın.
Automator'ı başlatın ve bir Uygulama oluşturmayı seçin . Çift tıklayın Çalıştır Shell Komut içinde Kütüphane / Kamu klasörüne ve metin içeriğini değiştirmek - cat
- aşağıdaki:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
İstediğiniz yerden tasarruf edin.
Bu uygulamanın simgesini değiştirmek için gerçek Google Chrome'unuzdan Bilgi Al'ı tıklatın, sol üstteki simgeye tıklayın, simgesine basın Cmd-C
, Chrome Automator uygulamanızda Bilgi Alın , simgesine tıklayın ve düğmesine basın Cmd-V
.
Farklı bir uygulama olduğundan, Dock çalışırken iki Chrome uygulamasını görüntüler: Chrome ve Chrome başlatıcınız.
Seçenek 2 : Bunun yerine bir komut dosyası başlatmak için uygulama paketinizi düzenleyin. Bu komut dosyası, komut satırı argümanını ekleyerek gerçek uygulamayı başlatır.
Sağ tıklayın Google Chrome.app
ve Paket İçeriğini Göster öğesini seçin . Gidin Contents/
ve açılır Info.plist
içinde Mülkiyet Liste Editör / Xcode (Apple geliştirici araçları), veya bir üçüncü taraf plist
editörü.
Girişi arayın CFBundleExecutable
veya Executable File
. Değerini hatırlayın (örn firefox-bin
. Firefox için). İle değiştirin parameterized-app.sh
.
Terminal'i açın ve aşağıdakileri girin:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
.sh
Dosya için bir editör açılacaktır. Dosyanın içeriğini şu şekilde ayarlayın:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(kaldırdığınız gerçek yürütülebilir dosya adını kullanarak Info.plist
istenen komut satırı değişkenlerini ekleyerek)
Kaydet ve kapat. Terminal'de aşağıdakileri girin:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Şimdi Terminal'i kapatın ve uygulamanızı (şu anda çalışmaması gereken) farklı bir klasöre taşıyın ve tekrar geri getirin. Bu, Başlatma Hizmetlerini güncelleyecektir , aksi takdirde değişiklikleriniz göz ardı edilir ve sizi çok rahatsız eder.
Şimdi, uygulamanızı açtığınızda .sh
, asıl çalıştırılabilir dosyayı başlatacak ve ardından komut satırı argümanlarını gönderecek olan dosyayı çalıştıracaktır.
Beklediğiniz gibi görünecek ve davranacak, ancak uygulamanızı her güncellediğinizde bunu tekrarlamanız gerekecek, çünkü bu genellikle uygulama paketini ve yaptığınız tüm değişiklikleri değiştirecektir.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Chrome'u başlatan, ancak yuvadaki uygulama simgesi olmayacak bir komut dosyası yazabilirsiniz ve ayrı bir Chrome simgesinin görünmesine neden olur. Yani bir uygulama paketi oluşturmanız gerekecek.
İlk önce, Chrome uygulamanızın bir kopyasını alın. O zaman işe yarayabilecek iki yaklaşım var; Mac OS X ve / veya Chrome'un kendi güncellemesiyle hangisinin daha iyi oynayacağından emin değilim.
Yalnızca bağımsız değişkenlerle Chrome'u çağıran bir 'başlatıcı' yapın.
MacOS klasöründe, “Google Chrome” çalıştırılabilir dosyasını silin ve gerçek Chrome'u çağıran bir kabuk komut dosyasıyla değiştirin:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
chmod +x
Senaryoyu unutma .
Çalıştığınız Chrome paketini değiştirin.
MacOS klasöründe, “Google Chrome” adını değiştirin ve ekstra argümanlarla asıl şeyi çağıran bir kabuk komut dosyası yazın:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
ve / veya silmeniz gerekebilir _CodeSignature
.Bunların hepsi Mac uygulama paketlerini anlamama dayanıyor; Bu değişiklikleri özellikle Chrome'da özellikle test etmedim. Mac'te çalıştırılabilir Chrome'un bu seçeneği desteklememesi bile mümkündür, çünkü Mac uygulamalarının kontrol edilebilir komut satırı seçenekleriyle çalıştırılması beklenmez (örneğin, Windows’un aksine, uygulamaların normalde kullanılabilecek kısayollar aracılığıyla başlatıldığı Windows’tan farklı olarak). gömülü seçeneklere sahip).
chmod 755 Google\ Chrome
tamamladıktan sonra (komut dosyanızı) unutma . Aslında betiğimi launch.sh olarak adlandırdım ve güncelleme kolaylığı için onu Google \ Chrome ile eşleştirdim.