어떤 응용 프로그램이 표시기 아이콘과 관련되어 있는지 어떻게 알 수 있습니까?


10

우분투 10.04 에서이 작업을 수행하는 것은 쉽지 않습니다. 이 질문은 Ubuntu 12.04에만 해당됩니다.

후속 조치에 세부 사항이 구현 된 dbus를 사용하는 구성 이 어떤 이유로 누락되어 다른 자아가 답을 구성했습니다 (사소하지만 다소 힘든 과정이 여기 에 설명되어 있습니다 ).

반응 에 관한는 gdbus유용하지만,이 응답은 매우 유용하다 - (무부하 시스템 오버 헤드는 이제 10 ~ 허용 가능한 %로 감소되었다).

일부 관련 참조
(SRC : 대답지표와 시스템 트레이 사이의 차이점은 무엇입니까? :
여기 지표에 대한 문서입니다 :

응용 지표 | 우분투 앱 개발자
libindicate 참조 매뉴얼
libappindicator 참조 매뉴얼

또한

심판 : 지표 아이콘을 만드는 응용 프로그램을 어떻게 식별 할 수 있습니까? (이 링크는 /ubuntu/184589/how-can-menu-bars-that-require-a-right-click-be-activated-like-ubuntu-versions로 부적절하게 리디렉션됩니다. )
bookmark : How does Ubuntu 12.04의 표시기 아이콘과 관련된 응용 프로그램을 찾으십니까?
아래에 요약 된 이유 및 문제에 대한 중대한 질문이며 중대한 투자가 이루어졌으며 개선 목적으로 필요합니다.


심판 검토. 오케스트레이션 해상도를 찾기 위해 ...
(표시기 ap. 표시기가 필요할 수 있음)


마우스 오른쪽 버튼으로 클릭 할 필요가 없습니다.

Ubuntu 12.04의 표시기 아이콘을 상단 패널의 표시를 담당하는 프로그램과 어떻게 일치시킬 수 있습니까?

실행중인 응용 프로그램 목록에는를 사용하는 모든 프로세스가 포함될 수 있습니다 System Monitor.

지표에 대한 올바른 일치 프로세스는 어떻게 찾습니까?

하위 표시기 응용 프로그램은 어떻게 식별됩니까? 이들은 지표 드롭 다운 메뉴의 구성 요소와 관련된 aps입니다. (이것은 별도의 질문이었으며 자연스럽게 진행 상황을 추적합니다. 하위 또는 지표 aps를 쉽게 위반할 수있는 프로비저닝이 없다는 것이 분명하기 때문에 여기에 포함됩니다.)

Xorg와 compiz는 과도한 CPU 시간을 필요로 할뿐만 아니라 주변 환경도 따라 와야합니다! 문제를 더욱 악화시키는-우리의 컴퓨팅 바운드 작업이 더 이상 현장에서 효과적으로 작동하지 않습니다-배터리 수명 감소, 맞춤형 ap.s의 CPU 시간 감소 등-이 모든 것은 배터리 ap에 무슨 일이 일어나고 있는지 조사한 결과입니다. 지표-이것은 플립 팬트, 수사학 또는 유휴 상태의 머싱이 아니며 생산 환경에서 오버 헤드의 부정적인 영향을 줄이기 위해 12.04의 신뢰할 수있는 배치의 결과를 초래합니다) 커스텀 앱 등의 CPU 시간 감소-이 모든 것은 배터리 AP에서 무슨 일이 일어나고 있는지 조사한 결과입니다. 지표-이것은 플립 팬트, 수사학 또는 유휴 상태의 머싱이 아니며 생산 환경에서 오버 헤드의 부정적인 영향을 줄이기 위해 12.04의 신뢰할 수있는 배치의 결과를 초래합니다) 커스텀 앱 등의 CPU 시간 감소-이 모든 것은 배터리 AP에서 무슨 일이 일어나고 있는지 조사한 결과입니다. 지표-이것은 플립 팬트, 수사학 또는 유휴 상태의 머싱이 아니며 생산 환경에서 오버 헤드의 부정적인 영향을 줄이기 위해 12.04의 신뢰할 수있는 배치의 결과를 초래합니다)

(배터리 표시기에 문제가 있습니다-때로는 %와 다른 시간이 있습니다 hh : mm-동일한 제어에 대한 자세한 정보를 얻으려면 ap. & v.를 알아야합니다. ditto : 다른 표시기 aps에 문제가 있습니다. : NM vs. iwlist / iwconfig 충돌, BT ap. vs RF 스위치, 불량한 배터리 런타임으로 인해 일시 중지 / 절전이없는 배터리 ap. ...

세부 정보 :
응용 프로그램 표시기 ID를 어떻게 찾을 수 있습니까?


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

배터리 ap를 해결합니다. rf 아이콘의 경우 NetworkManager이지만 nm는 envelope, blue tooth 및 speaker indicator aps입니다. 여전히 미스터리입니다. (주문은 상관되지 않습니다.)

과거에는 간단히 마우스 오른쪽 버튼을 클릭 About하여 ap를 찾을 수있는 옵션을 얻는 것이 간단했습니다 . & v. 정보.

둘러보고 둘러보기 :

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

검사 :
file : /// usr / share / indicators
file : /// usr / share / indicators / messages / applications /
...

아마도? / 아마도? 원하는 정보는
file : /// usr / share / indicators에 묻힐 수 있습니다

주석에 대한 참조는 다음과 같습니다.
표시기와 시스템 트레이의 차이점은 무엇입니까?
그 출처에서 인용 ...

불행히도 데스크탑 표시기는 아직 잘 문서화되어 있지 않습니다. 사양 문서를 찾을 수 없습니다 ...

글쎄 ... 실제 문서
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Summary
는별로 도움이되지 않지만 실존 정보는 상당한 통찰력을 제공합니다 ...


그 응용 프로그램은 ...?
Amos Annoy

"BT 표시기는 일반적으로 Blueman (또는 이와 유사한)에서 사용됩니다."-정확히 어떻게 알 수 있습니까? 어쩌면 "또는 비슷한"을 사용하고 있습니까? 이것은 도움 되지 않습니다-각 표시기와 관련된 응용 프로그램을 정확하게 결정하기 위해 시스템을 검사하는 방법을 정확하게 알려 주실 수 있습니까? unity-panel-service는 상기 환경의 표시에 책임이 있지만, 각 지표와 관련된 인구 신청은 어떻게 결정 되는가?
Amos Annoy

정확한 aps 때. : 같은 것을 목표로하고 있습니다 bluetooth-applet --help (bluetooth-applet:25165): BluetoothApplet-WARNING **: Applet is already running, exiting. - 메시징 표시 AP가 무엇을 할 수 있습니까? 그것은 아마도에서 드롭 다운 메뉴에 대한 그것의 내용을 검색합니다file:///usr/share/indicators/messages/applications/
아모스 성가 시게

당신이 인용 한 답변이 오래되었습니다. 업데이트했습니다. 도움이되기를 바랍니다.
Jorge Castro

TQ-희망 희망-지표 구조에 대한 좋은 아이디어를 얻음
Amos Annoy

답변:


3

응용 프로그램 표시기 서비스에는 DBus 주소를 포함하여 모든 표시기 목록을 가져올 수있는 내부 API가 있습니다. 이 명령 행을 사용하여이를 수행 할 수 있습니다.

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가 무엇인지 물어볼 수 있습니다. 다음 :1.123과 같은 PID를 요청하십시오 .

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 super Sweet
Amos Annoy

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\}\)[^]]*,\([^,]*\)\]/[\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", "", ]

두 번째 반복

(연결 확인 아이콘 포함)

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

이상적으로는 상주 aps 버전이 포함 된 통합 HAPI 아이콘 식별자 ap로 표시 패널을 채우는 bash 스크립트가 HTML 대신 버전 별 정보, 뉘앙스 및 특유의 기능을 쉽게 분리 할 수 ​​있습니다.
조지 로웰

롤링 rants는 두 가지 방법으로 나타납니다-두 번째 방법은 자연 언어로 첫 번째로 인공 언어가 예정되어 있으며 결과적으로 성가신 성가심으로 (불쾌하게) 결과적으로 성가신 성가심, 자극 또는 성가심에서 비롯됩니다. 익명으로)) 따라서 자아-아모스
Annoy

참고 : 표시기 전원 아이콘 필드가 약간 까다 롭고 관습 적이 지 않습니까? NM과 같은 아이콘이 바뀌는 아이콘을 포함한 다른 aps의 아이콘 이미지 데이터를 사용한 현장 사용과 비교
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하기가 쉽고 속성 값을 쉽게 나열 할뿐만 아니라 동일한 작업을 수행 할 수있는 GUI를 제공합니다.

다음 qdbus과 같이 사용하십시오 :

qdbus  --literal | sort

com.canonical.indicator.application출력에서 nl / w 를 선택하려면 세 번 클릭

...  
: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 historyuparrow repeat 명령으로 다음 명령을 작성하고 ( | 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. ...인터페이스 (시작에 나열 됨)로 참조되지만, 이것은 아마도 반드시 필요하지만 하위 메뉴 인디케이터 aps는 여전히 미확인입니다 :

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은 오른쪽에서 왼쪽으로 상관되며 aps를 표시기 아이콘과 일치시킵니다.


불행히도 aps는 잘못된 설치 및 결과적인 시스템 성능 저하를 식별 할 수있는 버전 번호를 갖지 못합니다. 손상된 시스템의 특정 버전을 포함하여 문제 표시기 aps를 추적하기 위해 수동으로 노동 집약적입니다. 정보 메뉴가 없을 때
george rowell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.