Як дізнатися, яка програма пов’язана з піктограмою індикатора?


10

Це робити неважливо в Ubuntu 10.04. Питання характерне для Ubuntu 12.04.

Композиція з використанням DBUS з деталями реалізації в подальшому спостереженні відсутня за якою - то причини так альтер его написав відповідь (тривіальне , але кілька трудомісткий процес пояснюється тут ).

Ця відповідь щодо gdbusкорисної, але ця відповідь дуже корисна - (спокійні системи накладних витрат тепер зменшено до прийнятних ~ 10%).

деякі відповідні посилання
(src: відповідь на те, в чому різниця між індикаторами та системним треєм ?:
Ось документація щодо індикаторів:

Показники застосування | Ubuntu App Developer
libindicate Посібник з посібника
libappindicator

також

ref: Як можна визначити програму, яка робить значок індикатора? (Це посилання неналежно переспрямовує на закладку /ubuntu/184589/how-can-menu-bars-that-require-a-right-click-be-activate-like-ubuntu-versions )
: як це можна дізнатися, яка програма пов’язана з піктограмою індикатора в Ubuntu 12.04?
є серйозним питанням із причин та проблем, викладених нижче, і для яких було зроблено значну інвестицію та необхідну для виправлення


перегляд реф. щоб знайти впорядковану роздільну здатність ...
(можливо, потрібен індикатор.


Це не має нічого спільного (чи не так?) Клацанням правою кнопкою миші.

Як піктограма індикатора в Ubuntu 12.04 може відповідати програмі, відповідальній за його прояв на верхній панелі?

Список запущених програм може включати всі процеси, що використовують System Monitor.

Як знайдено правильний процес узгодження для індикатора?

Як ідентифікуються додатки для підпоказника? Це апси, пов'язані з компонентами меню, що випадає з індикаторів. (Це було окремим питанням, і цілком закономірно слідкує за прогресуванням. Він включений сюди, оскільки очевидно, що немає жодного положення, щоб легко відстежувати правопорушення або суб, або індикатора.)

s змішується з деякими очікуваними демонами та фоновими завданнями, такими як nm-applet - не тільки для Xorg і compiz потрібен надмірний час процесора, але і їхнє оточення теж повинно придуматись! ще більше загостривши проблему - наші завдання, пов'язані з обчисленнями, вже не працюють ефективно в цій галузі - скорочується час роботи акумулятора, скорочується час процесора для користувальницьких апп. і т. д. - і все це випливало з вивчення того, що відбувається з батареєю ap. показник - це було і не є легковажним, риторичним чи простоюванням, але має наслідки для надійного розгортання 12.04 для зменшення негативного впливу його накладних витрат у виробничому середовищі) скорочений час процесора для користувальницьких ap.s тощо - і все це випливало з вивчення того, що відбувається з батареєю ap. показник - це було і не є легковажним, риторичним чи простоюванням, але має наслідки для надійного розгортання 12.04 для зменшення негативного впливу його накладних витрат у виробничому середовищі) скорочений час процесора для користувальницьких ap.s тощо - і все це випливало з вивчення того, що відбувається з батареєю ap. показник - це було і не є легковажним, риторичним чи простоюванням, але має наслідки для надійного розгортання 12.04 для зменшення негативного впливу його накладних витрат у виробничому середовищі)

(У мене проблема з індикатором акумулятора - він іноді має%, а інший час гг: мм - потрібно знати додатки та v., Щоб отримати більше інформації про управління тим же. Ditto: Є проблеми з іншими аплікаторами. : Конфлікт між NM та iwlist / iwconfig, BT - проти перемикача радіочастот, акумулятор, без відключення / сну через поганий час роботи акумулятора, ... список продовжується)

Деталі з:
Як я можу знайти ідентифікатори індикатора програми?

пропонує переглянути:
файл: ///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

який вирішує батарею ап. ідентифікація, і імовірно, nm - NetworkManager для значка rf, але конверт, блакитний зуб та індикатор динаміка aps. досі є загадкою. (Також замовлення не співвідноситься.)

Зауважте, у минулому було просто клацнути правою кнопкою миші, щоб отримати Aboutможливість знайти ап. & v. інформація.

перегляду та про:

файл: ///usr/share/indicator-application/ordering-override.keyfile

перевірений:
файл: /// usr / share /
файл файлу: /// usr / share / індикатори / повідомлення / програми /
...

можливо? / імовірно? шукана інформація може бути захована у
файл: /// usr / share / показники

Посилання в коментарях було дано:
Яка різниця між показниками та системним треєм?
цитуючи з цього джерела ...

На жаль, покажчики робочого столу ще не добре задокументовані: я не зміг знайти жодної специфікації документа ...

Ну ... власне документ
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Summary
не дуже допомагає, але його екзистенціальна інформація забезпечує значне розуміння ...


і це додаток ...?
Amos Annoy

"Індикатор BT зазвичай використовується Blueman (або подібний)" - але як я точно знаю? можливо я використовую "чи подібне"? це не допомагає - ви можете мені точно сказати, як перевірити мою систему, щоб однозначно визначити, яка саме програма пов’язана з кожним показником? Одність-панель-сервіс відповідає за прояв зазначеного середовища, але як визначаються заселюючі програми, які асоціюються з кожним показником?
Amos Annoy

при правильній апс. орієнтовані на такі речі, як: bluetooth-applet --help (bluetooth-applet:25165): BluetoothApplet-WARNING **: Applet is already running, exitingможна зробити - що таке показник обміну повідомленнями? Імовірно, він отримує вміст для випадаючого меню з:file:///usr/share/indicators/messages/applications/
Amos Annoy

Відповідь, яку ви цитуєте, застаріла, я її оновив, сподіваюся, це допоможе.
Хорхе Кастро

TQ - сподіваюся, що так - отримати гарне уявлення про структуру індикаторів
Amos Annoy

Відповіді:


3

Служба додатків-індикаторів має внутрішній API, який дозволить схопити список усіх показників, що включає їх адреси DBus. Це можна зробити за допомогою цього командного рядка:

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

Ви отримаєте щось не надто корисне, оскільки це у форматі psuedo-JSON. Якщо ви пишете сценарій, ви можете перетягнути його в аналізатор і працювати з ним. Якщо вам цікаво зробити це один раз, просто прочитайте текст. Ви шукаєте таке поле: :1.XXX Це адреса DBus для індикатора.

Отримавши адресу індикатора, ви можете запитати DBus, що таке PID для цього показника. Ви запитуєте такий PID :1.123:

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

Після того як ви отримаєте PID, ви можете запитати /procінформацію про процес. Наприклад, якщо ви хотіли знати, як команда використовується для запуску номера процесу, 1ви можете це зробити:

cat /proc/1/cmndline

Удачі!


солодкий! - не знав про те, чи gdbusсподівався існувати інтерфейс високого рівня! - хоча це ще не API (індикатор панелі додатків) - це не повинно бути важко "зробити так" - сподіваюся, що це буде зроблено негайно - PS супер солодкий
Amos Annoy

2

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

виробляє:

[  -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", "", ]

2-а ітерація

(з / піктограмами, що підтверджують асоціацію)

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

виробляє:

hapi.png

ось hapi.html (без чорного фону комірок):

<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>

Підтверджено: [crud] - це зображення зображень піктограми відповідно до 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

В ідеалі, замість HTML, скрипт bash, що заповнює панель індикаторів, з інтегрованим ідентифікатором піктограми HAPI ap, який включав версію резидентного aps, полегшив би виділення інформації, що відповідає конкретній версії.
Джордж Роуелл

прокатки виявляються двома способами - другий спосіб - це зі штучною мовою, розробленою на 1-му, природною мовою та осадженою від наслідків, що виникають у зв'язку з цим неприємністю, роздратуванням або роздратуванням, як правило, анонімно (анонімно) (тобто, не обумовлені умови, невідомі програми та версії) дратувати анонімно) таким чином альтер-его - Амос Анной (ред.)
Джордж Роуелл

Примітка: поле значка індикатор-потужність трохи незвичне і нетрадиційне? порівняно з даними зображення зображень w / icon інших aps - навіть тих, що змінюють піктограми, такі як NM
george rowell

2

На жаль -

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

не вичерпно перераховує всі піктограми індикаторів або їх піддіапазони. Меню MI (індикатор обміну повідомленнями) інтерфейсує з декількома аплікаційними підсистемами зв'язку. не вказані. Також не вистачає інформації про індикатор живлення, гучності та годинника.

qdbusпростіший у використанні та d-feetнадає графічний інтерфейс для того ж, а також легко перераховує значення властивостей.

Використовуйте qdbusнаступним чином:

qdbus  --literal | sort

потрійне клацання, щоб вибрати com.canonical.indicator.applicationw / nl у висновку

...  
: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
 ...  

Складіть наступну команду за допомогою bash historyкоманди повторення вгору (видаліть, | sort щоб залишити просто qdbus --literal) та натисніть середню кнопку миші, щоб виконати команду:

qdbus  --literal  com.canonical.indicator.application

Тричі клацніть останній рядок

/
/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

Натисніть стрілку повтору історії, пробіл та середню кнопку миші, щоб скласти:

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

Двічі клацніть, щоб вибрати потрібний метод у виході, і натисніть стрілку вгору, пробіл та середню кнопку миші для створення команди та натисніть клавішу Enter, щоб запустити її. (\ продовження додано для наочності в цьому прикладі):

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

Це виводить лише інформацію про індикатор BT та NM (тут досить опубліковано для експозиції)

[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"]
  }
]

Інші індикатори посилаються на інші com.canonical.indicator. ...інтерфейси (перераховані на початку), однак це, мабуть, є корисним, але ап-індикатори підменю все ще не визначені:

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

хоча там багато сирого (напевно, бітові зображення зображення), обрізаний та гарненький вихід:

[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]}]

Примітка: Кінцеві числа 600, 550, 500, 450, 300, 250, 200 співвідносяться, справа наліво, збігаючи апси з їхніми піктограмами.


на жаль, апси не кваліфіковані за номерами їх версій для виявлення невмовно встановлених встановлень та наслідків деградації системи - це вручну трудомістке відстеження порушень індикаторів, що порушують, з їх конкретними версіями на компрометованих системах - чи знає хто доцільний спосіб їх виявлення коли їх Про меню відсутні?
Джордж Роуелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.