Как узнать, какое приложение связано со значком индикатора?
Это легко сделать в Ubuntu 10.04. Вопрос специфичен для Ubuntu 12.04.
По какой-то причине композиция, использующая dbus с подробностями реализации, отсутствует, поэтому альтернативное эго составило ответ ( здесь объясняется тривиальный, но несколько трудоемкий процесс).
Этот ответ относительно gdbus
полезен, но этот ответ очень полезен - (издержки покоящей системы теперь уменьшены до приемлемых ~10%).
некоторые соответствующие ссылки
(src: ответ на вопрос В чем разница между индикаторами и системным треем?:
Вот документация для индикаторов:
Индикаторы применения | Ubuntu App Developer
Справочное руководство по libindicate
Справочное руководство по libappindicator
также
ref: Как можно идентифицировать приложение, создающее значок индикатора? (Эта ссылка неправильно перенаправляет на https://Ask-ubuntu.ru/questions/184589/how-can-menu-bars-that-require-a-right-click-be-acactive-like-ubuntu-versions)
закладка: Как узнать, какое приложение связано со значком индикатора в Ubuntu 12.04?
является серьезным вопросом по причинам и проблемам, изложенным ниже и для которых были сделаны значительные инвестиции, и они необходимы для исправительных целей.
рецензирование ссылок чтобы найти согласованное решение...
(может понадобиться индикатор ap. индикатор)
Это не имеет ничего общего (правда?) С правой кнопкой мыши.
Как можно сопоставить значок индикатора в Ubuntu 12.04 с программой, отвечающей за его отображение на верхней панели?
Список запущенных приложений может включать все процессы, использующие System Monitor
,
Как найти правильный процесс сопоставления для индикатора?
Как определяются субиндикаторные приложения? Это aps, связанные с компонентами раскрывающегося меню индикаторов. (Это должен был быть отдельный вопрос, и он вполне естественно следует за ходом процесса. Он включен здесь, поскольку очевидно, что нет средств, позволяющих легко отследить нарушение как вспомогательных, так и индикаторных точек.)
(Исследование SM указывает на довольно острый фактор в более быстром разряде батареи и сокращенном времени работы - частота окружающего процессора в 12.04 теперь значительно выше 20%, тогда как ранее, в 10.04, она была ниже 10%, между 5% и 7%! - огромные непроизводительные издержки процессора происходят из Xorg и compiz - после загрузки системы запускается только SM и выбираются все процессы, сортировка по%CPU - переключение между ресурсами и процессами профилирует проблему издержек выполнения - запуск другого приложения как и gedit, "Текстовый редактор" кратко отдает ему приоритет ЦП - возвращаясь к S&M, несколько апов находятся вверху списка в следующем порядке: gnome-system-monitor как положено, затем: Xorg, compiz, unity-panel-service, hud-service, с dbus-daemon и kworker/x:y, смешанными с некоторыми ожидаемыми демонами и фоновыми задачами, такими как nm-applet - не только Xorg и compiz требуют чрезмерного процессорного времени, но и их окружение должно быть вместе! еще больше усугубляет проблему - наши вычислительные задачи больше не работают Эффективность работы в полевых условиях - сокращение срока службы батареи, сокращение времени процессора для пользовательских устройств и т. д. - и все это обусловлено изучением того, что происходит с батареей. индикатор - это было и не является легкомысленным, риторическим или праздным размышлением, но оно имеет последствия для вероятного развертывания 12.04, чтобы уменьшить негативное влияние его накладных расходов в производственной среде)
(У меня проблема с индикатором батареи - иногда он имеет%, а иногда - чч: мм - необходимо знать значения ap. И v., Чтобы получить больше информации о том же контроле. Так же: есть проблемы с другими индикаторами индикатора.: NM против конфликта iwlist / iwconfig, BT aps против RF коммутатора, Battery ap. W / без приостановки / сна для плохого времени автономной работы, ... список можно продолжить)
Детали из:
Как я могу найти идентификаторы индикатора приложения?
предлагает посмотреть на:
Файл:///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, но конверт, синий зуб и индикатор динамика. до сих пор загадка (Кроме того, порядок не коррелирует.)
Имейте в виду, в прошлом было просто щелкнуть правой кнопкой мыши, чтобы получить About
возможность найти ап. & v. информация.
просмотр вокруг и около:
Файл:///usr/share/indicator-application/ordering-override.keyfile
рассмотрены:
Файл: /// USR / доли / индикаторы
Файл: /// USR / доли / индикаторы / сообщения / приложение /
...
возможно? / предположительно? запрашиваемая информация может быть похоронена в
Файл: /// USR / доли / индикаторы
Ссылка в комментариях была дана:
В чем разница между индикаторами и системным треем?
цитирование из этого источника...
К сожалению, настольные индикаторы еще недостаточно хорошо документированы: я не смог найти документацию по спецификации
Ну... фактический документ
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators
не сильно помогает, но его экзистенциальная информация дает значительное понимание...
3 ответа
Служба Application Indicator Service имеет внутренний 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
Удачи!
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.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
К несчастью -
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.application
б / нл на выходе
...
: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
хотя есть много грубого (вероятно, биты изображения значка), сокращенный и prettied вывод:
[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 соотносятся справа налево, сопоставляя апс с их значками индикатора.