回答:
システムインジケータは、設計により固定された順序になっています。注文が気に入らないかもしれませんが、注文を固定することでサポートが容易になります(注文については延々と議論できます)。アプリケーションインジケータの動作は少し異なります。デフォルトの順序になるように設計されていますが、アプリケーションは連続性のためにそれを調整できます。たとえば、アプリケーションに2つのインジケーターが隣接している場合。
このシステムはアプリケーション開発者による悪用の可能性があるため、システムには一連のオーバーライドがあります。1つ目はシステムレベルです。これにより、ディストリビューションがすべてのユーザーに対して修正できる不正なアプリケーションがあることが判明した場合、パッケージで管理できます。次の場所にあります。
/usr/share/indicator-application/ordering-override.keyfile
任意のステータス通知IDをそこに配置し、そのアプリケーションの新しいインデックスのために、新しい順序付けインデックスを指定できます。次の場所にあるホームディレクトリに存在できるユーザーごとのオーバーライドファイルもあります。
~/.local/share/indicators/application/ordering-override.keyfile
希望する方法でパネルを調整する助けになることを願っています!
~/.local/share/indicators
ディレクトリはありません。助けて!
~/.local
。のファイルに/usr/share
はすべてのインジケーターアプリケーションのエントリが含まれているわけではなく、変更しても効果はありません。14.04の回答があるといいですね。
dbus-send --type=method_call --print-reply --dest=com.canonical.indicator.application /com/canonical/indicator/application/service com.canonical.indicator.application.service.GetApplications | grep "object path" | sed 's/_/-/g' | cut -d"/" -f5
ただし、DropboxのPIDに基づいてステータス通知IDが変更されるため、Dropboxでは機能しません。DropboxのPIDに基づいてordering-override.keyfileを更新するために、以下の回答を追加しました。
.local
、動作していません。の元のグローバルファイル/usr/share
が存在するため、動作するはずです。このファイルの解析はどこにでも記録されますか?問題が発生した場合にデバッグする方法はありますか?
公式のubuntuのもの(天気、ubu-one、バッテリー、メッセージ、私、音、シャットダウン)は所定の場所にハードコーディングされています。吸います。他のものは、先着順、右左優先の法則を使用して順序を取る必要があります。このブレーンストーム/機能のリクエストから判断すると、答えは次のとおりです。いいえ、GUIを使用してアイコンの順序を手動で変更することはできません。しかし、@ Ted Gouldの回答を参照してください。
UnityパネルのApplication Indicatorsの位置を変更ordering-override.keyfile
するには、の下にあるというファイルを編集する必要があります/usr/share/indicator-application
。このファイルを編集するとすべてのユーザーの設定が変更されるため、このファイルをコピー~/.local/share/indicators/application/ordering-override.keyfile
してユーザーのみに変更を加えることができます。
mkdir -p ~/.local/share/indicators/application
cp /usr/share/indicator-application/ordering-override.keyfile ~/.local/share/indicators/application/
ターミナルで次のコマンドを実行してファイルを開きます。
gedit ~/.local/share/indicators/application/ordering-override.keyfile
このファイルでは、パネルにアプリケーションインジケータの順序に関する既存のルールが表示されます。最初のnm-applet
値は「1」の値であり、右から左にパネルに表示される最初のアプリケーションインジケータであることを意味します。
一例として、これを使用して、独自のアプリケーション指標を追加し、自分の名前を入力することにより、自分の位置を特定し、数のようにすることができますtransmission=6
送信アプリケーションインジケータ(右から左へ)パネルの第六の指標として表示するようになりますどの、もし他の5つのインジケータが存在します。
出典:http : //www.webupd8.org/2011/06/how-to-change-application-indicators.html
さて、あなたの場合、ordering-override.keyfile
ファイルは次のようになります。
[Ordering Index Overrides]
nm-applet=1
My_Weather_Indicator=2
lang_indicator=3
bluetooth_manager=4
indicator_sysmonitor=5
transmission=6
.local
、動作していません。の元のグローバルファイル/usr/share
が存在するため、動作するはずです。このファイルの解析はどこにでも記録されますか?問題が発生した場合にデバッグする方法はありますか?
kill $(pgrep unity-panel-service)
これが機能した後:-)を作成した後、再起動しましたordering-override.keyfile
ので、このパネルの再起動後になぜ「かかった」のかわかりません。
root@laptop:~# restart unity-panel-service
動作しません、それ以上:restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
Dropboxインジケーターの並べ替えを有効にする手順
ドロップボックスインジケーターを並べ替える場合は、テッドグールドの指示に従ってください。さらにいくつかの手順を示します。
注:ファイルを編集した場合/usr/share/...
は、スクリプトを配置する必要があります/etc/rc.local
(検索下の注)
Dropboxはインジケーター名にPIDを追加し、これはDropboxが起動するたびに変化するため、Dropboxが起動するたびに更新する必要がありordering-override.keyfile
ます。
これを行うには、テキストエディターを開き、次のスクリプトをコピーして貼り付け、のような名前を付けますstart-dropbox.sh
。次に、右クリックして「プロパティ」を選択し、「許可」タブに移動して「プログラムとして実行ファイルを許可する」ボックスをオンにするか、ターミナルを開いてスクリプトを配置したフォルダーに移動し、実行を実行しますsudo chmod 755 ./start-dropbox.sh
#!/bin/bash
#Disclaimer: This script is intended for use with Ubuntu 14.04. You alone are responsible any consequence resulting from its use.
#The purpose of this script is to start dropbox, update the keyfile, and restart the indicator panel.
#Start dropbox if not already started (for some reason pgrep didn't work)
[[ $(ps aux | grep dropbox | grep dist | awk '{print $2 }') = "" ]] && dropbox start -i
#If the override file exists
if [[ -e ~/.local/share/indicators/application/ordering-override.keyfile ]]
then
while [ "$(ps aux | grep dropbox | grep dist | awk '{print $2 }')" = "" ]; do
sleep 1s
done
sleep 5s #dropbox creates several PIDs, so wait a bit before continuing
sed -e "s/dropbox-client-.*=/dropbox-client-$(ps aux | grep dropbox | grep dist | awk '{print $2 }')=/g" -i ~/.local/share/indicators/application/ordering-override.keyfile
restart unity-panel-service
fi
これで、「スタートアップアプリケーション」を開き、スクリプトへのフルパスを「コマンド」として使用して新しいエントリを作成できます(〜/ start-dropbox.shを使用しても機能しません。/home/yourname/startを実行する必要があります) -dropbox.sh)。
**注:これは、スクリプトの完全パスを末尾に追加する場所です/etc/rc.local
オプションの手順の1つは、Dropboxの設定を開き、「システム起動時にDropboxを開始する」のチェックを外すことです。Dropboxは起動するたびにこれを上書きするため、既にスタートアップアプリケーションリストにあるDropboxのコマンドを変更することはできません。
できました!
私の~/.local/share/indicators/application/ordering-override.keyfile
外観は次のとおりです。
[Ordering Index Overrides]
multiload=13
My-Weather-Indicator=12
redshift=11
Diodon=10
Chars=9
indicator-brightness=8
dropbox-client-24651=7
nm-applet=6
gnome-power-manager=5
ibus=4
gst-keyboard-xkb=3
gsd-keyboard-xkb=2
chrome-app-indicator-1=1
root@laptop:~# restart unity-panel-service
restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused