Otometi saini i Lync konafesi i Linux

Ei Habr!

Mo aʻu, o lenei fasifuaitau e tutusa ma talofa lalolagi, talu ai na iu lava ina ou oʻo i laʻu lomiga muamua. Na ou tolopoina lenei taimi matagofie mo se taimi umi, talu ai e leai se mea e tusi e uiga i ai, ma ou te le manao foi e miti i se mea ua uma ona susu i le tele o taimi. I se tulaga lautele, mo laʻu lomiga muamua sa ou manaʻo i se mea muamua, aoga i isi ma o loʻo i ai se ituaiga o luʻitau ma faʻafitauli faʻafitauli. Ma o lea ua mafai ona ou faasoa atu lenei mea. Ia tatou talanoa nei i mea uma i le faasologa.

ulufalega

Na amata uma i se taimi ua mavae na ou sii maia le Linux Mint i laʻu komepiuta faigaluega. E toʻatele tagata atonu latou te iloa o Pidgin ma le Sipe plugin o se sui atoatoa mo Microsoft Lync (lea ua taʻua nei o Skype mo pisinisi) mo faiga Linux. Ona o faʻamatalaga patino o laʻu galuega, e masani ona ou auai i fonotaga a le SIP, ma a o avea aʻu ma tagata faigaluega Windows, o le ulufale atu i konafesi sa tulagalua: matou te mauaina se valaaulia e ala i meli, kiliki i luga o le fesoʻotaʻiga saini, ma ua matou sauni e alu. .

Pe a fesuiaʻi i le itu pogisa o Linux, o mea uma na sili atu ona faigata: ioe, e mafai foi ona e ulufale i totonu o konafesi i Pidgin, ae ia faia lenei mea e te manaʻomia le filifilia o le filifiliga auai i le konafesi i le lisi i meatotino o lau SIP account ma i le faʻamalama e matala, faʻapipiʻi se fesoʻotaʻiga i le konafesi pe faʻapipiʻi le igoa o le faʻatulagaina ma faʻamaonia. Ma ina ua mavae sina taimi sa amata ona ou mafaufau: "e mafai ona faafaigofieina lenei mea?" Ioe, atonu e te fai mai, aisea e te manaʻomia ai lenei mea? E sili atu loʻu nofo i luga o Windows ae le faʻafefe loʻu mafaufau.

Laasaga 1: Suesuega

"Afai e te maua se manaʻoga i lou ulu, e le mafai ona e tuʻituʻi i fafo i se siteki," o le tala lea a Nekrasov i lana galuega "O Ai e Ola Lelei i Rusia."

O lea la, o le taimi lava na oʻo mai ai le manatu i loʻu ulu, ina ua mavae sina taimi na tulaʻi mai ai le manatu muamua mo le faʻatinoga. Na foliga faigofie mea uma - e tatau ona e faʻalavelaveina le avanoa i soʻotaga meet.company.com/user/confid - faʻapipiʻi se faiga faʻaoga i luga ole laiga i luga o lau taʻavale ile 127.0.0.1 ma i totonu /etc/hosts faʻaopoopo se faʻamatalaga faʻapitoa mo le kamupani kamupani lea e te ulufale ai i le konafesi, faʻasino ile localhost. O le isi, e tatau i lenei 'upega tafaʻilagi ona faʻagasolo le fesoʻotaʻiga na oʻo mai i ai ma faʻafeiloaʻi i totonu o Pidgin (O le a ou fai atu i le taimi lava lea o le taimi nei ou te leʻi iloa pe faapefea ona tuʻuina atu i ai). O le fofo, o le mea moni, e manogi pei o tootoo, ae o matou o tagata fai polokalame, tootoo e le fefefe ai i matou (shit).

Ona, faʻafuaseʻi, na ou tatalaina le fesoʻotaʻiga valaaulia i Google Chrome (ma e masani ona ou faʻaaogaina Mozilla Firefox). Ma i loʻu teʻi, o le itulau i luga o le upega tafaʻilagi e matua ese lava - e leai se faʻailoga mo le faʻapipiʻiina o faʻamatalaga a le tagata faʻaoga ma i le taimi lava na ulufale ai i le itulau sa i ai se talosaga e tatala se mea e ala i xdg-tatala. Na'o le malie, ou te kiliki "ioe" ma o loʻo aliali mai se feʻau sese - o le sootaga lync15:confjoin?url=https://meet.company.com/user/confid e le mafai ona tatalaina. Hmm. O le a le ituaiga xdg-tatala lenei ma o le a le mea e manaʻomia ina ia mafai ai ona tatalaina ia sootaga? O le faitauina o fa'amaumauga o fa'amaumauga na fa'ailoa mai ai o se GUI e fa'afoeina e fesoasoani i le fa'atinoina o talosaga e feso'ota'i pe fa'atasi ai ma fa'atonuga mo le faiga o le uri po'o fa'asologa o faila fa'apitoa. O fa'alāpotopotoga e fa'atulagaina e ala i fa'afanua fa'a-mime. O lea matou te vaʻai ai o loʻo matou faʻatautaia se sailiga mo se talosaga fetaui mo se polokalame uri e taʻua lync15 ma o le fesoʻotaʻiga e tuʻuina atu i le xdg-tatala, lea, i le teori, e tatau ona pasi atu i se talosaga e nafa ma lenei ituaiga o fesoʻotaʻiga. Le mea, ioe, tatou te le maua i la tatou polokalama. Afai e leai, o le a la le mea latou te faia i le lalolagi tatala? E sa'o, o le a tatou tusia e i tatou lava.

O le faʻatofuina atili i le lalolagi o Linux aemaise lava i le suʻesuʻeina pe faʻafefea ona galue le atigi faʻataʻitaʻi (desktop environment, DE), i le ala, o loʻo ia te aʻu le Xfce i le Linux Mint, na faʻaalia ai o talosaga ma le mime-type e masani ona tusia saʻo i totonu. faila pupuu ma le fa'aopoopoga .desktop. Ia, aisea e leai ai, ou te fatuina se ala pupuu faigofie, lea e tatau ona naʻo le faʻalauiloaina o se tusi bash ma faʻaalia le finauga na tuʻuina atu i le faʻamafanafanaga, ou te tuʻuina atu naʻo le faila alalaupapa lava ia:

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

Ou te faʻalauiloaina le xdg-tatala mai le faʻamafanafanaga, pasi le fesoʻotaʻiga tutusa e sau mai le suʻega ma ... bummer. Toe fai mai e le mafai ona faʻagasolo le soʻotaga.

E pei ona aliali mai, ou te leʻi faʻafouina le lisi o mime-ituaiga faʻatasi ma laʻu talosaga. E faia lenei mea i se poloaiga faigofie:

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

lea na'o le fa'asa'oina o le faila ~/.config/mimeapps.list.

Taumafai numera 2 ma le xdg-tatala valaau - ma toe toilalo. Leai se mea, o faigata e le fefefe ai i tatou, ae na o le faaosofiaina o lo tatou fiafia. Ma faʻaauupegaina i le malosi uma o le bash (e pei o le suʻeina), matou te faʻaulu muamua i le debugging. E taua le maitauina iinei o le xdg-open ua na o se atigi tusitusiga.

bash -x xdg-open $url

O le su'esu'eina o le mea e maua pe a uma ona su'eina e fa'amanino teisi o le fa'atonu e fa'asolo atu i exo-tatala. Ma o lea ua leva ona fai ma faila faila ma e sili atu ona faigata ona malamalama pe aisea e toe faʻafoʻi ai se code toe foʻi le manuia pe a pasi se fesoʻotaʻiga i se finauga.

I le vaʻavaʻai atu i totonu o le xdg-tatala, na ou iloa ai o loʻo suʻesuʻeina le tele o faʻataʻitaʻiga o le siosiomaga ma pasi atu le faʻatonuga i nisi meafaigaluega mo le tatalaina o faila faila faʻapitoa i se DE faapitoa, pe o loʻo i ai se galuega faʻafoʻi. open_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
}

O le a vave ona ou faʻapipiʻiina iinei se tamai hack ma auʻiliʻiliga o le finauga ua pasia ma pe afai o loʻo i ai iina le matou substring patino lync15:, ona matou tuʻuina atu lea o le pule i le galuega open_generic.

Taumafai numera 3 ma e te manatu na aoga? Ioe, i le taimi nei, ioe. Ae o le savali sese ua uma ona suia, o lea ua alualu i luma - o lea ua ia taʻu mai ia te aʻu e le o maua le faila ma i le tulaga o se faila na ia tusi mai ia te aʻu le sootaga tutusa na pasia o se finauga.

O le taimi lea na fa'aalia ai o se galuega is_file_url_or_path, lea e suʻesuʻe ai le fesoʻotaʻiga faila na pasi atu i le faʻaoga: faila: // poʻo le ala i le faila poʻo se isi mea. Ma e le'i sa'o lelei le siaki ona o le mea moni o le tatou prefix (url scheme) e iai numera, ma o le fa'aaliga masani e na'o le siakiina o le seti amio e aofia ai :alpha: togitogi ma vase. Ina ua uma ona feutagai le rfc3986 tulaga mo fa'ailoga punaoa tutusa Na manino mai o le taimi lenei e le o solia e Microsoft se mea (e ui lava sa i ai saʻu faʻaaliga). Na'o le vasega amio :alpha: e na'o mata'itusi o le alafapeta Latina. Ou te vave suia le siaki masani i le alphanumeric. Maea, e te ofoofogia, o mea uma lava e amata, pulea pe a uma siaki uma e tuʻuina atu i la matou tusi talosaga, o loʻo faʻaalia la matou sootaga i luga o le faʻamafanafanaga, o mea uma e pei ona tatau ai. A maeʻa lenei mea, ua amata ona ou masalomia o faʻafitauli uma i le exo-tatala e mafua mai foi i le faʻamaoniaina o le faʻasologa o fesoʻotaʻiga ona o numera i le polokalame. Ina ia faʻataʻitaʻiina le manatu, ou te suia le resitalaina o le mime-type o le talosaga i se polokalame lync ma voila - e aoga mea uma e aunoa ma le faʻaogaina o le open_xfce galuega. Ae o le a le fesoasoani lenei mea ia i tatou i soo se auala, aua o le itulau web mo le ulufale atu i le konafesi e fatuina ai se sootaga ma lync15.

O lea la, ua maeʻa le vaega muamua o le faigamalaga. Matou te iloa le faʻafefeina o se fesoʻotaʻiga telefoni ona manaʻomia lea ona faʻagasolo ma pasia i totonu o Pidgin. Ina ia malamalama pe faʻapefea ona galue i totonu pe a tuʻuina atu faʻamatalaga e ala i se fesoʻotaʻiga i le lisi o le "auai i se konafesi", na ou faʻapipiʻiina le Git repository o le poloketi Sipe ma sauni e toe suʻe i totonu o le code. Ae o le mea e lelei ai, na tosina au i tusitusiga i le lisi saofaga/dbus/:

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

E aliali mai o loʻo avanoa le Sipe plugin mo fegalegaleaiga e ala i le dbus (pasi komepiuta) ma i totonu o tusitusiga o loʻo i ai faʻataʻitaʻiga o le auai i se konafesi e ala i se fesoʻotaʻiga, pe ala i le igoa ole faʻatulagaina ma conf-id, pe mafai foi ona e amataina se telefoni e ala ile sip. . O le mea tonu lea na matou misia.

Laasaga 2. Faʻatinoina o se faʻapipiʻi autosoin

Talu ai o loʻo i ai ni faʻataʻitaʻiga ua saunia i Pearl, na ou filifili e faʻaaoga sipe-join-conference-with-uri.pl ma sui teisi ina ia fetaui ma oe. E mafai ona ou tusitusi i Penina, o lea e leʻi tupu ai ni faʻafitauli faapitoa.

Ina ua uma ona suʻeina le faʻamatalaga eseese, na ou tusia lona valaau i totonu o le faila lync.desktop. Ma o se manumalo! A e ulufale atu i le konafesi auai i le itulau ma faʻatagaina le xdg-tatala e tamoʻe, o le faamalama popup o le konafesi mai Pidgin o le a tatalaina otometi. E maeu lo'u olioli.
O le faʻamalosia i le manuia, na ou filifili ai e faia le mea lava e tasi mo laʻu suʻesuʻega autu, Mozilla Firefox. A e saini i totonu o le fox, e matala se itulau mo le faatagaga ma i le pito i lalo o loʻo i ai se faamau auai i le faaaogaina o fesootaiga ofisa. O ia lea na ou tosina atu i ai. A e kiliki i luga i le browser, e alu i le tuatusi:

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

lea na te taʻu mai ai ma le agalelei ia te aʻu na te le iloa pe faapefea ona tatala ma, masalo, e leai saʻu talosaga e fesoʻotaʻi mo sea faʻasalalauga. Ia, ua uma ona tatou uia lenei mea.

Ou te vave resitalaina foi la'u tusi talosaga mo le polokalame uri conf ma... e leai se mea e tupu. O lo'o faitio pea le su'esu'e e leai se talosaga e fa'atautaia a'u so'oga. I lenei tulaga, valaʻau xdg-tatala mai le faʻamafanafanaga faʻatasi ai ma faʻamaufaʻailoga e galue lelei.

“Fa'atu le fa'atonu masani ile firefox" - Na ou alu i luga ole laiga ma le fesili lea. Ina ua uma ona faia ni talanoaga i luga o le stackoverflow (ma o fea o le a tatou i ai e aunoa ma lea), e foliga mai na maua le tali. E tatau ona e fatuina se parakalafa faapitoa i e uiga i: config (ioe sui foo ile conf):

network.protocol-handler.expose.foo = false

Matou te fatuina, tatala le sootaga ma ... leai se laki. O le browser, e pei e leai se mea na tupu, fai mai e le iloa la matou talosaga.

O loʻo ou faitauina faʻamaumauga aloaia i luga o le resitalaina o se faʻasalalauga mai Mozilla, o loʻo i ai se filifiliga e resitalaina faʻalapotopotoga i le gnome desktop lava ia (suia foo i le conf, ioe):

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

Ou te lesitala, tatala le browser ... ma toe fai le 'ava.

O se laina mai le faʻamaumauga e puʻeina laʻu mata:

O le isi taimi e te kiliki ai se so'otaga o le protocol-type foo o le a fesiligia oe poo le fea talosaga e tatala ai.

— Semyon Semenych
- Ah

Matou te le kiliki i luga o le soʻotaga, ae naʻo le suiga o le itulau web window.location e ala i le javascript. Ou te tusia se faila html faigofie ma se sootaga i le conf protocol, tatala i le browser, kiliki i luga o le sootaga - Yos! E matala se faamalama e fesili ai po o le fea talosaga tatou te manaʻomia e tatala ai la tatou soʻotaga, ma o iina ua uma ona i ai le matou talosaga Lync i le lisi - matou te faʻamaonia ma le faamaoni i auala uma e mafai ai. O iina i le faamalama o loʻo i ai se pusa siaki "manatua le filifiliga ma tatala soo fesoʻotaʻiga i la matou talosaga", faʻailoga, kiliki le lelei. Ma o le manumalo lona lua lea - ua tatala le faamalama o le konafesi. I le taimi lava e tasi, o le tatalaina o konafesi e galue e le gata pe a e kiliki i luga o se fesoʻotaʻiga, ae faʻapea foi pe a alu ese mai le itulau tuʻufaʻatasia matou te manaʻomia i le konafesi.

Ona ou siaki lea, tapeina parakalafa network.protocol-handler.expose.conf e leʻi aʻafia ai le faʻaogaina o le protocol i Fox. Sa faaauau pea ona galue sooga.

iʻuga

Ua ou lafoina uma laʻu galuega i le GitHub repository; sootaga i punaoa uma o le ai ai i le faaiuga o le tusiga.
O le a ou fiafia i le mauaina o faʻamatalaga mai ia i latou e fia faʻaogaina laʻu galuega. E tatau ona ou vave matauina na ou faia uma atinaʻe mo naʻo laʻu Linux Mint system, o lea o isi tufatufaga poʻo komepiuta atonu e le aoga i lena lomiga. Pe sili atu, e toetoe lava a ou mautinoa i lenei mea, aua na ou faʻapipiʻiina naʻo le 1 galuega i le xdg-tatala e faʻatatau i laʻu DE. Afai e te manaʻo e faʻaopoopo le lagolago mo isi faiga poʻo komepiuta, tusi mai ia te aʻu e toso talosaga ile Github.

E 1 le afiafi e faamaea ai le galuega atoa.

Faʻamatalaga:

puna: www.habr.com

Faaopoopo i ai se faamatalaga