Ho kena ka boiketsetso likopanong tsa Lync ho Linux

Hey Habr!

Ho 'na, poleloana ena e tšoana le lefats'e la hello, kaha qetellong ke ile ka fihla khatisong ea ka ea pele. Ke ile ka tlohela nako ena e babatsehang ka nako e telele, kaha ho ne ho se letho leo nka ngolang ka lona, ​​hape ke ne ke sa batle ho anyesa ntho e seng e ntse e anngoe ka makhetlo a mangata. Ka kakaretso, khatisong ea ka ea pele ke ne ke batla ntho ea mantlha, e molemo ho ba bang, e nang le phephetso le ho rarolla mathata. Mme jwale nka arolelana sena. Joale a re bue ka ntho e 'ngoe le e' ngoe ka tatellano.

ho kena

Tsohle li qalile ha nakoana e fetileng ke khoasolla Linux Mint komporong ea ka ea mosebetsi. Mohlomong batho ba bangata baa tseba hore Pidgin e nang le Sipe plugin ke sebaka se loketseng ka ho fetesisa bakeng sa Microsoft Lync (eo hona joale e bitsoang Skype bakeng sa khoebo) bakeng sa litsamaiso tsa Linux. Ka lebaka la lintlha tse tobileng tsa mosebetsi oa ka, hangata ke tlameha ho nka karolo likopanong tsa SIP, 'me ha ke ne ke le mosebeletsi oa Windows, ho kena likopanong e ne e le ntho ea motheo: re fumana memo ka poso, tobetsa sehokelo sa ho kena,' me re se re loketse ho ea. .

Ha u fetohela lehlakoreng le lefifi la Linux, ntho e 'ngoe le e' ngoe e ile ea rarahana le ho feta: ehlile, o ka boela oa kena likopanong tsa Pidgin, empa ho etsa sena o hloka ho khetha khetho ea ho kenela kopano ho menu ea thepa ea akhaonto ea hau ea SIP le fensetereng e butsoeng, kenya sehokelo sa kopano kapa kenya lebitso la mohlophisi le conf id. 'Me ka mor'a nako e itseng ke ile ka qala ho nahana: "na ho ka khoneha ho nolofatsa see ka tsela e itseng?" E, u ka re, ke hobane'ng ha lihele li hloka see?

Mohato oa 1: Patlisiso

"Haeba u na le maikutlo a itseng ka hloohong ea hau, u ke ke ua e otla ka thupa," Nekrasov o itse bukeng ea hae "Who Live Well in Rus".

Kahoo, hang ha mohopolo o kena hloohong ea ka, ka mor'a nako e itseng khopolo ea pele ea ts'ebetsong e ile ea hlaha. Ntho e ngoe le e ngoe e ne e bonahala e le bonolo - o hloka ho thibela phihlello ea lihokelo meet.company.com/user/confid - kenya ts'ebetso ea kopo ea sebaka sa marang-rang koloing ea hau ho 127.0.0.1 'me ho /etc/hosts eketsa ho kena ho tsitsitseng bakeng sa domain name ea k'hamphani eo u kenang kopanong ka eona, e supa ho localhost. Ka mor'a moo, seva sena sa marang-rang se tlameha ho sebetsana le sehokelo se tlileng ho sona 'me ka tsela e itseng se se fetise ka hare ho Pidgin (ke tla re hang-hang hore sethaleng sena ke ne ke ntse ke sa tsebe hore na nka e fa eona ho hang). Tharollo, ha e le hantle, e nkha joaloka lithupa, empa re baetsi ba mananeo, lithupa ha li re tšose (shit).

Joale, ka monyetla, ka tsela e itseng ke ile ka bula sehokelo sa memo ho Google Chrome ('me hangata ke sebelisa Mozilla Firefox kamehla). 'Me ho makaleng ha ka, leqephe la websaete le ne le shebahala le fapane ka ho feletseng - ho ne ho se na mokhoa oa ho kenya data ea mosebedisi mme hang ka mor'a ho kenya leqephe ho ne ho e-na le kopo ea ho bula ntho e itseng ka eona. xdg-bulehileng. Bakeng sa ho ithabisa feela, ke tobetsa "ee" 'me molaetsa oa phoso oa hlaha - sehokelo lync15:confjoin?url=https://meet.company.com/user/confid e ke ke ea buloa. Hmm. Ke mofuta ofe oa xdg-open ee 'me e hloka eng hore lihokelo tse joalo li bulehe? Ho bala ka mor'a lefu la tokomane ho senotse hore ke GUI e sebetsang e thusang ho tsamaisa lits'ebetso tse amanang le tsona ka liprothokholo tsa moralo oa uri kapa ka mefuta e itseng ea lifaele. Mekhatlo e lokisoa ka mokhoa oa ho etsa 'mapa oa mofuta oa mime. Kahoo rea bona hore re ntse re etsa patlo bakeng sa kopo e ts'oanang ea morero oa uri o bitsoang lync15 'me sehokelo se fetisetsoa ho xdg-open, eo ka nako eo, ka khopolo, e lokelang ho e fetisetsa ho ts'ebeliso e itseng e ikarabellang bakeng sa mofuta ona oa sehokelo. E leng hore, ha e le hantle, ha re na tsamaiso ea rona. Haeba ha ho joalo, joale ba etsa eng lefatšeng le bulehileng la mohloli? Ke hantle, re tla e ngola ka borona.

Ho qoelisoa ho eketsehileng lefats'eng la Linux mme haholo-holo ho ithuta kamoo graphical shell (desktop environment, DE) e sebetsang kateng, ka tsela, ke na le Xfce ho Linux Mint, e bontšitse hore likopo le mofuta oa mime o amanang le eona hangata li ngoloa ka ho toba Shortcut files ka katoloso ea .desktop. Hantle, ke hobane'ng ha ho se joalo, ke theha tsela e bonolo ea kopo, e lokelang ho qala feela script ea bash le ho hlahisa khang e fetiselitsoeng ho eona ho console, ke fana ka faele e khutšoanyane feela ka boeona:

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

Ke qala xdg-open ho tloha ho console, ke fetisa sehokelo se tšoanang se tsoang ho sebatli le ... bummer. Hape e re ha e khone ho sebetsana le sehokelo.

Ha ho ntse ho le joalo, ha kea ka ka ntlafatsa lenane la mefuta ea li-mime e amanang le kopo ea ka. Sena se etsoa ka taelo e bonolo:

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

e fetolang faele feela ~/.config/mimeapps.list.

Boiteko ba nomoro ea 2 ka mohala oa xdg-open - mme hape o hlolehile. Ha ho letho, mathata ha a re tšose, empa a tsosa thahasello ea rona feela. 'Me re hlometse ka matla ohle a bash (ke ho ts'oara), re ikakhela ka setotsoana ho lokisa liphoso. Ho bohlokoa ho hlokomela mona hore xdg-open ke sengoloa sa khetla.

bash -x xdg-open $url

Ho hlahloba sephetho ka mor'a ho latella ho ba ho hlaka hanyane hore taolo e fetisetsoa ho exo-bula. 'Me sena e se e ntse e le faele ea binary' me ho thata ho utloisisa hore na ke hobane'ng ha e khutlisa khoutu ea ho khutlisa e sa atlehe ha e fetisa sehokelo ho eona ka khang.

Ha ke shebile ka hare ho xdg-open, ke fumane hore e sekaseka maemo a fapaneng a tikoloho mme e fetisetsa taolo ho ea ho lisebelisoa tse ling tsa ho bula lihokelo tsa faele tse ikhethileng ho DE e itseng, kapa e na le ts'ebetso ea ho khutlela morao. 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
}

Ke tla kenya mona ka potlako taba e nyane ka tlhahlobo ea khang e fetisitsoeng le haeba substring e khethehileng e teng moo lync15:, ebe hang-hang re fetisetsa taolo mosebetsing open_generic.

Boiteko ba nomoro ea 3 mme u nahana hore bo sebelitse? Eya, jwale, ehlile. Empa molaetsa oa phoso o se o fetohile, sena se se se ntse se tsoela pele - joale o ne a mpolella hore faele ha e fumanehe 'me ka mokhoa oa faele o ile a ngolla khokahanyo e tšoanang e fetisitsoe e le khang.

Lekhetlong lena ho ile ha bonahala e le mosebetsi ke_file_url_or_path, e hlahlobang sehokelo sa faele se fetiselitsoeng ho kenyelletsong: file:// kapa tsela ea faele kapa ntho e 'ngoe. 'Me cheke ha ea sebetsa hantle ka lebaka la hore sehlongoapele sa rona (url scheme) se na le linomoro,' me polelo e tloaelehileng e hlahloba feela sete ea litlhaku e nang le :alpha: dots le dashes. Kamora ho buisana le maemo a rfc3986 bakeng sa sekhetho sa lisebelisoa tse ts'oanang Ho ile ha hlaka hore lekhetlong lena Microsoft ha e tlole letho (le hoja ke ne ke e-na le mofuta o joalo). Sehlopha sa libapali feela :alpha: e na le litlhaku tsa alfabeta ea Selatine feela. Ka potlako ke fetola cheke e tloaelehileng ho alphanumeric. E entsoe, oa hlolla, ntho e 'ngoe le e' ngoe e qetella e qala, taolo ka mor'a hore licheke tsohle li fanoe ho kopo ea rona ea script, sehokelo sa rona se bonts'oa ho console, ntho e 'ngoe le e' ngoe e ntse e le kamoo e lokelang ho ba kateng. Ka mor'a sena, ke qala ho belaela hore mathata ohle a exo-open a boetse a bakoa ke ho netefatsoa ha sebopeho sa khokahanyo ka lebaka la linomoro tsa morero. Ho leka khopolo-taba, ke fetola ngoliso ea mofuta oa mime ea kopo hore e be leano feela lync le voila - ntho e 'ngoe le e' ngoe e sebetsa ntle le ho feta mosebetsi oa open_xfce. Empa sena se ke ke sa re thusa ka tsela leha e le efe, hobane leqephe la websaete bakeng sa ho kena sebokeng le etsa sehokelo le lync15.

Kahoo, karolo ea pele ea leeto e phethiloe. Re tseba ho thibela mohala oa khokahanyo ebe o hloka ho sebetsoa le ho fetisoa ka hare ho Pidgin. E le hore u utloisise hore na e sebetsa joang ka hare ha u kenya data ka sehokelo ho "kenya seboka" menu, ke ile ka kopanya polokelo ea Git ea morero oa Sipe 'me ka itokisetsa ho qoela ka har'a khoutu hape. Empa joale, ka lehlohonolo, ke ile ka khahloa ke mangolo a lethathamong la libuka contrib/dbus/:

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

Hoa fumaneha hore Sipe plugin e fumaneha bakeng sa ho sebelisana ka dbus (desktop bese) 'me ka hare ho mangolo ho na le mehlala ea ho kenela seboka ka sehokelo, ebang ke ka lebitso la mohlophisi le conf-id, kapa o ka qala mohala ka sip. . Sena ke sona hantle seo re neng re se haella.

Mohato oa 2. Ho kenya ts'ebetsong ea "autojoin handler".

Kaha ho na le mehlala e lokiselitsoeng ho Pearl, ke ile ka etsa qeto ea ho sebelisa feela sipe-join-conference-with-uri.pl 'me u e fetole hanyenyane hore e lumellane le uena. Ke khona ho ngola ka Pearl, kahoo ha ea ka ea baka mathata a itseng.

Kamora ho hlahloba script ka thoko, ke ile ka ngola mohala oa eona faeleng lync.desktop. Mme e ne e le tlholo! Ha u kena leqepheng la ho ikopanya le kopano le ho lumella xdg-open ho sebetsa, fensetere ea popup ea kopano e tsoang ho Pidgin e ne e tla bula ka bo eona. Ke thabile hakaakang.
Ka ho khothatsoa ke katleho eo, ke ile ka etsa qeto ea ho etsa se tšoanang ho sebatli sa ka se seholo, Mozilla Firefox. Ha u kena ka fox, leqephe la tumello lea bula 'me ka tlaase ho na le konopo ikopanye le sebelisa puisano ea ofisi. Ke eena ea ileng a hapa maikutlo a ka. Ha o tobetsa ho eona ho sebatli, e ea atereseng:

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

eo ka mosa a mpolellang hore ha a tsebe ho e bula 'me, mohlomong, ha ke na kopo e amanang le protocol e joalo. Ho lokile, re se re fetile nakong ena.

Ka potlako ke ngolisa kopo ea ka ea script bakeng sa morero oa uri conf mme ... ha ho letho le etsahalang. Sebatli se lula se tletleba ka hore ha ho na sesebelisoa se sebetsanang le lihokelo tsa ka. Tabeng ena, ho letsetsa xdg-open ho tloha console e nang le litekanyetso ho sebetsa hantle.

"Beha setshwari sa protocol se ikhethileng ho firefox" - Ke kene inthaneteng ka potso ena. Ka mor'a ho buisana ka lipuisano tse 'maloa ka stackoverflow (le hore na re ka be re le hokae ntle le eona), ho bonahala eka karabo e fumanoe. U hloka ho theha paramente e khethehileng mabapi le: config (ehlile ho nkela foo sebaka ka conf):

network.protocol-handler.expose.foo = false

Re e bopa, bula sehokelo mme ... ha ho lehlohonolo le joalo. Sebatli, joalo ka ha eka ha ho letho le etsahetseng, se re ha se tsebe kopo ea rona.

Ke bala litokomane tsa molao mabapi le ho ngolisa protocol ho tsoa ho Mozilla, ho na le khetho ea ho ngolisa mekhatlo ho desktop ea gnome ka boeona (ho nkela foo sebaka ka conf, ehlile):

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

Ke ngodisa, bula sebatli... mme hape ditedu.

Mona ke mola o tsoang litokomaneng o khahlang mahlo a ka:

Nakong e tlang ha u tobetsa sehokelo sa mofuta oa protocol foo u tla botsoa hore na u bula sesebelisoa sefe.

— Semyon Semenych
- Ah

Ha re tobetse sehokelong, empa leqephe la webo le fetola feela fensetere.location ka javascript. Ke ngola faele e bonolo ea html e nang le sehokelo sa protocol ea conf, e bule ho sebatli, tobetsa sehokelo - Yos! Fesetere ea bula ho botsa hore na ke kopo efe eo re hlokang ho bula sehokelo sa rona, mme moo re se re ntse re e-na le kopo ea rona ea Lync lethathamong - re e ngolisitse ka botšepehi ka mekhoa eohle e ka khonehang. Ka fensetereng ho na le lebokose la "hopola khetho 'me u lule u bula lihokelo tsa kopo ea rona", tšoaea, tobetsa ok. 'Me ena ke tlhōlo ea bobeli - fensetere ea likopano e bula. Ka nako e ts'oanang, likopano tsa ho bula ha li sebetse feela ha u tobetsa sehokelo, empa hape ha u tloha leqepheng la ho kopanya leo re le hlokang ho ea kopanong.

Ka mor'a moo ke ile ka hlahloba, ho hlakola li-parameter network.protocol-handler.expose.conf ha ea ka ea ama ts'ebetso ea protocol ho Fox ka tsela efe kapa efe. Lihokelo li ile tsa tsoela pele ho sebetsa.

fihlela qeto e

Ke kentse mosebetsi oohle oa ka sebakeng sa polokelo ea GitHub; lihokelo tsa lisebelisoa tsohle li tla ba qetellong ea sengoloa.
Ke tla thabela ho fumana maikutlo a tsoang ho ba batlang ho sebelisa mosebetsi oa ka. Ke lokela ho hlokomela hang-hang hore ke entse nts'etsopele eohle bakeng sa sistimi ea ka ea Linux Mint, kahoo li-distributions tse ling kapa li-desktops li kanna tsa se sebetse mofuta oo. Kapa ho e-na le hoo, ke hlile ke na le bonnete ba sena, hobane ke patile ts'ebetso e le 'ngoe feela ho xdg-open e amanang le DE ea ka feela. Haeba u batla ho eketsa tšehetso bakeng sa litsamaiso tse ling kapa li-desktops, ngolle likopo tsa ho hula ho Github.

Morero oohle o nkile mantsiboea a 1 ho phethoa.

Lipeeletso:

Source: www.habr.com

Eketsa ka tlhaloso