Si toos ah u gal shirarka Lync ee Linux

Haye Habr!

Aniga ahaan, weedhani waxay la mid tahay hello adduunka, tan iyo markii aan ugu dambeyntii helay daabacaaddaydii ugu horreysay. Waxaan iska dhigay daqiiqaddan cajiibka ah muddo dheer, maadaama aysan jirin wax wax laga qoro, sidoo kale ma rabin inaan nuugo wax horay loo nuugay waqtiyo badan. Guud ahaan, daabacaaddii ugu horreysay waxaan rabay wax asal ah, waxtar u leh kuwa kale oo ka kooban nooc caqabado ah iyo xallinta dhibaatada. Oo hadda waan wadaagi karaa tan. Hadda aan ka hadalno wax walba si hagaagsan.

entry

Dhammaantood waxay bilaabeen markii wakhti ka hor aan ka soo dejiyay Linux Mint kombuyuutarkayga shaqada. Dad badan ayaa laga yaabaa inay ogaadaan in Pidgin oo leh Sipe plugin uu yahay beddelka ku habboon Microsoft Lync (hadda loo yaqaan Skype ganacsiga) nidaamyada Linux. Sababo gaar ah shaqadayda awgeed, inta badan waa inaan ka qaybqaataa shirarka SIP, iyo markii aan ahaa shaqaalaha Windows, gelitaanka shirarka waxay ahayd dugsi hoose: waxaan ku helnaa martiqaad boostada, dhagsii isku xirka gelitaanka, waxaana diyaar u nahay inaan tagno .

Markaad u wareegeyso dhinaca mugdiga ah ee Linux, wax walbaa waxay noqdeen kuwo aad u dhib badan: dabcan, waxaad sidoo kale geli kartaa shirarka Pidgin, laakiin si aad tan u sameyso waxaad u baahan tahay inaad doorato ikhtiyaarka shirka ku biirista ee liiska guryaha ee akoonkaaga SIP iyo gudaha Daaqadda furmo, geli xiriiriyaha shirka ama geli magaca qabanqaabiyaha iyo conf id. Muddo ka dib waxaan bilaabay inaan ka fekero: "Suurtagal maaha in si uun loo fududeeyo tan?" Haa, waxaa laga yaabaa inaad tiraahdo, maxaad ugu baahan tahay jahannamo tan?

Tallaabada 1: Cilmi-baadhis

"Haddii aad madaxaaga ka hesho xoogaa xamaasad ah, kuma garaaci kartid saami," Nekrasov wuxuu ku yiri shaqadiisa "Yaa si fiican ugu nool Ruushka."

Haddaba, mar haddii fekerku madaxayga soo galay, muddo ka dib waxaa soo baxday fikraddii ugu horreysay ee hirgelinta. Wax kastaa waxay u muuqdeen kuwo fudud - waxaad u baahan tahay inaad dhexgasho gelitaanka xiriiriyeyaasha meet.company.com/user/confid - ku rakib nidaamka codsiga shabakada degaanka ee gaarigaaga 127.0.0.1 iyo gudaha /etc/hosts ku dar gelitaan rasmi ah domainka shirkadda oo aad ka soo gasho shirka, adigoo tilmaamaya localhost. Marka xigta, server-kani waa inuu farsameeyaa isku xirka u yimid oo si uun ugu wareejiyaa gudaha Pidgin (waxaan isla markiiba dhihi doonaa in marxaladan aan wali wax fikrad ah u lahayn sida loo siiyo gabi ahaanba). Xalku, dabcan, wuxuu u urayaa sida jilbaha, laakiin waxaan nahay barnaamij-waxbarashayaal, crotches ma na cabsiiyaan (shit).

Dabadeed, fursad ahaan, waxaan si uun u furay xiriirka martiqaadka ee Google Chrome (iyo inta badan waxaan isticmaalaa Mozilla Firefox). Waxa aan la yaabay, bogga shabakadda ayaa u muuqday mid gebi ahaanba ka duwan - ma jirin wax foom ah oo lagu galo xogta isticmaalaha isla markiiba ka dib markii la galo bogga waxaa jiray codsi ah in wax lagu furo iyada oo loo marayo xdg-furan. Kaliya madadaalo, waxaan guji "haa" oo fariin qalad ah ayaa soo baxday - isku xirka lync15:confjoin?url=https://meet.company.com/user/confid lama furi karo. Hmm Waa maxay nooca xdg-furan iyo maxay u baahan tahay si xiriirinta noocaas ah loo furo? Aqrinta dhimashada ka dib ee dukumeentigu waxay daaha ka qaaday inay tahay gacan hayaha GUI oo ka caawiya socodsiinta codsiyada la xidhiidha hab-maamuuska nidaamka uri ama noocyada faylalka gaarka ah. Ururada waxa lagu habeeyey khariidaynta nooca mime-ka. Markaa waxaanu aragnaa in aanu wadno raadinta codsi ku habboon nidaamka uri ee la magacaabay lync15 isku xirkana waxaa loo gudbiyaa xdg-open, ka dib, aragti ahaan, waa inuu u gudbiyaa qaar ka mid ah codsiyada ka mas'uulka ah xiriirka noocan ah. Taas oo, dabcan, aynaan ku haysan nidaamkayaga. Haddii aysan ahayn, markaa maxay ku sameeyaan adduunka isha furan? Taasi waa sax, annaga lafteena ayaa qori doona.

Dhexdhexaadinta dheeraadka ah ee adduunka Linux iyo gaar ahaan barashada sida qolofka garaafyada (desktop deegaanka, DE) u shaqeeyo, habka, waxaan haystaa Xfce ee Linux Mint, waxay muujisay in codsiyada iyo nooca mime-ka ee la xidhiidha inta badan si toos ah loogu qoro galalka gaaban oo leh kordhinta .desktop. Hagaag, maxaa diidaya, waxaan abuuraa codsi gaaban oo fudud, kaas oo si fudud u bilaabaya qoraalka bash oo soo saaraya doodda loo gudbiyay console-ka, waxaan bixiyaa kaliya faylka gaaban laftiisa:

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

Waxaan ka bilaabay xdg-ka furan konsole-ka, anigoo ka gudbaya isla isku xidhka ka imanaya browserka iyo... bummer. Mar kale waxay sheegaysaa in aanay shaqayn karin isku xirka.

Sida ay soo baxday, ma cusboonaysiin tusaha noocyada mime-ga ee la xidhiidha codsigayga. Tan waxaa lagu sameeyaa amar fudud:

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

kaas oo si fudud u tafatira faylka ~/.config/mimeapps.list.

Isku dayga nambarka 2 ee xdg-furan - oo haddana guuldarraystay. Waxba, dhibatooyinku nagama bajiyaan, laakiin kaliya waxay sii huriyaan danteena. Anagoo ku hubaysan dhamaan awooda bash (tusaale, baafinta), waxaanu marka hore quusinaynaa khaladka. Waxaa muhiim ah in halkan lagu ogaado in xdg-open uu yahay kaliya qoraal qolof ah.

bash -x xdg-open $url

Falanqaynta wax-soo-saarka ka dib raadinta ka dib waxay noqonaysaa wax yar in kantaroolka loo wareejiyo exo-furan. Oo kani waa horeba faylka binary wayna aad u adagtahay in la fahmo sababta ay u soo celiso koodka soo celinta ee aan guulaysan marka ay u gudbiso isku xirka doodaha.

Markii aan eegay gudaha xdg-furan, waxaan ogaaday in ay falanqeyso cabbirro kala duwan oo deegaanka ah oo ay u gudbiso xakamaynta qaar ka mid ah qalabka lagu furo xirmooyinka faylka gaarka ah ee DE gaar ah, ama waxay leedahay dib u dhac. furan_guud

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
}

Waxaan si dhakhso ah halkan ugu dhejin doonaa khariidad yar oo leh falanqaynta doodda la gudbiyay iyo haddii xudduntayada gaarka ah ay ku taal halkaas lync15:, ka dibna waxaanu isla markiiba u wareejinaa xakamaynta shaqada furan_guud.

Isku dayga nambarka 3 oo ma kula tahay inuu shaqeeyay? Haa, hadda, dabcan. Laakiin fariinta khaladka ah ayaa mar hore is beddeshay, tani waa horeba horumarka - hadda wuxuu ii sheegay in faylka aan la helin oo qaab fayl ah ayuu ii qoray isla xiriirkii ayaa u gudbay dood ahaan.

Markan waxay noqotay shaqo waa_faylka_url_ama_dariiqa, kaas oo falanqeynaya isku xirka faylka loo gudbiyay gelinta: file:// ama dariiqa faylka ama wax kale. Jeegaguna si sax ah uma shaqaynin sababtoo ah horgalayaashayada (url system) ayaa leh nambaro, iyo tibaaxaha caadiga ah oo kaliya ayaa hubiya jilaha ka kooban :alpha: dhibco iyo dashes. Ka dib markii la tashaday heerka rfc3986 ee Aqoonsiga kheyraadka dirayska Waxaa caddaatay in markan Microsoft aysan waxba ku xad-gudbin (inkasta oo aan lahaa nooca noocaan ah). Kaliya fasalka jilaha :alfa: wuxuu ka kooban yahay xarfaha alifbeetada Laatiinka oo keliya. Waxaan si dhakhso ah u beddelaa jeega caadiga ah oo aan u beddelaa alfanumeric. La dhammeeyay, waxaad tahay mid cajiib ah, wax walbaa ugu dambeyntii bilaabmaa, xakamaynta ka dib markii dhammaan jeegaga la siiyo codsigayaga qoraalka, isku xirkayaga ayaa lagu soo bandhigay console-ka, wax walbaa waa sidii ay ahayd. Taas ka dib, waxaan bilaabayaa inaan ka shakiyo in dhammaan dhibaatooyinka exo-open ay sidoo kale sabab u tahay ansixinta qaabka isku xirka sababtoo ah tirooyinka nidaamka. Si aan u tijaabiyo mala-awaalka, waxaan u beddelaa diiwaan-gelinta nooca mime-ka ee codsiga oo kaliya nidaam lync iyo voila - wax walbaa wuu shaqeeyaa iyada oo aan la dhaafin shaqada open_xfce. Laakiin tani nagama caawin doonto sinaba, sababtoo ah bogga shabakadda ee gelitaanka shirku wuxuu abuuraa xiriir la leh lync15.

Markaa, qaybta koowaad ee safarka waa la dhammaystiray. Waan ognahay sida loo dhexgalo wicitaanka isku xirka ka dibna wuxuu u baahan yahay in si uun loo habeeyo oo loo gudbiyo gudaha Pidgin. Si loo fahmo sida ay u shaqeyso gudaha marka xogta laga soo galo isku xirka "ku biir shirka" menu, waxaan xiray kaydka Git ee mashruuca Sipe waxaanan isu diyaariyey inaan mar kale galo koodka. Laakin markaas, nasiib wanaag, waxaa i soo jiitay qoraallada ku jira liiska gacan/dbus/:

  • sipe-ku biir-shirka-la-uri.pl
  • sipe-ku biir-shirka-oo-abaabulaha-iyo-id.pl
  • sipe-call-telefoon-lambarka.pl
  • SipeHelper.pm

Waxaa soo baxday in plugin-ka Sipe uu diyaar u yahay is-dhexgalka iyada oo loo marayo dbus (baska miiska) iyo gudaha qoraallada waxaa jira tusaalooyin ku biirista shirka iyada oo loo marayo isku xirka, ama magaca qabanqaabiyaha iyo conf-id, ama waxaad bilaabi kartaa wicitaan adigoo isticmaalaya sip . Tani waa dhab ahaan waxa naga maqnaa.

Talaabada 2. Hirgelinta maamuleha iswada

Maadaama ay jiraan tusaalooyin diyaarsan oo Pearl ah, waxaan go'aansaday inaan isticmaalo oo kaliya sipe-ku biir-shirka-la-uri.pl oo wax yar ka beddel si aad naftaada ugu habboonaato. Waxaan ku qori karaa Pearl, si aanay u keenin dhibaato gaar ah.

Ka dib markii aan si gooni ah u tijaabiyay qoraalka, waxaan ku qoray wicisteeda faylka lync.desktop. Waxayna ahayd guul! Markaad gelayso bogga ku biirista shirka oo aad ogolaato xdg-ufuro inuu shaqeeyo, daaqada ka soo baxday shirka ee Pidgin ayaa si toos ah u furmi doonta. Sida aan ugu farxay.
Guusha aniga oo igu dhiiri galiyay, waxa aan go'aansaday in aan sidaas oo kale u sameeyo browserkayga ugu wayn, Mozilla Firefox. Marka aad ka soo gasho dawacada, bog ogolaansho ayaa furmaya halka ugu hoosaysana waxa jira badhan ku biir adigoo isticmaalaya xiriiriyaha xafiiska. Waa tii dareenkayga soo jiidatay. Markaad gujiso browserka, waxay aadaysaa ciwaanka:

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

taas oo uu si naxariis leh iigu sheegayo inuusan garanayn sida loo furo iyo, laga yaabee, ma haysto codsi la xidhiidha borotokoolka noocaas ah. Hagaag, mar hore ayaan tan soo marnay.

Waxaan si degdeg ah u diiwaan gashanayaa codsigayga qoraalka ee nidaamka uri KOOCI iyo... waxba ma dhacaan. Barrawsarku waxa uu ka cabanayaa in aanu jirin arjiga gacanta ku haya isku xidhkayga. Xaaladdan oo kale, wacitaanka xdg-furan ee console-ka oo leh cabbirro ayaa si fiican u shaqeeya.

"Ku deji maamulaha hab-maamuuska gaarka ah ee Firefox" - Su'aashan waxaan la galay khadka internetka. Ka dib markii aan dhowr doodood oo ku saabsan qulqulka qulqulka (iyo halkee la'aanteed ahaan lahaa), waxaad mooddaa in jawaabta la helay. Waxaad u baahan tahay inaad abuurto xadad gaar ah gudaha ku saabsan: config (dabcan ku beddelka foo conf):

network.protocol-handler.expose.foo = false

Waxaan u abuurnaa, furo isku xirka iyo ... nasiib ma leh. Browser-ku, sida haddii aanay waxba dhicin, ayaa sheegaya in aanu garanayn codsigayaga.

Waxaan akhrinayaa dukumentiga rasmiga ah ee diiwaangelinta borotokoolka Mozilla, waxaa jira ikhtiyaar lagu diiwaan geliyo ururada gnome desktop laftiisa (oo lagu beddelayo foo oo leh conf, dabcan):

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

Waan isdiiwaangeliyaa, furay browserka... iyo mar kale gadhka.

Halkan xariiq ka soo baxay dukumentiga ayaa indhahayga qabanaysa:

Marka xigta aad gujiso isku xirka foo-nooca borotokoolka waxaa lagu weydiin doonaa codsiga aad ku furto.

- Semyon Semenych
- Ah

Ma gujino isku xirka, laakiin bogga shabakadda ayaa si fudud u beddela window.location iyada oo loo marayo Javascript. Waxaan qoraa fayl html fudud oo leh isku xirka borotokoolka conf, ka fur browserka, guji xiriirka - Yos! Daaqad ayaa furmaysa weydiinta codsiga aan u baahanahay si aan u furno xiriirkayaga, halkaasna waxaan horeyba ugu haynay codsigayaga Lync liiska - waxaan si daacad ah ugu diiwaan gashannay dhammaan siyaabaha suurtogalka ah. Halkaa daaqada waxa ku yaal sanduuqa jeeg-gudbinta "xusuusnow doorashada oo had iyo jeer fur links ee codsigayaga", calaamadee, guji ok. Tanina waa guushii labaad - daaqadda shirku way furmaysaa. Isla mar ahaantaana, furitaanka shirarka ma shaqeeyaan oo kaliya markaad gujiso isku xirka, laakiin sidoo kale markaad ka guurto bogga ku biirista waxaan u baahanahay shirka.

Ka dib waxaan hubiyay, tirtiray xuduudaha network.protocol-handler.expose.conf sinaba uma saamayn hawlgalka borotokoolka Fox. Xiriirinta ayaa sii waday inay shaqeyso.

gunaanad

Waxaan ku dhejiyay dhammaan shaqadayda kaydka GitHub;
Waxaan xiisayn doonaa inaan helo jawaab celin kuwa raba inay isticmaalaan shaqadayda. Waa inaan isla markiiba ogaadaa in aan sameeyay dhammaan horumarka kaliya ee nidaamkayga Linux Mint, markaa qaybinta kale ama miisaska kale ayaa laga yaabaa inaysan ku shaqeyn noocaas. Ama taa beddelkeeda, xitaa waan hubaa tan, sababtoo ah waxaan ku dhejiyay 1 kaliya oo shaqeynaya xdg-furan oo la xidhiidha kaliya DE-gayga. Haddii aad rabto inaad ku darto taageerada nidaamyada kale ama miisaska, ii qor codsiyada Github.

Mashruuca oo dhan wuxuu qaatay 1 fiid in la dhammeeyo.

Tixraacyada:

Source: www.habr.com

Add a comment