Takiuru aunoa ki nga huihuinga Lync i runga i te Linux

Hei Habr!

Ki ahau nei, he rite tenei kii ki te hello world, no te mea kua tae ahau ki taku whakaputanga tuatahi. I whakaroa ahau i tenei waa whakamiharo mo te wa roa, na te mea kaore he mea hei tuhi, kaore hoki au i pai ki te ngote i tetahi mea kua ngotehia i nga wa maha. I te nuinga, mo taku whakaputanga tuatahi i hiahia ahau ki tetahi mea taketake, whai hua ki etahi atu, me etahi momo wero me te whakaoti rapanga. Na inaianei ka taea e au te tiri i tenei. Inaianei me korero tatou mo nga mea katoa i runga i te raupapa.

urunga

I timata katoa i etahi wa i mua ka tango ahau i te Mint Linux ki taku rorohiko mahi. He maha nga tangata e mohio ana ko Pidgin me te Sipe mono he whakakapinga tino tika mo Microsoft Lync (kua kiia nei ko Skype mo te pakihi) mo nga punaha Linux. Na nga ahuatanga motuhake o aku mahi, he maha nga wa ka uru ahau ki nga huihuinga SIP, a, i a au e mahi ana i te Matapihi, he mea timatanga te kuhu ki nga huihuinga: ka tae mai he powhiri ma te mēra, pawhiria te hono takiuru, kua rite matou ki te haere .

I te wa e huri ana ki te taha pouri o Linux, kua tino uaua nga mea katoa: he pono, ka taea ano e koe te uru atu ki nga huihuinga i Pidgin, engari ki te mahi i tenei ka hiahia koe ki te kowhiri i te waahanga huihuinga huihuinga i roto i te tahua i roto i nga taonga o to putea SIP me te te matapihi e tuwhera ana, whakauruhia he hononga ki te huihuinga, whakauruhia ranei te ingoa o te kaiwhakahaere me te conf id. A i muri i etahi wa ka timata ahau ki te whakaaro: "Ka taea ranei te ngawari ki tenei?" Ae, ka kii pea koe, he aha te reinga e hiahia ana koe ki te noho i runga i te Matapihi, kaua e pupuhi i taku hinengaro.

Hipanga 1: Rangahau

"Ki te whiwhi koe i etahi hiahia i roto i to mahunga, kaore e taea e koe te patuki ki waho," ko ta Nekrasov te korero i roto i tana mahi "Ko wai e noho pai ana i Rus'."

Na, i te taenga mai o te whakaaro ki roto i toku mahunga, i muri i etahi wa ka ara ake te whakaaro tuatahi mo te whakatinanatanga. He ahua ngawari nga mea katoa - me haukoti te uru ki nga hononga meet.company.com/user/confid — whakauruhia he tukanga tono paetukutuku a-rohe ki runga i to waka i te 127.0.0.1 me te /etc/hosts taapirihia he urunga tuuturu mo te rohe o te kamupene e uru ai koe ki te huihuinga, me te tohu ki te localhost. I muri mai, me tukatuka e tenei tūmau tukutuku te hono i tae mai ki a ia me te whakawhiti i roto i te Pidgin (Ka kii tonu ahau i tenei wa kaore au i te mohio ki te hoatu ki a ia). Ko te otinga, he hongi ano he tootoo, engari he kaihōtaka matou, kare nga tootoo e mataku (shit).

Na, na te tupono noa, ka whakatuwherahia e au te hononga tono ki a Google Chrome (me te nuinga o nga wa ka whakamahi ahau i a Mozilla Firefox). A, i taku ohorere, he rereke te ahua o te wharangi paetukutuku - kaore he ahua mo te whakauru i nga raraunga kaiwhakamahi a i muri tonu i te urunga ki te wharangi ka puta he tono kia whakatuwherahia tetahi mea ma xdg-tuwhera. Mo te ngahau noa, ka paatohia e ahau "ae" ka puta he karere hapa - kaore e taea te whakatuwhera i te hono lync15:confjoin?url=https://meet.company.com/user/confid. Hmm. He aha te ahua o te xdg-tuwhera he aha te hiahia kia tuwhera ai enei hononga? I te panuitanga o nga tuhinga tupapaku i kitea he kaihautu GUI tera e awhina ana ki te whakahaere i nga tono e pa ana ki nga kawa mo te kaupapa uri me nga momo konae motuhake. Ka whirihorahia nga hononga ma te mahere momo mime. No reira ka kite matou kei te rapu tono mo te kaupapa uri kua whakaingoatia lync15 a ka tukuna te hono ki te xdg-tuwhera, na, i roto i te ariā, me tuku ki etahi tono kei a ia te kawenga mo tenei momo hononga. Ko te tikanga, kaore i roto i ta maatau punaha. Ki te kore, he aha ta ratou mahi i te ao tuwhera? Ka tika, ma tatou ano e tuhi.

Ko te rumaki atu ki te ao o Linux, ina koa ki te ako me pehea te mahi a te anga whakairoiro (te taiao papamahi, DE), na te mea kei a au te Xfce i te Linux Mint, i whakaatu ko nga tono me te momo mime e hono ana ki a ia ka tuhia tika ki roto. nga konae pokatata me te toronga .papamahi. Ana, he aha te take, ka hanga e ahau he pokatata tono ngawari, me whakarewa noa he tuhinga bash me te whakaputa i te tautohe ka tukuna ki te papatohu, ka tukuna e au te konae pokatata anake:

[Desktop Entry]
Name=Lync
Exec=/usr/local/bin/lync.sh %u
Type=Application
Terminal=false
Categories=Network;InstantMessaging;
MimeType=x-scheme-handler/lync15;

Ka whakarewahia e ahau te xdg-tuwhera mai i te papatohu, me te whakawhiti i te hononga kotahi ka puta mai i te tirotiro me te ... bummer. Ka kii ano kaore e taea e ia te whakahaere i te hono.

Ko te ahua, kaore au i whakahou i te raarangi o nga momo mime e hono ana me taku tono. Ka mahia tenei ma te whakahau ngawari:

xdg-mime default lync.desktop x-scheme-handler/lync15

ka whakatika noa i te konae ~/.config/mimeapps.list.

Ngana ki te nama 2 me te waea xdg-tuwhera - ka hinga ano. Kaore he mea, kaore nga uaua e mataku i a tatou, engari ka whakakaha noa to tatou hiahia. Na ka mau ki te mana katoa o te bash (ara te whai), ka ruku tuatahi matou ki te patuiro. He mea nui ki konei ko te xdg-tuwhera he tuhinga anga noa.

bash -x xdg-open $url

Ko te wetewete i te putanga i muri i te tirotiro ka tino marama ka whakawhitia te mana whakahaere ki exo-tuwhera. A, he konae takirua tenei, he uaua ake te maarama he aha te whakahoki i te waehere whakahoki kore angitu ina tukuna he hononga ki a ia i roto i te tautohetohe.

I te titiro ki roto o te xdg-tuwhera, ka kitea e au kei te taraihia e ia nga momo tawhā taiao me te tuku atu i te mana whakahaere ki etahi taputapu hei whakatuwhera i nga hononga konae motuhake ki tetahi DE, he mahi takahuri ranei. tuwhera_generic

open_xfce()
{
if exo-open --help 2>/dev/null 1>&2; then
exo-open "$1"
elif gio help open 2>/dev/null 1>&2; then
gio open "$1"
elif gvfs-open --help 2>/dev/null 1>&2; then
gvfs-open "$1"
else
open_generic "$1"
fi

if [ $? -eq 0 ]; then
exit_success
else
exit_failure_operation_failed
fi
}

Ka tere taku whakauru ki konei he hack iti me te tātaritanga o te tohenga kua pahemo me te mea kei reira to taatau waahanga iti lync15:, ka whakawhiti tonu matou i te mana ki te mahi tuwhera_generic.

Nganatanga nama 3 a ki to whakaaro i whai hua? Ae, inaianei, o te akoranga. Engari kua huri ke te karere hapa, kua ahu whakamua - inaianei kua kii mai ia ki ahau kaore i kitea te konae me te ahua o te konae i tuhia mai e ia te hononga kotahi i paahitia hei tautohetohe.

I tenei wa ka puta he mahi is_file_url_or_path, e tātari ana i te hononga konae i tukuna ki te whakauru: file:// ranei te ara ki te konae, ki tetahi atu mea ranei. A, kaore i tika te mahi o te haki na te mea he tau to tatou prefix (kaupapa url), a ko te kii auau ka tirotiro noa i te huinga ahua o :alpha: nga ira me nga tohu. Whai muri i te korero ki te paerewa rfc3986 mo pūtāutu rauemi kākahu I tino marama ko tenei wa kaore a Microsoft e takahi i tetahi mea (ahakoa he ahua penei taku). Ko te karaehe kiripuaki :alpha: kei roto anake nga reta o te reta Raina. Ka tere taku huri i te haki auau ki te alphanumeric. Ka oti, he mea whakamiharo koe, ka timata nga mea katoa, te whakahaere i muri i te tukuna o nga arowhai ki ta maatau tono tuhinga, ka whakaatuhia to maatau hono ki runga i te papatohu, kua rite nga mea katoa. I muri i tenei, ka timata ahau ki te whakapae ko nga raruraru katoa me te exo-tuwhera he tika ano mo te whakamana i te whakatakotoranga hono na nga nama kei roto i te kaupapa. Hei whakamatautau i te whakapae, ka huri ahau i te rehitatanga momo mime o te tono ki te kaupapa noa lync me te voila - ka mahi nga mea katoa me te kore e whakakore i te mahi open_xfce. Engari kaore tenei e awhina i a maatau, na te mea ko te whaarangi paetukutuku mo te urunga ki te huihuinga ka hangaia he hononga ki a lync15.

Na, kua oti te wahanga tuatahi o te haerenga. E mohio ana matou me pehea te haukoti i te waea hono katahi ka tika kia tukatukahia ka tukuna ki roto Pidgin. Kia mohio ai ahau me pehea te mahi o roto i te wa e whakauru ana i nga raraunga ma te hono ki te tahua "hono ki te huihuinga", ka kati ahau i te putunga Git o te kaupapa Sipe ka rite ahau ki te ruku ano ki te waehere. Engari, ko te waimarie, i aro ahau ki nga tuhinga kei roto i te raarangi takoha/dbus/:

  • sipe-join-conference-with-uri.pl
  • sipe-join-conference-with-organizer-and-id.pl
  • sipe-call-phone-number.pl
  • SipeHelper.pm

Ko te ahua kei te waatea te mono Sipe mo te taunekeneke ma te dbus (pahi papamahi) kei roto i nga tuhinga he tauira mo te uru atu ki tetahi huihuinga ma te hononga hono, ma te ingoa o te kaiwhakarite me te conf-id, ka taea ranei e koe te waea ma te sip. . Koinei tonu te mea i ngaro i a matou.

Hipanga 2. Te whakatinana i te kaihautu hono-aunoa

I te mea he tauira kua oti te hanga i Pearl, ka whakatau ahau ki te whakamahi noa sipe-join-conference-with-uri.pl me te whakarereke iti kia pai ai koe. Ka taea e au te tuhi ki roto i te Pearl, no reira kaore i tino raru.

I muri i te whakamatautau motuhake i te tuhinga, ka tuhia e ahau tana piiraa ki te konae lync.papamahi. A he wikitoria! Ka uru ana koe ki te wharangi hono mai i te huihuinga me te tuku i te xdg-tuwhera ki te whakahaere, ka tuwhera aunoa te matapihi pakūake hui mai i Pidgin. Ko taku koa i koa ai.
I whakatenatenahia e te angitu, i whakatau ahau ki te mahi pera mo taku kaitirotiro matua, Mozilla Firefox. Ina takiuru koe i roto i te pokiha, ka tuwhera he wharangi mo te whakamanatanga, kei raro rawa he paatene uru atu ma te whakamahi i te kaiwhakawhitiwhiti tari. Ko ia te mea i mau toku aro. Ka paatohia e koe i roto i te tirotiro, ka haere ki te wahitau:

conf:sip:{user};gruu;opaque=app:conf:focus:id:{conf-id}%3Frequired-media=audio

e kii mai ana ia ki ahau kaore ia e mohio ki te whakatuwhera, a, tera pea, karekau he tono e pa ana ki a au mo taua kawa. Kaati, kua pa kee tatou i tenei.

Ka rehita tere au i taku tono tuhinga mo te kaupapa uri conf a... karekau he mea e tupu. Kei te amuamu tonu te kaitirotiro kaore he tono hei whakahaere i aku hononga. I tenei keehi, ko te karanga xdg-tuwhera mai i te papatohu me nga tawhā ka mahi pai.

“Tautuhi kawa kawa ritenga ki te firefox” - I haere ipurangi ahau me tenei patai. Whai muri i te maha o nga korerorero mo te stackoverflow (a kei hea tatou me te kore), te ahua kua kitea te whakautu. Me hanga e koe he tawhā motuhake i roto e pā ana ki: whirihora (ko te whakakapi i te foo ki te conf):

network.protocol-handler.expose.foo = false

Ka waihangahia e matou, whakatuwheratia te hono me ... kaore he waimarie. Ko te kaitirotiro, me te mea kaore he mea i tupu, e kii ana kaore i te mohio ki ta maatau tono.

Kei te panui ahau i nga tuhinga whai mana mo te rehita i tetahi kawa mai i Mozilla, he whiringa ki te rehita i nga hononga ki te papamahi gnome ake (whakakapi i te foo me te conf, o te akoranga):

gconftool-2 -s /desktop/gnome/url-handlers/foo/command '/path/to/app %s' --type String
gconftool-2 -s /desktop/gnome/url-handlers/foo/enabled --type Boolean true

Ka rehita ahau, ka whakatuwhera i te kaitirotiro ... me te pahau ano.

Anei tetahi rarangi mai i nga tuhinga ka mau taku kanohi:

A muri ake ka paato koe i te hono o te momo kawa foo ka pataihia koe ko tehea tono hei whakatuwhera.

— Semyon Semenych
- Ahe

Kaore matou e paato i te hono, engari ka huri noa te wharangi paetukutuku window.location ma te javascript. Ka tuhi ahau i tetahi konae html ngawari me te hono ki te kawa conf, whakatuwheratia i roto i te tirotiro, paatohia te hono - Yos! Ka tuwhera he matapihi e patai ana ko tehea tono me whakatuwhera i ta maatau hono, kei reira kua ta maatau tono Lync ki te raarangi - kua rehita pono matou i nga huarahi katoa ka taea. Kei roto i te matapihi he pouakataki "mahara ki te whiriwhiri me te whakatuwhera i nga hononga i roto i ta maatau tono", tohuhia, paatohia te pai. A koinei te wikitoria tuarua - ka tuwhera te matapihi o te huihuinga. I te wa ano, ko te whakatuwhera i nga huihuinga kaore e mahi noa i te wa e paatohia ana e koe he hononga, engari ka neke mai i te wharangi hono e hiahia ana matou ki te huihuinga.

Na ka tirotirohia e ahau, ka whakakore i nga tawhā network.protocol-handler.expose.conf karekau i pa ki nga mahi o te kawa i Fox. I mahi tonu nga hononga.

mutunga

Kua tukuna e au aku mahi katoa ki te putunga GitHub kei te mutunga o te tuhinga nga hononga ki nga rauemi katoa.
Ka hiahia ahau ki te whiwhi urupare mai i te hunga e hiahia ana ki te whakamahi i aku mahi. Me mahara tonu ahau i mahia e au nga whanaketanga katoa mo taku punaha Linux Mint, na reira kaore pea etahi atu tohatoha, papamahi ranei e mahi i tera putanga. Engari, ka tino mohio ahau ki tenei, na te mea i 1 anake taku mahi i roto i te xdg-tuwhera e pa ana ki taku DE anake. Mena kei te pirangi koe ki te taapiri tautoko mo etahi atu punaha, papamahi ranei, tuhia mai nga tono toia ki a Github.

Kotahi te ahiahi ka oti te kaupapa katoa.

He Tohutoro:

Source: will.com

Tāpiri i te kōrero