これは、Unity通知パネルにアイテムを追加する方法よりも、コマンドラインの指示の質問を使用する方法の方が多いです。
Com.canonical.Unity.Panel systray-whitelistに新しいアイテムを追加するには、1行のCLIが必要です。
そのための標準的な手順は次のとおりです。
Sudo gsettings get com.canonical.Unity.Panel systray-whitelist
我々が得る
['JavaEmbeddedFrame', 'Wine', 'Skype']
次に、2番目のコマンドを実行します
Sudo gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'Skype', 'shutter']"
それは素晴らしいことですが、最初の行から結果をコピーして貼り付ける必要があり、私が書いているスクリプトの場合は、1つのコマンドで実行したいと思います。
これまでのところ、これは私が持っているものです:
Sudo gsettings set com.canonical.Unity.Panel systray-whitelist | gsettings get com.canonical.Unity.Panel systray-whitelist | sed -e "s/']$/,'shutter']/" | awk 'NF{print "\"" $0 "\""}'
私は何かが欠けていると思います。
まず、文字列をgsettings set関数に正しくパイピングしているかどうかわかりません。第二に、gsettings get関数からの出力を正しく解析していると思いますが、sedを使用して変更結果の周りに ""を追加する方法がわからないため、この混乱に別のawkコマンドをパイプする必要がありました。
助けてくれる人に感謝します。
エラーの後、エラーをヒットした後、引用符を受け入れなかった理由を最終的に把握しました。実際の変数を引用符で囲むだけで、実際のコマンドに引用符を入力する必要はありません。
これは動作します:
gsettings set com.canonical.Unity.Panel systray-whitelist "$(gsettings get com.canonical.Unity.Panel systray-whitelist | sed -e "s/]$/, 'shutter']/")"
(また、これが機能するためには、例で 'in sed -e "s /'] $ /を削除する必要があります)。
後の編集:ところで、Sudoでgsettingsを実行しないでください...動作しません。