Hangi uygulamanın bir gösterge simgesiyle ilişkili olduğunu nasıl öğrenebilirim?


10

Bunu Ubuntu 10.04'te yapmak önemsizdir. Soru Ubuntu 12.04'e özgüdür.

İçinde uygulama ayrıntıları ile dbus kullanan bir kompozisyon takibinde bir benliği oluşan bu yüzden nedense eksik cevabı (önemsiz ama biraz zahmetli süreç anlatılmıştır burada ).

Bu yanıt ile ilgili olarak gdbusfaydalıdır, ancak bu cevap süper yararlıdır - (pasif sistem yükü artık 10 ° olarak kabul edilebilir bir% düşürüldü).

Bazı ilgili referanslar
(src: cevabı için göstergeler ve bir sistem tepsisinde arasındaki fark nedir? :
Burada göstergeler için belgelerdir:

Uygulama göstergeleri | Ubuntu App Developer
libindicate Başvuru Kılavuzu
libappindicator Başvuru Kılavuzu

Ayrıca

ref: Bir gösterge simgesi yapan uygulama nasıl tanımlanabilir? (Bu bağlantı uygunsuz yönlendirir /ubuntu/184589/how-can-menu-bars-that-require-a-right-click-be-activated-like-ubuntu-versions )
imi: How does bir uygulama hangi Ubuntu 12.04 bir gösterge simgesi ile ilişkili olduğunu öğrenmek?
aşağıda özetlenen ve önemli bir yatırımın yapıldığı ve iyileştirme amaçları için gerekli olan nedenler ve sorunlar için ciddi bir sorudur.


ref'leri gözden geçirmek. düzenlenmiş bir çözünürlük bulmak için ...
(bir gösterge gösterge göstergesi gerekebilir)


Bunun sağ tıklama ile hiçbir ilgisi yoktur (değil mi?).

Ubuntu 12.04'teki bir göstergenin simgesi, üst paneldeki tezahüründen sorumlu programla nasıl eşleştirilebilir?

Çalışan uygulamaların listesi, kullanan tüm işlemleri içerebilir System Monitor.

Bir gösterge için doğru eşleme süreci nasıl bulunur?

Alt gösterge uygulamaları nasıl belirlenir? Bunlar, bir gösterge açılır menüsünün bileşenleri ile ilişkili aps'lerdir. (Bu ayrı bir soru olacaktı ve ilerlemeyi oldukça doğal bir şekilde takip edecekti. Alt veya gösterge yardımcılarını kolayca rahatsız edecek bir izlemenin olmadığı açıktır.)

Bazı beklenen cinleri ve nm-applet gibi arka plan görevleri ile karıştırılır - sadece Xorg ve compiz aşırı CPU zamanı gerektirmez, aynı zamanda çevreleri de gelmelidir! problemi daha da kötüleştirmek - bilgi işlemle ilgili görevlerimiz artık sahada etkili bir şekilde çalışmaz - pil ömrünü kısaltır, özel ap'ler vb. için daha kısa CPU süresi - ve tüm bunlar pil ap'de neler olup bittiğinin incelenmesinden kaynaklanır. göstergesi - bu, saygısız, retorik veya atıl bir tavırdı ve değildi, ancak üretim ortamındaki ek yükünün olumsuz etkisini azaltmak için 12.04'ün güvenilir bir şekilde konuşlandırılmasıyla ilgili sonuçları vardır) özel uygulamalar vs. için daha az CPU zamanı - ve tüm bunlar pil ap ile neler olup bittiğinin incelenmesinden kaynaklandı. göstergesi - bu, saygısız, retorik veya atıl bir tavırdı ve değildi, ancak üretim ortamındaki ek yükünün olumsuz etkisini azaltmak için 12.04'ün güvenilir bir şekilde konuşlandırılmasıyla ilgili sonuçları vardır) özel uygulamalar vs. için daha az CPU zamanı - ve tüm bunlar pil ap ile neler olup bittiğinin incelenmesinden kaynaklandı. göstergesi - bu, saygısız, retorik veya atıl bir tavırdı ve değildi, ancak üretim ortamındaki ek yükünün olumsuz etkisini azaltmak için 12.04'ün güvenilir bir şekilde konuşlandırılmasıyla ilgili sonuçları vardır)

(Pil göstergesiyle ilgili bir sorunum var - bazen% ve diğer süreler ss: dd - var. Bunu kontrol etmek hakkında daha fazla bilgi almak için ap. : NM ve iwlist / iwconfig çakışması, BT ap., RF anahtarı, Pil ap. Zayıf pil çalışma süresi için askıya alma / uyku yok, ...

Ayrıntılar:
Uygulama Göstergesi Kimliklerini nasıl bulabilirim?


şuna bakmanızı önerir: dosya: ///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

pili çözen ap. kimlik ve muhtemelen nm rf simgesi için NetworkManager, ancak zarf, mavi diş ve hoparlör göstergesi aps. hala bir sır. (Ayrıca, sıralama ilişkili değildir.)

Dikkat edin, geçmişte basitçe sağ tıklamak Aboutap bulmak için almak için basitti . & v. bilgi.

etrafında ve hakkında tarama:

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

incelenen:
dosya: /// usr / share / Göstergeler
dosya: /// usr / share / göstergeler / mesajlar / uygulamalar /
...

belki? / tahminen? aranan bilgiler şu
dosyaya gömülebilir : /// usr / share / Göstergeler

Yorumlarda bir referans verilmiştir:
Göstergeler ve sistem tepsisi arasındaki fark nedir?
bu kaynaktan alıntı yapılıyor ...

Ne yazık ki masaüstü göstergeleri henüz iyi belgelenmemiş: Herhangi bir şartname dokümanı bulamadım ...

Şey ... asıl belge
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Summary
pek yardımcı olmuyor ama varoluş bilgisi önemli bilgiler sağlıyor ...


ve bu uygulama ...?
Amos Annoy

"BT göstergesi genellikle Blueman (veya benzeri) tarafından kullanılır" - ama tam olarak nasıl bilebilirim? belki "ya da benzeri" kullanıyorum? bu yardımcı olmuyor - her bir göstergeyle hangi uygulamanın tam olarak ilişkili olduğunu kesin olarak belirlemek için sistemimi tam olarak nasıl inceleyeceğimi söyleyebilir misiniz? birlik paneli hizmeti söz konusu ortamın tezahüründen sorumludur, ancak her bir göstergeyle ilişkilendirilen nüfus uygulamaları nasıl belirlenir?
Amos Annoy

ne zaman doğru aps. gibi şeyler bluetooth-applet --help (bluetooth-applet:25165): BluetoothApplet-WARNING **: Applet is already running, exitingyapılabilir : yapılabilir - Mesaj Göstergesi ap. nedir? muhtemelen aşağı açılır menü için içeriğini alır:file:///usr/share/indicators/messages/applications/
Amos Annoy

Alıntıladığınız cevap güncel değil, güncelledim, umarım yardımcı olur.
Jorge Castro

TQ - Umarım - gösterge yapısı hakkında iyi bir fikir edinmek
Amos Annoy

Yanıtlar:


3

Uygulama Göstergesi Hizmeti, DBus adreslerini içeren tüm göstergelerin bir listesini yakalamaya izin veren dahili bir API'ye sahiptir. Bunu şu komut satırını kullanarak yapabilirsiniz:

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

Psuedo-JSON biçiminde olduğu için süper kullanışlı olmayan bir şeyi geri alırsınız. Bir komut dosyası yazarsanız, onu bir ayrıştırıcıya çekebilir ve onunla çalışabilirsiniz. Sadece bir kez yapmayı merak ediyorsanız, metni okuyun. :1.XXX Şöyle bir alan arıyorsunuz: Göstergenin DBus adresi budur.

Gösterge için adresiniz olduğunda, DBus'a bu gösterge için PID'nin ne olduğunu sorabilirsiniz. PID'yi şu şekilde talep edersiniz :1.123:

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

PID'ye sahip olduktan sonra /proc, süreç hakkında bilgi isteyebilirsiniz . Örneğin, işlem numarasını başlatmak için kullanılacak komutu bilmek 1isterseniz şunları yapabilirsiniz:

cat /proc/1/cmndline

İyi şanslar!


tatlı! - hakkında bilmiyordum gdbusbir üst düzey arayüz var umuyordum! - henüz bir API (Uygulama Paneli göstergesi) olmasa da - "bunu yapmak" zor olmamalı - bunu yakında yapılacak bir anlaşma haline getirmeyi umuyoruz - PS süper tatlı
Amos Annoy

2

1. yineleme

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

üreten:

[  -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. iterasyon

(ilişkilendirmeyi onaylayan simgelerle)

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

üreten:

hapi.png

hapi.html (hücre siyah arka planı olmadan):

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

Onaylandı: [crud], simge resim verileri 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

İdeal olarak, HTML yerine, gösterge panelini yerleşik aps'nin sürümünü içeren entegre bir HAPI simge tanımlayıcısı ap ile dolduran bir bash betiği, sürüme özgü bilgilerin, nüansların ve kendine özgü işlevselliğin izole edilmesini kolaylaştıracaktır.
george rowell

haddeleme rantları 2 şekilde tezahür eder - 2. yol burada 1'de belirtilen yapay dil, doğal dil ile ve genellikle anonim olarak (anonim olarak) (yani koşulsuz, tanımlanamayan ap'ler ve sürümler) rahatsızlık, tahriş veya sıkıntıdan çöktü anonim annoy) böylece alter ego - Amos
Annoy

Not: gösterge gücü simgesi alanı biraz sakat ve alışılmadık mı? diğer aps ile simge görüntü verileri w / alan kullanımı ile karşılaştırıldığında - hatta NM gibi simgeleri değişen olanlar
george rowell

2

Ne yazık ki -

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

tüm gösterge simgelerini veya alt göstergelerini kapsamlı bir şekilde numaralandırmaz. MI (mesajlaşma göstergesi) menüsü birkaç alt gösterge iletişim yardımcısıyla arayüz oluşturur. listelenmiyor. Ayrıca güç, ses ve saat göstergesi bilgileri de eksik.

qdbuskullanımı daha basittir ve d-feetaynı şekilde bir GUI sağlar ve özellik değerlerini kolayca listeler.

qdbusAşağıdaki gibi kullanın :

qdbus  --literal | sort

com.canonical.indicator.applicationçıkışta w / nl seçmek için üç kez tıklayın

...  
: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 historyYukarı doğru tekrarlama komutuyla bir sonraki komutu oluşturun ( | sort sadece bırakmak için silin qdbus --literal) ve komutu tamamlamak için orta fare düğmesine basın:

qdbus  --literal  com.canonical.indicator.application

Son satırı üç kez tıklayın

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

Aşağıdakileri oluşturmak için tekrarlama geçmişi yukarı tuşuna, boşluk çubuğuna ve orta fare düğmesine basın:

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

Çıktıda istenen yöntemi seçmek için çift tıklayın ve komutu oluşturmak için yukarı doğru, boşluk çubuğuna ve orta fare düğmesine basın ve çalıştırmak için enter tuşuna basın. (bu örnekte açıklık sağlamak için \ line devamı eklenmiştir):

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

Bu sadece BT ve NM gösterge bilgilerini verir (burada gösterim için oldukça basılmıştır)

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

Diğer göstergelere diğer com.canonical.indicator. ...arabirimler (başlangıçta listelenir) olarak atıfta bulunulur , ancak bu muhtemelen zorunludur, ancak alt menü gösterge aps hala tanımlanmamıştır:

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

çok fazla kabalık olsa da (muhtemelen simge resim bitleri) budanmış ve önceden yapılmış çıktı:

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

Not: 600, 550, 500, 450, 300, 250, 200 sonlandırma sayıları, aps'yi gösterge simgeleriyle eşleştirerek, sağdan sola ilişkilidir.


ne yazık ki aps, kötü amaçlı yüklemeleri ve sonuçta oluşan sistem bozulmasını tanımlamak için sürüm numaraları ile nitelikli değildir - güvenliği ihlal edilmiş sistemlerde belirli sürümleri ile rahatsız edici gösterge aps'lerini izlemek manüel olarak yoğun bir iştir - Herkes bunları tanımlamak için uygun bir yol biliyor mu? Hakkında menüleri eksik olduğunda?
george rowell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.