Bagaimana cara mengetahui aplikasi mana yang dikaitkan dengan ikon indikator?

10

Sangat mudah untuk melakukan ini di Ubuntu 10,04. Pertanyaannya khusus untuk Ubuntu 12.04.

Komposisi menggunakan dbus dengan detail implementasi dalam tindak lanjut hilang karena beberapa alasan sehingga alter ego menyusun jawabannya (proses yang sepele tetapi agak sulit dijelaskan di sini ).

Ini respon mengenai gdbusberguna tapi ini jawabannya super berguna - (sistem diam atas kini telah dikurangi menjadi dapat diterima ~ 10%).

beberapa referensi yang bersangkutan
(src: Jawaban untuk Apa perbedaan antara indikator dan sistem tray? :
Berikut adalah dokumentasi untuk indikator:

Indikator aplikasi | Ubuntu App Developer
libindicate Reference Manual
Reference Manual libappindicator

juga

ref: Bagaimana aplikasi yang membuat ikon indikator dapat diidentifikasi? (Tautan ini mengalihkan secara tidak tepat ke /ubuntu/184589/how-can-menu-bars-that-require-a-right-click-be-activated-like-ubuntu-versions )
bookmark: Bagaimana caranya satu mencari tahu aplikasi mana yang dikaitkan dengan ikon indikator di Ubuntu 12.04?
adalah pertanyaan serius karena alasan & masalah yang diuraikan di bawah ini dan untuk mana investasi yang signifikan telah dibuat dan diperlukan untuk tujuan perbaikan.


meninjau referensi. untuk menemukan resolusi yang diatur ...
(indikator indikator ap mungkin diperlukan)


Ini tidak ada hubungannya (bukan?) Dengan klik kanan.

Bagaimana ikon indikator di Ubuntu 12.04 dicocokkan dengan program yang bertanggung jawab atas manifestasinya di panel atas?

Daftar aplikasi yang berjalan dapat mencakup semua proses menggunakan System Monitor.

Bagaimana proses pencocokan yang benar ditemukan untuk suatu indikator?

Bagaimana aplikasi sub-indikator diidentifikasi? Ini adalah ap yang terkait dengan komponen menu drop-down indikator. (Ini adalah pertanyaan yang terpisah dan secara alami menindaklanjuti perkembangan. Termasuk di sini karena jelas tidak ada ketentuan untuk melacak menyinggung baik sub atau indikator ap. Dengan mudah.)

Dicampur dengan beberapa daemon yang diharapkan dan tugas latar belakang seperti nm-applet - tidak hanya melakukan Xorg dan compiz membutuhkan waktu CPU yang berlebihan tetapi rombongan mereka juga harus ikut serta! lebih lanjut memperburuk masalah - tugas komputasi kita yang terikat tidak lagi bekerja secara efektif di lapangan - mengurangi masa pakai baterai, mengurangi waktu CPU untuk aplikasi khusus, dll. - dan semua ini diendapkan dari pemeriksaan apa yang sedang terjadi dengan ap baterai. Indikator - ini dulu dan bukan sembrono, retorika atau bermalas-malasan tetapi memiliki konsekuensi untuk penyebaran kredibel 12,04 untuk mengurangi dampak negatif dari overhead di lingkungan produksi) mengurangi waktu CPU untuk ap.s custom dll - dan semua ini diendapkan dari pemeriksaan apa yang terjadi dengan ap baterai. Indikator - ini dulu dan bukan sembrono, retorika atau bermalas-malasan tetapi memiliki konsekuensi untuk penyebaran kredibel 12,04 untuk mengurangi dampak negatif dari overhead di lingkungan produksi) mengurangi waktu CPU untuk ap.s custom dll - dan semua ini diendapkan dari pemeriksaan apa yang terjadi dengan ap baterai. Indikator - ini dulu dan bukan sembrono, retorika atau bermalas-malasan tetapi memiliki konsekuensi untuk penyebaran kredibel 12,04 untuk mengurangi dampak negatif dari overhead di lingkungan produksi)

(Saya memiliki masalah dengan indikator baterai - kadang-kadang memiliki% dan waktu lain hh: mm - perlu untuk mengetahui ap. & V. Untuk mendapatkan info lebih lanjut tentang mengendalikan yang sama. Ditto: Ada masalah dengan aps indikator lainnya. : NM vs iwlist / iwconfig konflik, BT ap. Vs RF switch, ap. Baterai w / tidak ada penundaan / tidur untuk runtime baterai yang buruk, ... daftar berjalan)

Detail dari:
Bagaimana saya dapat menemukan ID Indikator Aplikasi?

menyarankan melihat di:
file: ///usr/share/indicator-application/ordering-override.keyfile

[Ordering Index Overrides]
nm-applet=1
gnome-power-manager=2
ibus=3
gst-keyboard-xkb=4
gsd-keyboard-xkb=5

yang memecahkan ap baterai. identifikasi, dan mungkin nm adalah NetworkManager untuk ikon rf, tetapi amplop, gigi biru dan indikator speaker aps. masih menjadi misteri. (Juga, pemesanan tidak berkorelasi.)

Pikiran Anda, itu sederhana di masa lalu cukup klik kanan untuk mendapatkan Aboutopsi untuk menemukan ap. & v. info.

menjelajah sekitar dan tentang:

file: ///usr/share/indicator-application/ordering-override.keyfile

diperiksa:
file: /// usr / share / indicator
file: /// usr / share / indikator / pesan / aplikasi /
...

mungkin? / mungkin? informasi yang dicari dapat dikubur dalam
file: /// usr / share / indicator

Referensi dalam komentar diberikan kepada:
Apa perbedaan antara indikator dan baki sistem?
mengutip dari sumber itu ...

Sayangnya indikator desktop belum didokumentasikan dengan baik: Saya tidak dapat menemukan ...

Baiklah ... dokumen yang sebenarnya
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Summary
tidak banyak membantu tetapi informasi eksistensial itu memberikan wawasan yang cukup ...

Amos Annoy
sumber
dan aplikasi itu adalah ...?
Amos Annoy
"Indikator BT biasanya digunakan oleh Blueman (atau serupa)" - tetapi bagaimana saya tahu persis? mungkin saya menggunakan "atau serupa"? ini tidak membantu - dapatkah Anda memberi tahu saya dengan tepat cara memeriksa sistem saya untuk secara jelas menentukan aplikasi mana yang dikaitkan dengan setiap indikator? unity-panel-service bertanggung jawab atas manifestasi dari lingkungan tersebut, tetapi bagaimana aplikasi populasinya, yang dikaitkan dengan setiap indikator, ditentukan?
Amos Annoy
ketika aps yang benar. adalah hal-hal yang ditargetkan seperti: bluetooth-applet --help (bluetooth-applet:25165): BluetoothApplet-WARNING **: Applet is already running, exitingdapat dilakukan - apa itu Indikator Indikator Pesan? mungkin mengambil isinya untuk menu drop down dari:file:///usr/share/indicators/messages/applications/
Amos Annoy
Jawaban yang Anda kutip kedaluwarsa, saya telah memperbaruinya, semoga membantu.
Jorge Castro
TQ - harap begitu - mendapatkan ide yang bagus tentang struktur indikator
Amos Annoy

Jawaban:

3

Layanan Indikator Aplikasi memiliki API internal yang akan memungkinkan mengambil daftar semua indikator, yang mencakup alamat DBus mereka. Anda dapat melakukannya menggunakan baris perintah ini:

gdbus call --session --dest com.canonical.indicator.application --object-path /com/canonical/indicator/application/service --method com.canonical.indicator.application.service.GetApplications

Anda akan mendapatkan kembali sesuatu yang tidak terlalu berguna, karena itu dalam format psuedo-JSON. Jika Anda menulis skrip, Anda dapat menariknya ke parser dan bekerja dengannya. Jika Anda ingin melakukannya hanya sekali, baca saja teksnya. Anda sedang mencari bidang yang seperti ini: :1.XXX Itu adalah alamat DBus untuk indikator.

Setelah Anda memiliki alamat untuk indikator, Anda dapat menanyakan DBus apa PID untuk indikator itu. Anda meminta PID :1.123seperti ini:

gdbus call --session --dest org.freedesktop.DBus --object-path / --method org.freedesktop.DBus.GetConnectionUnixProcessID :1.123

Setelah Anda memiliki PID Anda dapat meminta /procinformasi tentang proses. Misalnya jika Anda ingin mengetahui perintah yang digunakan untuk meluncurkan nomor proses 1yang dapat Anda lakukan:

cat /proc/1/cmndline

Semoga berhasil!

Ted Gould
sumber
manis! - Tidak tahu tentang gdbusberharap antarmuka tingkat tinggi ada! - meskipun ini bukan API (Indikator Panel Aplikasi) - seharusnya tidak sulit untuk "membuatnya begitu" - berharap untuk membuatnya segera dilakukan - PS super manis
Amos Annoy
2

Iterasi 1

qdbus --literal   com.canonical.AppMenu.Registrar                  \
                 /com/canonical/Unity/Panel/Service                \
                  com.canonical.Unity.Panel.Service.Sync           \
| sed -e 's/[^{]*{\(.*\)}\]/\1/' | sed -e 's/\[[^"]*/[/g'          \
| sed -e 's/\[\(\(\("[^"]*"\|[^,"]*\), \)\{4\}\)[^]]*,\([^,]*\)\]/[\4, \1]/g' \
| sed -e 's/\[\([^,]*\, \)\("[^"]*",\)/[    \1\2                  /g'  \
| sed -e 's/\[ *\(....,.\{24\}\) */[\1/g'  | sed -e 's/\], \[/]\n[/g'  | sort -n -k2

memproduksi:

[  -1, "libprintersmenu.so",  "", "", "", ]
[   0, "libappmenu.so",       "0x9581b90", "", "_File", ]
[   1, "libappmenu.so",       "0x9582ad0", "", "_Edit", ]
[   2, "libappmenu.so",       "0x9583cf0", "", "_View", ]
[   3, "libappmenu.so",       "0x9585828", "", "_Search", ]
[   4, "libappmenu.so",       "0x9586da8", "", "_Tools", ]
[   5, "libappmenu.so",       "0x96575a0", "", "_Documents", ]
[   6, "libappmenu.so",       "0x96596e0", "", "_Help", ]
[ 200, "libmessaging.so",     "0x9238c7c", "indicator-messages", "", ]
[ 250, "libpower.so",         "0x9346c54", "indicator-power", "", ]
[ 300, "libapplication.so",   "0x86a6368", "bluetooth-manager", "", ]
[ 450, "libapplication.so",   "0x930f650", "nm-applet", "", ]
[ 500, "libsoundmenu.so",     "0x9346cac", "indicator-sound", "", ]
[ 550, "libdatetime.so",      "0x931581c", "indicator-datetime", " 4:59:07 PM", ]
[ 600, "libsession.so",       "0x92ed45c", "indicator-session-devices", "", ]

Iterasi ke-2

(dg ikon yang mengkonfirmasi asosiasi)

qdbus --literal   com.canonical.AppMenu.Registrar                  \
                 /com/canonical/Unity/Panel/Service                \
                  com.canonical.Unity.Panel.Service.Sync           \
| sed -e 's/[^{]*{\(.*\)}\]/\1/' | sed -e 's/\[[^"]*/[/g'          \
| sed -e 's/\[\(\(\("[^"]*"\|[^,"]*\), \)\{4\}\)\([^,]*, \)\{3\}\("[^"]*"\)[^]]*,\([^,]*\)\]/[\6, \1 <\5>]/g' \
| sed -e 's/<"">\]/]/g'  | sed -e 's/<"\([^"]*">\]\)/<img src="data:image\/png;base64,\1/g'    \
| sed -e 's/\], \[/<\/td><\/tr>\n<tr><td>/g'  | sort -n -k2 | sed -e 's/, /<\/td><td>/g'        \
| sed -e 's/\[/<html><table>\n<tr><td>/' | sed -e 's/\]/<\/td><\/tr>\n<\/table><\/html>/' >hapi.html

memproduksi:

hapi.png

inilah hapi.html (tanpa latar belakang sel hitam):

<tr><td> -1</td><td>"libprintersmenu.so"</td><td>""</td><td>""</td><td>""</td><td> </td></tr>   /*  oops  */
<html><table>
<tr><td> 0</td><td>"libappmenu.so"</td><td>"0x8b12b38"</td><td>""</td><td>"_File"</td><td> </td></tr>
<tr><td> 1</td><td>"libappmenu.so"</td><td>"0x8a1cd30"</td><td>""</td><td>"_Edit"</td><td> </td></tr>
<tr><td> 2</td><td>"libappmenu.so"</td><td>"0x8b01b28"</td><td>""</td><td>"_View"</td><td> </td></tr>
<tr><td> 3</td><td>"libappmenu.so"</td><td>"0x8b35700"</td><td>""</td><td>"_Search"</td><td> </td></tr>
<tr><td> 4</td><td>"libappmenu.so"</td><td>"0x8b11350"</td><td>""</td><td>"_Terminal"</td><td> </td></tr>
<tr><td> 5</td><td>"libappmenu.so"</td><td>"0x8b142f0"</td><td>""</td><td>"Ta_bs"</td><td> </td></tr>
<tr><td> 6</td><td>"libappmenu.so"</td><td>"0x8b37528"</td><td>""</td><td>"_Help"</td><td> </td></tr>
<tr><td> 200</td><td>"libmessaging.so"  </td><td>"0x85c8c7c"</td><td>"indicator-messages"   </td><td>""</td><td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAd9JREFUOI3t0UFP02AcBvDnfRvMSDzwBUy2CpZwwCN6Mc4FE8iQs9/BCzOytWxzm4EYMWEQMMHExE+gF+JxnuwYRtcWNlrcIurttRuY7WLCeD0V6+iE4cmEJ2nS9/n3/0ubAuf5b0Ocm92KkeEcUQAXzmj9BMFioH84CgDUaTnnSqlsrtXre9vdirVafbtUNt/wQz7ldPT3mAii6B9MpWYV9t02TosyZusPU7MxUfRLhJAeDxjo9fmGstknsWR6TrHtk3HGbF1OpOWlxXml1+cbcs9o+8OU0pGVpadxOfHorzhjth6dScaeP8smKKUjxxyvJYHSa6vLC8q0kpK9cMZsfSoiT79YXX4gCMJ1L8MTBoBms3kxErm3lc48ju/v/7Ccvl7bKyczczNy/H6p0Wj0ddo/yudPBneuwrucFgrdDFctbb1qaevB4I077/NvjT/6Hf1DeOz2xIaaK7p3O8IFNaePjgbHK5aWd7qKWVQlSbolSVKwYhbVo97SPk6GxyYKak5vh4kbBgBrp/pyoD9wiVIaOvEzAbRarfyXr992xYD/LgAEBoZJG6wfAEQ4DdYpnPMD8crVHsD184zN8ivOcfgPbMvY3HrtnIhrMgjgclvXlQygCsA8+8udp5v8AnS3+yjTJl0RAAAAAElFTkSuQmCC"></td></tr>
<tr><td> 250</td><td>"libpower.so"      </td><td>"0x86da454"</td><td>"indicator-power"      </td><td>""</td><td> <img src="data:image/png;base64,. GThemedIcon battery-charged battery-full-charged-symbolic battery-full-charged gpm-battery-charged gpm-battery-100-charging "></td></tr>
<tr><td> 300</td><td>"libapplication.so"</td><td>"0x86a6368"</td><td>"bluetooth-manager"    </td><td>""</td><td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWCAYAAAAW5GZjAAAABHNCSVQICAgIfAhkiAAAAchJREFUKJHNkc9LVFEUx7/3YUJF5EhgM6+GoBiEaNEy8g8ogihI2rSXYDIQNxW0EHEROdIsJkwEJ19kDWXRrjSKBgNzHO4d6um7b7xji9RZyFNxMVPvnjYpPXSyRYu+y3M+fL/nB/B/SjlipuTyW9v1jC0VhhgR61aycGNnGKTfZycGAeqplbCpOYd/N00z9jwz/FhJoZXkVwPOSoqEcvkZACAisizr64PBoUS1Ul354eubAdjzvOOk8bLkFM4BoKamfaHUvUSKGUZdMnm/OxBtmuapieybyTmHV4qzvFp0+JS082vxeNs1APu3LBqJRFo+ZscmlRTk2vn19njbdQAN211Dp9Ppwt49u+sBgBnGrtZLF74B8H6HGQDMz4uQX6FxX/tHGYz6crkswuGDJxljl48cOzEacPYr+gmRbh4YSHdprf2unju3FxaXuNZ6pOSKs4GBRzNWX2dHeweARsfOrQ7394ej0WjLTOFTuTjLFza4OgC42HolCWAFwDIAagyF6N3Yq/OMsQOvx9/erfE/wPmS86SdSygpdCrZ2wfgUE3YtfPrSgrKjDy0AByuCQLA9NSHzy+ePXoKIPZH8JdOA2j+G/Df6SfH0s58lIXOZQAAAABJRU5ErkJggg=="></td></tr>
<tr><td> 450</td><td>"libapplication.so"</td><td>"0x869f258"</td><td>"nm-applet"            </td><td>""</td><td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAvJJREFUOI3tkk9sVFUUxn/n3XmP6WBk/gBCojDTMJPSocNURJSV2qW6EKIkBaRRE5WYsCAahJCMbtREjEkTEzHRhmJFYnRhZGFMmhIWTUmpxVJDZpipmbSdMm1RoH2vnb53XTA11NSWrQm/3T0n35fvnHPhPv9bZLFiNptd4fPsmChvPaJCrqv9BlgAKGPGc+dmDNGTniEjjmMOJZPJ2SWNi8Ur4YrtbTPE26hFDIDKTGV22rFtd9atAChLmYHAyhrTVBaA1tozxJfXKnApFov9ucA4k8kYLXtfSAOPahFjfHxisr9vYLTtq/byhZ6eaWAO8KoaA/A1NTUFDjTvWlu/Jbk+EgmHRIurtdEbjdf3i4gWgKFc/zMa2XTr1tTUF1+2DbS2fl4CpgC7UCiYWt9OaI2lPNd1DXOitra+KCIKqAEC7x8/8vCePbuTln+FX/Cy0U3pTgEY6O/eXSpdnznwypu/Dg8Pl4cGB8NYbrPWulkgpcH3rxXe1JqLhkhHBf938Xi8kk7XPfTpiU8aIpFQTUP6ybPzO14HVDKZzI2X9+06aGg+0PCA57n2WHl8oDQ6VnAcx1bKp4LBVeE1qyPRYHBVQkR8CKN4HI0lUqeAMHdClBYcL5/9bb+gTzm2ff2Xzq6vT3zcen6oWBwB/qru2QD8wIONjakNh946+NTOJ7a/ZFpmUDR7o4lUx7zXghHPfHM2X7c5ceadd9/ryOVyfedOn765+fGGZ0XkaY1s0KLnxGNYoOuHn74/1/LqG92PNTb+fOzY4Rd/H7xa+M/vBgSAR4Brf2SvJDzcH4FaFidvoJ7fGE/mgBhQBKYXTVxtXAUolcfS4VAw0nupr729/duuzvNdZaUsY8eO7aHXX2tpSm/d8tzkjfE0MDivWSrx3awDUkAeGAHsat1fnSoKXAZKi4mXMv6HQvbyh8Dbd176o1h869HlNOpejH2WMusS8Z2O40ycPNn2WXfPxWvLae4pMbAS2AZooJe7jnSfZfkbe1wfX9DFYSoAAAAASUVORK5CYII="></td></tr>
<tr><td> 500</td><td>"libsoundmenu.so"  </td><td>"0x86da4ac"</td><td>"indicator-sound"      </td><td>""</td><td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAAABHNCSVQICAgIfAhkiAAAAudJREFUSIntkF1ok1cYx38njTW1rSkOZGjFK52fbKCCzsgWkIF4sV0IAxljIIiyi+mFCOLdwJuJn5tuQ7AVh1VX2Vjpqq6aZc5araZ5bWOak7dvl5W1YtOPtE1i3o+zC410Npoh1St/V+c8zzn/3zkPvOZVYEjtdyOunVRKuZ7uTSq8CP39900Unxmx9u1TkQdAT1z7skdqnwP4fKvfj3a0Depd4ZSut3knnnvmD/rD4XIjrgUNqQUK9dPjmQ0Kjuh6u+/atRt/trTerHW5RKWTc20pKlBKudIefkCxDnhPqXMlAIYMb++Wdz8A+O5E7RFQysra+wDzZG3d947j5EzT3FxU0KN3HBAu8WF+HwhEBIBp2rtQTn0iemfO4aPHfurru3+7tHTa2kT0zpxgMCiTyWSHx+N5W0o5fZKgO6b9ZkhNGVJTKPVFIfGVwB91QoiKtGV/AqT+SvReAlypdHY9YI2OjXcKIdy58eElhX7gLxQ6kWis6xxAOpNZCWA6uRDAWDq9CMAyzV6AgcGBec8d0bOIROISQCBmA1SWlQ8CWLZVCSBEyQiAbVtVLyQ4dGjfTIBMNpMC8FbN8gJksw9HATye0hkAIyOj2UmCZDIZKSZQtrXh0dnBKEBlxYxlAAPJ4e5HAs+bAGOZ8b78HXd+sWqNfyvwBsCvDfXbFr21YOPTglL39L22bWUaG5ouAFSUl3/kOE6usakxCFBW5lnuOI5VU1P35LHuCfdb8otNH3+aaGr4saq6eu7aiYLW1ps/9yQSyeMnakKGDK8GsaL3n77rp06dNXS9zYvlXjk0NHyvubl5qNg0xNKFC323Wq7ebbsRiADicX0+MBtARkPt3THN3rN752YAGQntMKSmzp+p+apYeJ4SYA3wbqHmxcYLp7/9+uBBwPt3Z+eseDT0IHbvdsrv9y/9v4JiLAbmAehd7fWG1NTxbw7s579jnxo6Qi2dVy//cgWonvLwx/iAd15W+HP5F1PVVGkwY49EAAAAAElFTkSuQmCC"></td></tr>
<tr><td> 550</td><td>"libdatetime.so"   </td><td>"0x86a581c"</td><td>"indicator-datetime"   </td><td>" 5:25:55 PM"</td><td> </td></tr>
<tr><td> 600</td><td>"libsession.so"    </td><td>"0x867cc5c"</td><td>"indicator-session-devices"</td><td>""</td><td> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAlZJREFUOI3tlE9IVFEUxr/z/tgkKBHpJhEkRF4LV1GOIC2yRcxEEmGLJHAIhXCjCzdu3BVBC3VTi9rr2iwt9Q0ElTmO8yZtnOv4JKHIHi7m5XvlDJ4WOTA8549uow/u4p7znd89F869wH8dV6Yw2BQGH9UvFQomEokqIZZqyhWvr8dqE4lE1ZHAQojqCun3tMSKLkSsblPEQ16PmTS6hYjVSfvQVfr1SghRXRacTEYrHcepkQjnFdAmg58daofwXAFtEpHmum5tMhmtLAsOBDp3+geGBpk5C0B2XPe71+O47jYAmZmz/QNDg4FA505ZMIC9sZGH9USkOLvO1zt37/V6Dd3d93udXecbESmjIw/qAOwdBQxmdAHAm/nwk+Xl+JQ3vxCJTM3Nh58CAIO6CjGU/I13nCLRpXEAGQBoaGy+nn+r2NKniWDw2vBJn+9irq6hsZlKdpxTS8vlH3nbyYMFAGhrb98uVetVEEAw8iG8agqDP8cXbhYzrsYXbpvC4MX3+mquLj/v7XgSwGQqtfESABRVeWSa0VNe6NbKyukKVX0MAKnUxgvvbQqBAQBzs2/HmTmryMo5zsgfzXWj4+9rFNUbInYrq2YNWZbPMnM2rL+bKMQgb2BtbfGMSuosETUzY5+o6OTsE0FiZiPDmStNTReskh3regTptC3Z9s8voZ6+0PTr2THLsoxc3rIsY2ZmbjTU0xeybXsrnbZJ1yOFzj4kRdO0q62tl24A8AGoB+DP+938BzFfW5u/Q9O0dnjGtiQcQEV+oMi3eeI40GI6NFL/lv4A7ogQZ4Yx+nYAAAAASUVORK5CYII="></td></tr>
</table></html>

Dikonfirmasi: [crud] adalah ikon gambar data sesuai data:image/png;base64,[crud]

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAAABHNCSVQICAgIfAhkiAAAAudJREFUSIntkF1ok1cYx38njTW1rSkOZGjFK52fbKCCzsgWkIF4sV0IAxljIIiyi+mFCOLdwJuJn5tuQ7AVh1VX2Vjpqq6aZc5araZ5bWOak7dvl5W1YtOPtE1i3o+zC410Npoh1St/V+c8zzn/3zkPvOZVYEjtdyOunVRKuZ7uTSq8CP39900Unxmx9u1TkQdAT1z7skdqnwP4fKvfj3a0Depd4ZSut3knnnvmD/rD4XIjrgUNqQUK9dPjmQ0Kjuh6u+/atRt/trTerHW5RKWTc20pKlBKudIefkCxDnhPqXMlAIYMb++Wdz8A+O5E7RFQysra+wDzZG3d947j5EzT3FxU0KN3HBAu8WF+HwhEBIBp2rtQTn0iemfO4aPHfurru3+7tHTa2kT0zpxgMCiTyWSHx+N5W0o5fZKgO6b9ZkhNGVJTKPVFIfGVwB91QoiKtGV/AqT+SvReAlypdHY9YI2OjXcKIdy58eElhX7gLxQ6kWis6xxAOpNZCWA6uRDAWDq9CMAyzV6AgcGBec8d0bOIROISQCBmA1SWlQ8CWLZVCSBEyQiAbVtVLyQ4dGjfTIBMNpMC8FbN8gJksw9HATye0hkAIyOj2UmCZDIZKSZQtrXh0dnBKEBlxYxlAAPJ4e5HAs+bAGOZ8b78HXd+sWqNfyvwBsCvDfXbFr21YOPTglL39L22bWUaG5ouAFSUl3/kOE6usakxCFBW5lnuOI5VU1P35LHuCfdb8otNH3+aaGr4saq6eu7aiYLW1ps/9yQSyeMnakKGDK8GsaL3n77rp06dNXS9zYvlXjk0NHyvubl5qNg0xNKFC323Wq7ebbsRiADicX0+MBtARkPt3THN3rN752YAGQntMKSmzp+p+apYeJ4SYA3wbqHmxcYLp7/9+uBBwPt3Z+eseDT0IHbvdsrv9y/9v4JiLAbmAehd7fWG1NTxbw7s579jnxo6Qi2dVy//cgWonvLwx/iAd15W+HP5F1PVVGkwY49EAAAAAElFTkSuQmCC
george rowell
sumber
Idealnya, alih-alih HTML, skrip bash yang mengisi panel indikator dengan ap pengidentifikasi ikon HAPI yang terintegrasi, yang menyertakan versi aps penduduk, akan memfasilitasi isolasi info spesifik versi., Nuansa dan fungsionalitas istimewa.
george rowell
rolling rant memanifestasikan dalam 2 cara - cara 2 ada di sini dengan bahasa buatan yang diprediksikan pada tanggal 1, dengan bahasa alami dan diendapkan dari gangguan, iritasi atau gangguan akibatnya, biasanya secara anonim (menjengkelkan) (mis. dikondisikan, ap & versi tidak dikenal mengganggu secara anonim) demikian alter ego - Amos Annoy (ed)
george rowell
Catatan: bidang indikator-daya ikon agak miring dan tidak konvensional? dibandingkan dengan penggunaan lapangan dengan data gambar ikon oleh aps lain - bahkan yang dengan ikon yang berubah seperti NM
george rowell
2

Sayangnya -

gdbus call --session --dest com.canonical.indicator.application                \
             --object-path /com/canonical/indicator/application/service        \
                   --method com.canonical.indicator.application.service.GetApplications

tidak secara lengkap menyebutkan semua ikon indikator atau sub-indikatornya. Menu MI (indikator pesan) berinteraksi dengan beberapa aps komunikasi sub-indikator. tidak terdaftar. Yang juga hilang adalah informasi indikator daya, volume dan jam.

qdbuslebih mudah digunakan dan d-feetmenyediakan GUI untuk melakukan hal yang sama, serta dengan mudah mendaftar nilai properti.

Gunakan qdbussebagai berikut:

qdbus  --literal | sort

klik tiga kali untuk memilih com.canonical.indicator.applicationw / nl dalam output

...  
:1.97  
:1.98  
 ca.desrt.dconf  
 com.canonical.AppMenu.Registrar  
 com.canonical.hud  
 com.canonical.indicator.application  
 com.canonical.indicator.datetime  
 com.canonical.indicator.messages  
 com.canonical.indicator.printers
 com.canonical.indicator.session
 com.canonical.indicator.sound
 com.canonical.Unity
 ...  

Tulis perintah berikutnya dengan perintah bash historyrepeat uparrow (hapus | sort untuk meninggalkan hanya qdbus --literal) dan tekan tombol tengah mouse untuk menyelesaikan perintah:

qdbus  --literal  com.canonical.indicator.application

Klik tiga kali pada baris terakhir

/
/org
/org/ayatana
/org/ayatana/indicator
/org/ayatana/indicator/service
/com
/com/canonical
/com/canonical/indicator
/com/canonical/indicator/application
/com/canonical/indicator/application/service

Tekan ulang riwayat uparrow, spasi, dan tombol tengah mouse untuk menulis:

qdbus  --literal  com.canonical.indicator.application  /com/canonical/indicator/application/service

Klik dua kali untuk memilih metode yang diinginkan dalam output dan tekan uparrow, spasi dan tombol mouse tengah untuk membuat perintah dan tekan enter untuk menjalankannya. (\ kelanjutan garis ditambahkan untuk kejelasan dalam contoh ini):

qdbus  --literal  com.canonical.indicator.application                \
                 /com/canonical/indicator/application/service        \
                  com.canonical.indicator.application.service.GetApplications

Ini hanya menghasilkan informasi indikator BT dan NM (cukup dicetak di sini untuk penjelasan)

[Argument: a(sisossssss)
  {[Argument: (sisossssss)
    "bluetooth-active", 
    0, 
    ":1.155",
    [ObjectPath: /org/ayatana/NotificationItem/bluetooth_manager/Menu],
    "",
    "",
    "",
    "Bluetooth: On",
    "bluetooth-manager",
    "Bluetooth"],
    [Argument: (sisossssss) 
    "nm-signal-75", 
    1, 
    ":1.21", 
    [ObjectPath: /org/ayatana/NotificationItem/nm_applet/Menu], 
    "", 
    "", 
    "", 
    "Wireless network connection 'office WiFi 1' active: office WiFi (77%)", 
    "nm-applet", 
    "Network"]
  }
]

Indikator lain direferensikan sebagai com.canonical.indicator. ...antarmuka lain (terdaftar di awal), namun ini mungkin harus digunakan tetapi indikator sub-menu aps masih belum teridentifikasi:

qdbus --literal   com.canonical.AppMenu.Registrar               \
                 /com/canonical/Unity/Panel/Service             \
                  com.canonical.Unity.Panel.Service.Sync

meskipun ada banyak crud di sana (ikon gambar bit mungkin) output yang dipangkas dan di-prettied adalah:

[Argument: a(ssssbbusbbi) {
[Argument: (ssssbbusbbi) "libappmenu.so", "0x9733fe0", "", "_File", true, true, 0, "", false, false, 0],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x97352e0", "", "_Edit", true, true, 0, "", false, false, 1],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x9737868", "", "_View", true, true, 0, "", false, false, 2],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x9738920", "", "_Search", true, true, 0, "", false, false, 3],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x9739e10", "", "_Terminal", true, true, 0, "", false, false, 4],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x973c070", "", "Ta_bs", true, false, 0, "", false, false, 5],
[Argument: (ssssbbusbbi) "libappmenu.so", "0x973d6a0", "", "_Help", true, true, 0, "", false, false, 6],
[Argument: (ssssbbusbbi) "libapplication.so", "0x90cdcd0", "bluetooth-manager",  "", false, false, 1, "<... crud ...>", true, true, 300],
[Argument: (ssssbbusbbi) "libapplication.so", "0x8e861a8", "nm-applet",          "", false, false, 1, "<... crud ...>", true, true, 450],
[Argument: (ssssbbusbbi) "libprintersmenu.so", "", "", "", false, false, 0, "", false, false, -1],
[Argument: (ssssbbusbbi) "libmessaging.so",   "0x8dabc7c", "indicator-messages", "", false, false, 1, "<... crud ...>", true, true, 200],
[Argument: (ssssbbusbbi) "libpower.so",       "0x8f0405c", "indicator-power",    "", true, false, 6,
   ". GThemedIcon battery-charged battery-full-charged-symbolic battery-full-charged gpm-battery-charged gpm-battery-100-charging ", true, true, 250],
[Argument: (ssssbbusbbi) "libsoundmenu.so",   "0x8f040b4", "indicator-sound",    "", false, false, 1, "<... crud ...>", true, true, 500],
[Argument: (ssssbbusbbi) "libdatetime.so",    "0x8e8881c", "indicator-datetime", " 1:16:10 AM", true, true, 0, "", false, false, 550],
[Argument: (ssssbbusbbi) "libsession.so",     "0x8e6045c", "indicator-session-devices", "", false, false, 1, "<... crud ...>", true, true, 600]}]

Catatan: Angka-angka terminasi 600, 550, 500, 450, 300, 250, 200 berkorelasi, kanan ke kiri, cocok dengan aps dengan ikon indikator mereka.

george rowell
sumber
sayangnya ap tidak memenuhi syarat dengan nomor versi mereka untuk mengidentifikasi pemasangan yang tidak terkondisikan dan degradasi sistem akibatnya - secara manual padat karya untuk melacak ap indikator yang menyinggung w / versi spesifik mereka pada sistem yang dikompromikan - Adakah yang tahu cara yang bijaksana untuk mengidentifikasi mereka ketika menu Tentang mereka hilang?
george rowell