Chromeでスタートアップタブを固定するための指示に従うことを試みています。OS Xでは、ドックに保持されているアイテムにコマンドライン引数を追加するにはどうすればよいですか?
Chromeでスタートアップタブを固定するための指示に従うことを試みています。OS Xでは、ドックに保持されているアイテムにコマンドライン引数を追加するにはどうすればよいですか?
回答:
基本的に2つのオプションがあります。
オプション1:Automatorを使用して、コマンドライン引数でChromeを実際に起動するアプリケーションを作成します。
Automatorを起動し、アプリケーションの作成を選択します。ダブルクリックして実行シェルスクリプトの中でライブラリ/ユーティリティフォルダとテキストの内容を置き換える- cat
-次のように:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
好きな場所に保存します。
このアプリケーションのアイコンを置き換えるには、情報を見る、左上のアイコンを押しをクリックして、あなたの本当のGoogle Chromeの上でCmd-C
、情報を見る、ChromeのAutomatorのアプリのアイコン、および押しをクリックしてくださいCmd-V
。
別のアプリケーションであるため、Dockは実行中に2つのChromeアプリケーション(ChromeとChromeランチャー)を表示します。
オプション2:アプリケーションバンドルを編集して、代わりにスクリプトを起動します。このスクリプトは実際のアプリケーションを起動し、コマンドライン引数を追加します。
右クリックGoogle Chrome.app
して[ パッケージの内容を表示 ] を選択します。移動しContents/
、オープンInfo.plist
にプロパティリストエディタ/ Xcodeの(Appleの開発者向けツール)、またはサードパーティのplist
エディタ。
エントリCFBundleExecutable
またはを探しExecutable File
ます。その価値を思い出してください(例:firefox-bin
Firefox)。に置き換えparameterized-app.sh
ます。
ターミナルを開き、次を入力します。
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
.sh
ファイルのエディターが開きます。ファイルの内容を次のように設定します。
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(から削除した実際の実行可能ファイルの名前を使用してInfo.plist
、目的のコマンドライン引数を追加します)
保存して閉じます。ターミナルで、次を入力します。
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
ここで、ターミナルを閉じて、アプリケーション(今は実行してはならない)を別のフォルダーに移動し、再び戻します。これによりLaunch Servicesが更新されます。更新されない場合、変更は無視され、非常にイライラさせられます。
これで、アプリケーションを開くと、.sh
ファイルが実際に実行され、実際の実行可能ファイルが起動され、コマンドライン引数が送信されます。
見た目と動作は期待どおりですが、アプリケーションを更新するたびにこれを繰り返す必要があります。これは通常、アプリケーションバンドルと行ったすべての変更を置き換えるためです。
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Chromeを起動するスクリプトを作成できますが、それはドックのアプリケーションアイコンではなく、別のChromeアイコンが表示されます。そのため、アプリケーションパッケージを作成する必要があります。
まず、Chromeアプリのコピーを作成します。次に、動作する可能性のある2つのアプローチがあります。どちらがMac OS XやChromeの自己更新でうまくいくかはわかりません。
引数を指定してChromeを呼び出す「ランチャー」を作成します。
MacOSフォルダーで、「Google Chrome」実行可能ファイルを削除し、実際のChromeを呼び出すシェルスクリプトに置き換えます。
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
chmod +x
スクリプトを忘れないでください。
実際に実行するChromeパッケージを変更します。
MacOSフォルダーで、「Google Chrome」の名前を変更し、追加の引数で本物を呼び出すシェルスクリプトを記述します。
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
たり、削除したりする必要があるかもしれません_CodeSignature
。これはすべて、Macアプリパッケージの私の理解に基づいています。特にこれらの変更をChromeで実際にテストしたことはありません。Macアプリケーションは、一般的に制御可能なコマンドラインオプションを使用して実行されることが予想されていないように、アプリケーションがされているたとえば、Windows、とは違って(、Mac上で実行可能なクロームは、このオプションをサポートしていないということにもかのうです通常どのできるショートカットから起動します埋め込みオプションがあります)。
chmod 755 Google\ Chrome
終了後に(スクリプト)を忘れないでください。実際にスクリプトにlaunch.shという名前を付け、更新を簡単にするためにGoogle \ Chromeにシンボリックリンクしました。