6

スクリプトを使用してMacの端末の設定を変更し、端末を終了するときにウィンドウを閉じることができるようにします。スクリプトで次のコマンドを使用します。

/usr/libexec/PlistBuddy -c "Set \"Window Settings\":Basic:shellExitAction 0" ~/Library/Preferences/com.apple.Terminal.plist

今問題はスクリプトを実行した後、.plistファイルが変更されていることです、私はそれをチェックします

defaults read com.apple.Terminal "Window Settings"

現在、値は0です。

しかし、問題は、ターミナルが.plistファイルをリロードしないことであり、ターミナルを終了すると、.plistファイルが再び「2」として書き換えられます。だから私の質問は、ターミナルが実行中に.plistファイルをリロードするか、終了時にファイルを再書き込みするのを停止する方法です。

4

4 に答える 4

10

10.9 (Mavericks) では、設定がキャッシュされます。ターミナルから設定を上書きした後、それらを読み取る必要があります

defaults read com.apple.Terminal

ターミナルを終了して再起動します。

サーバーにターミナル設定があるので、新しいマシンまたは新しいプロファイルで使用する完全なコマンドは次のとおりです。

curl -o ~/Library/Preferences/com.apple.Terminal.plist  http://example.com/xyz/com.apple.Terminal.plist.`sw_vers \
| grep 'ProductVersion:' \
| grep -o '10\.[0-9]*'` \
&& defaults read com.apple.Terminal
于 2014-10-25T15:56:52.970 に答える
3

私の適応したソリューションは、OS X Mavericks でも動作します。

例では、ターミナルで ssh 接続用の新しい PermanentServer を追加します-p 22 www.example.com -l user -L 33306:localhost:3306

  1. ターミナルアプリを閉じる
  2. Xcodeで plist ファイルを開き、PermanentServerの設定を編集します(上記の文字列をコピーして貼り付けます)。

    open ~/Library/Preferences/com.apple.Terminal.plist

  3. plist ファイルを保存して閉じます
  4. Applescript-App を開き、次のコードをコピー/貼り付け/実行します。

    do shell script "defaults read ~/Library/Preferences/com.apple.Terminal.plist"

  5. Terminal-App を開き、SHIFT+CMD+K を押してサーバーリストを調べます

このヒントをありがとう: http://www.cnet.com/how-to/how-to-manually-edit-defaults-plist-files-in-mavericks/

于 2014-04-25T10:04:36.153 に答える
2

私には、古典的な鶏が先か卵が先かという問題のように思えます。

ターミナルは、終了時に現在の設定を書き出し、変更を上書きしますが、PlistBuddy でこれらの変更を行うシェルを作成するには、ターミナルをロードする必要があります。

ここで 2 つの解決策を考えることができます。

1) ターミナル以外のプロセスから起動できる小さなスクリプトを作成します... Applescript かsystem、小さな Macintosh アプリからの呼び出しに渡すことができるものでしょうか? :-)

2) ターミナル設定に移動して、「設定」を希望するものに変更するだけです。

于 2011-12-02T00:08:24.660 に答える