Bagaimana saya bisa memaksa argumen baris perintah ke pintasan program di dok?


17

Saya telah menginstal Chrome di Aplikasi, dan jalan pintas ke Dock. Bagaimana saya bisa mencapai untuk memaksa beberapa argumen baris perintah ke setiap permulaan aplikasi ini?

Biarkan saya menjadi lebih jelas, di Terminal, saya bisa melakukan ini: open / Applications / Google \ Chrome.app --args --explicitly-allowed-ports = 6666 Dan dengan begitu saya memodifikasi perilaku Chrome seperti yang saya suka. Bagaimana saya bisa memiliki opsi ini secara default ketika meluncurkan aplikasi dari Finder of the Dock?

Jawaban:


9

Salah satu cara untuk melakukan ini adalah dengan AppleScript.

Buka AppleScript Editor (/ Aplikasi / Utilitas) dan ketik ini:

do shell script "open '/Applications/Google Chrome.app'  --args --explicitly-allowed-ports=6666"

Simpan sebagai Aplikasi, dan tambahkan aplikasi itu ke Dock.
Klik ikon aplikasi dan Anda Chrome akan terbuka dengan parameter khusus Anda.

Cara ini berfungsi, tetapi tidak sepenuhnya ideal karena beberapa alasan:

  • Menjalankan AppleScript akan memakan waktu sedikit lebih lama daripada hanya membuka aplikasi
  • Anda akan memiliki dua ikon di dok (skrip dan Chrome)

Ini akan berhasil, tetapi saya tertarik untuk melihat apakah seseorang memberikan jawaban yang lebih baik.


Cara Nathan adalah cara terbaik. Saat ini tidak ada kode di Chrome untuk menganggap ini sebagai default atau membaca file preferensi. Sakelar tersebut bersifat sementara untuk debugging hingga fitur ditambahkan secara lebih formal - maka Anda harus memiliki cara untuk mengubahnya lebih permanen. Lihat chromium.org/developers/design-documents/appmode-mac untuk paket aplikasi pembantu. Lihat fluidapp.com untuk pembungkus yang bagus - Anda mungkin dapat meretasnya sesuai dengan kebutuhan Anda (atau penulis mungkin ingin saran untuk memperpanjang alat untuk kasus penggunaan Anda)
bmike

"Simpan sebagai Aplikasi, dan tambahkan aplikasi itu ke Dock." - bagaimana cara menyimpannya sebagai Aplikasi? Dan mencoba menambahkan file .scpt yang ditandai sebagai executable ke Dock tidak berfungsi untuk saya di bawah Mountain Lion: file tersebut tidak "menempel" ke Dock.
yurkennis

4

Jika Anda masuk ke dalam bundel aplikasi (klik kanan pada aplikasi di Finder dan pilih "Lihat Isi Paket") dan pergi ke folder Contents / MacOS, harus ada file bernama Google Chromeikon yang kotak hitam. Catat namanya dan ganti namanya (sesuatu yang mudah seperti Google Chrome orig). Buat file teks kosong di folder dengan nama yang sama ( Google Chrome) seperti file asli dan tempel di skrip berikut:

#!/bin/bash

/Applications/"Google Chrome.app"/Contents/MacOS/"Google Chrome orig" --args --explicitly-allowed-ports=6666

Jadikan file skrip Anda dapat dieksekusi ( chmod +x "Google Chrome orig") dan lihat apakah itu memulai Chrome dengan benar!


1

Menurut artikel Petunjuk Mac OS X (ditemukan oleh Googling mac gui application command options ), ini dapat dilakukan dengan mengedit bundel aplikasi. Saya akan melakukan ini pada salinan cadangan Chrome untuk mengujinya terlebih dahulu.

  1. Buka bundel aplikasi Google Chrome dengan mengklik kanan / ctrl dan pilih Show Package Contents.
  2. Di dalam paket, navigasikan ke Contents/Mac OS/Google Chromedan beri nama seperti itu Google Chrome-bin.
  3. Buat file teks di lokasi yang sama dengan nama Google Chromedengan konten berikut:

    !/bin/sh
    
    exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome-bin' --args --explicitly-allowed-ports=6666"
  4. Gunakan terminal untuk mengubah file baru menjadi executable ( chmod 755).

Catatan, saya belum benar-benar mencoba ini, hanya menguraikan apa yang disebutkan dalam artikel tertaut.


Kelemahan dari jawaban ini adalah menghasilkan serangkaian panjang "Google Chrome-bin ingin menggunakan informasi rahasia Anda yang tersimpan di ... di gantungan kunci Anda. Apakah Anda ingin mengizinkan akses ke item ini?"
yurkennis
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.