Shiga ta atomatik zuwa taron Lync akan Linux

Hai Habr!

A gare ni, wannan jumlar ta yi kama da duniya barka da warhaka, tun daga ƙarshe na sami bugu na farko. Na ajiye wannan lokacin mai ban mamaki na dogon lokaci, tun da babu wani abin da zan rubuta game da shi, kuma ba na so in tsotse wani abu da aka riga aka sha a cikin lokuta masu yawa. Gabaɗaya, don littafina na farko ina son wani abu na asali, mai amfani ga wasu kuma yana ɗauke da wani nau'in ƙalubale da warware matsala. Kuma yanzu zan iya raba wannan. Yanzu bari muyi magana game da komai cikin tsari.

Gabatarwa

Duk ya fara ne lokacin da na sauke Linux Mint akan kwamfutar aiki ta. Wataƙila mutane da yawa sun san cewa Pidgin tare da Sipe plugin shine cikakken dacewa maye gurbin Microsoft Lync (yanzu ana kiransa Skype don kasuwanci) don tsarin Linux. Saboda ƙayyadaddun aikina, sau da yawa dole ne in shiga cikin taron SIP, kuma lokacin da nake ma'aikacin Windows, shigar da taro na farko ne: muna karɓar gayyata ta wasiƙa, danna hanyar shiga, kuma muna shirye mu je. .

Lokacin canzawa zuwa gefen duhu na Linux, komai ya zama ɗan rikitarwa: ba shakka, zaku iya shiga cikin taro a cikin Pidgin, amma don yin wannan kuna buƙatar zaɓar zaɓin haɗin gwiwa a cikin menu a cikin kaddarorin asusun SIP ɗin ku. a cikin taga da yake buɗewa, saka hanyar haɗi zuwa taron ko shigar da sunan mai shiryawa da conf id. Kuma bayan wani lokaci na fara tunani: "Shin zai yiwu a sauƙaƙe wannan?" Ee, za ku iya cewa, me yasa kuke buƙatar wannan? Na fi so in zauna akan Windows kuma kada in busa zuciyata.

Mataki 1: Bincike

Nekrasov ya ce a cikin aikinsa "Wane ne ke da kyau a cikin Rus" ya ce: "Idan kun sami wani buri a cikin ku, ba za ku iya buga shi da gungumen azaba ba."

Don haka, da zarar tunanin ya shiga cikin kaina, bayan wani lokaci ra'ayin farko na aiwatarwa ya taso. Komai ya yi kama da sauki - kana buƙatar katse hanyar haɗi hadu.company.com/user/confid - shigar da tsarin aikace-aikacen yanar gizo na gida akan motar ku a 127.0.0.1 kuma a /etc/hosts ƙara madaidaicin shigarwa don yankin kamfanin wanda ta hanyar da kuka shiga taron, yana nuna localhost. Bayan haka, wannan sabar gidan yanar gizon dole ne ta aiwatar da hanyar haɗin da ta zo gare ta kuma ko ta yaya canza shi cikin Pidgin (Zan ce nan da nan cewa a wannan matakin har yanzu ban san yadda zan ba shi ba kwata-kwata). Maganin, ba shakka, yana wari kamar crutches, amma mu masu shirye-shirye ne, kullun ba sa tsoratar da mu (shit).

Bayan haka, kwatsam, ko ta yaya na buɗe hanyar haɗin gayyata a cikin Google Chrome (kuma yawanci koyaushe ina amfani da Mozilla Firefox). Kuma ga mamakina, shafin yanar gizon ya bambanta sosai - babu wani nau'i don shigar da bayanan mai amfani kuma nan da nan bayan shigar da shafin an nemi bude wani abu ta hanyar. xdg-bude. Don jin daɗi kawai, na danna “yes” kuma saƙon kuskure ya bayyana - hanyar haɗin lync15:confjoin?url=https://meet.company.com/user/confid ba za a iya buɗe ba. Hmm Wane irin xdg-bude ne wannan kuma menene yake buƙata don buɗe irin waɗannan hanyoyin haɗin? Karatun bayan mutuwar bayanan ya nuna cewa mai kula da GUI ne wanda ke taimakawa gudanar da aikace-aikacen da ke da alaƙa ko dai tare da ka'idoji don tsarin uri ko tare da takamaiman nau'ikan fayil. An saita ƙungiyoyi ta hanyar taswirar nau'in mime. Don haka mun ga cewa muna gudanar da bincike don neman madaidaicin aikace-aikacen tsarin uri mai suna linc15 kuma an wuce hanyar haɗin zuwa xdg-open, wanda sannan, a ka'idar, ya kamata a aika shi zuwa wasu aikace-aikacen da ke da alhakin wannan nau'in haɗin. Wanda, ba shakka, ba mu da shi a cikin tsarin mu. Idan ba haka ba, to menene suke yi a cikin buɗaɗɗen tushen duniya? Haka ne, za mu rubuta da kanmu.

Ci gaba da nutsewa a cikin duniyar Linux kuma musamman a cikin nazarin yadda harsashi mai hoto (yanayin tebur, DE) ke aiki, ta hanyar, Ina da Xfce a cikin Linux Mint, ya nuna cewa aikace-aikacen da nau'in mime da ke hade da shi galibi ana rubuta su kai tsaye a ciki. gajerun fayiloli tare da tsawo .desktop. To, me yasa ba, na ƙirƙiri gajeriyar hanyar aikace-aikacen mai sauƙi, wanda yakamata kawai ƙaddamar da rubutun bash kuma fitar da hujjar da aka wuce zuwa gare ta zuwa na'ura wasan bidiyo, Ina samar da fayil ɗin gajeriyar hanya kawai kanta:

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

Na ƙaddamar da xdg-buɗe daga na'ura wasan bidiyo, wucewa iri ɗaya hanyar haɗin da ta fito daga mai lilo da ... bummer. Kuma ya ce ba zai iya aiwatar da hanyar haɗin yanar gizon ba.

Kamar yadda ya bayyana, ban sabunta kundin adireshi masu alaƙa da nau'in mime tare da aikace-aikacena ba. Ana yin wannan tare da umarni mai sauƙi:

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

wanda kawai ke gyara fayil ɗin ~/.config/mimeapps.list.

Ƙoƙari lamba 2 tare da buɗaɗɗen kira xdg - da sake rashin nasara. Babu komai, wahalhalu ba sa tsoratar da mu, amma kawai suna rura wutar sha'awarmu. Kuma dauke da dukkan karfin bash (watau bin diddigin), mun fara nutsewa da farko zuwa gyara kuskure. Yana da mahimmanci a lura anan cewa xdg-buɗe rubutun harsashi ne kawai.

bash -x xdg-open $url

Bincika abubuwan da aka fitar bayan ganowa ya zama ɗan sarari cewa ana canja wurin sarrafawa zuwa exo-bude. Kuma wannan rigar fayil ne na binary kuma yana da wuya a fahimci dalilin da yasa ya dawo da lambar dawowa da bai yi nasara ba lokacin da ya wuce hanyar haɗi zuwa gare shi a cikin gardama.

Bayan duba cikin ciki na xdg-open, na gano cewa yana nazarin sigogin muhalli daban-daban kuma yana ba da iko gaba ko dai zuwa wasu kayan aikin don buɗe hanyoyin haɗin fayil na musamman ga wani DE, ko yana da aikin koma baya. bude_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
}

Zan shigar da sauri a nan ɗan ƙaramin hack tare da nazarin gardamar da ta wuce kuma idan ƙayyadaddun ƙayyadaddun ƙayyadaddun mu na can yana nan shafi 15:, to nan da nan muna canja wurin sarrafawa zuwa aikin bude_generic.

Ƙoƙarin lamba 3 kuma kuna tsammanin ya yi aiki? Ee, yanzu, ba shakka. Amma saƙon kuskure ya riga ya canza, wannan ya riga ya ci gaba - yanzu yana gaya mani cewa ba a samo fayil ɗin ba kuma a cikin nau'i na fayil ya rubuta mani hanyar haɗin da aka wuce a matsayin jayayya.

Wannan lokacin ya zama aiki shine_fayil_url_ko_hanyar, wanda ke nazarin hanyar haɗin fayil ɗin da aka wuce zuwa shigarwar: file: // ko hanyar zuwa fayil ko wani abu dabam. Kuma cak ɗin bai yi aiki daidai ba saboda kasancewar prefix ɗin mu (url makirci) yana da lambobi, kuma kalmar yau da kullun tana bincika saitin halayen da ya ƙunshi: alpha: dige-dige da dashes. Bayan tuntuɓar ma'aunin rfc3986 don Unifom mai gano albarkatu Ya bayyana a fili cewa wannan lokacin Microsoft ba ya keta komai (ko da yake ina da irin wannan sigar). Kawai ajin halin :alpha: ya ƙunshi haruffan haruffan Latin kawai. Na hanzarta canza cak na yau da kullun zuwa haruffa. Anyi, kun kasance mai ban mamaki, komai a ƙarshe yana farawa, sarrafawa bayan an ba da duk abubuwan bincike zuwa aikace-aikacen rubutun mu, ana nuna hanyar haɗin yanar gizon mu akan na'ura wasan bidiyo, komai yana yadda ya kamata. Bayan haka, na fara zargin cewa duk matsalolin da ke tattare da exo-open suma sun kasance saboda ingantaccen tsarin hanyar haɗin yanar gizo saboda lambobi a cikin tsarin. Don gwada hasashe, na canza rijistar nau'in mime na aikace-aikacen zuwa tsari kawai lync da voila - komai yana aiki ba tare da keta aikin open_xfce ba. Amma wannan ba zai taimake mu ta kowace hanya ba, saboda shafin yanar gizon don shiga taron yana haifar da hanyar haɗi tare da lync15.

Don haka an kammala bangaren farko na tafiyar. Mun san yadda ake kutse kiran hanyar haɗin gwiwa sannan kuma yana buƙatar sarrafa shi ko ta yaya kuma a wuce cikin Pidgin. Don fahimtar yadda yake aiki a ciki lokacin shigar da bayanai ta hanyar haɗin yanar gizo a cikin menu na "haɗa taro", Na rufe wurin ajiyar Git na aikin Sipe kuma na sake yin shirin nutsewa cikin lambar. Amma a lokacin, an yi sa'a, rubutun da ke cikin kasidar ya burge ni ba da gudummawa/dbus/:

  • sipe-join-conference-with-uri.pl
  • sipe-haɗa-taro-tare da-mai shirya-da-id.pl
  • sipe-kira-lambar waya-lambar.pl
  • SipeHelper.pm

Ya bayyana cewa Sipe plugin yana samuwa don hulɗa ta hanyar dbus (bas ɗin tebur) kuma a cikin rubutun akwai misalan shiga taro ta hanyar hanyar haɗi, ko dai ta hanyar sunan mai shirya da conf-id, ko kuma za ku iya fara kira ta hanyar sip. . Wannan shi ne ainihin abin da muka rasa.

Mataki 2. Aiwatar da mai sarrafa haɗin kai

Tun da akwai shirye-shiryen misalai a cikin Lu'u-lu'u, na yanke shawarar amfani kawai sipe-join-conference-with-uri.pl kuma gyara shi kadan don dacewa da kanku. Zan iya yin rubutu a cikin Lu'u-lu'u, don haka bai haifar da wata matsala ba.

Bayan gwada rubutun daban, na rubuta kiransa a cikin fayil ɗin lync.desktop. Kuma nasara ce! Lokacin shigar da shafin haɗin gwiwar taro da barin xdg-buɗe don gudana, taga popup ɗin taro daga Pidgin zai buɗe ta atomatik. Yadda nayi murna.
Na sami kwarin gwiwa da nasarar, na yanke shawarar yin haka don babban mai bincikena, Mozilla Firefox. Lokacin da ka shiga ta fox, shafi don izini yana buɗewa kuma a ƙasan ƙasa akwai maɓalli shiga ta amfani da mai sadarwa na ofis. Ita ce ta dauki hankalina. Idan ka danna shi a cikin burauzar, yana zuwa adireshin:

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

wanda a cikin alheri ya gaya mani cewa bai san yadda ake buɗe shi ba, kuma, watakila, ba ni da alaƙa da aikace-aikacen irin wannan yarjejeniya. To, mun riga mun sha wannan.

Ina sauri na yi rajistar aikace-aikacen rubutuna kuma don tsarin uri conf kuma ... babu abin da ya faru. Mai binciken yana ci gaba da korafin cewa babu wani aikace-aikacen da ke sarrafa hanyoyin haɗin yanar gizo na. A wannan yanayin, kiran xdg-buɗe daga na'ura wasan bidiyo tare da sigogi yana aiki daidai.

"Sai mai kula da ladabi na al'ada a cikin Firefox" - Na shiga kan layi tare da wannan tambayar. Bayan an yi ta tattaunawa da yawa game da kwararar ruwa (kuma a ina za mu kasance ba tare da shi ba), da alama an sami amsar. Kuna buƙatar ƙirƙirar siga na musamman a ciki game da: saiti (hakika maye gurbin foo da conf):

network.protocol-handler.expose.foo = false

Mun ƙirƙira shi, buɗe hanyar haɗin gwiwa kuma ... babu irin wannan sa'a. Mai binciken, kamar babu abin da ya faru, ya ce bai san aikace-aikacenmu ba.

Ina karanta takaddun hukuma kan yin rijistar yarjejeniya daga Mozilla, akwai zaɓi don yin rajistar ƙungiyoyi a cikin tebur ɗin gnome kanta (maye gurbin foo tare da conf, ba shakka):

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

Na yi rajista, buɗe mai binciken ... da kuma sake gemu.

Anan layin daga takardun ya kama idona:

Lokaci na gaba ka danna hanyar haɗin nau'in foo za a tambaye ka wane aikace-aikacen da za ka buɗe shi da shi.

- Semyon Semenych
- Ahh

Ba mu danna hanyar haɗin yanar gizon ba, amma shafin yanar gizon yana canza window.location ta hanyar javascript. Na rubuta fayil ɗin html mai sauƙi tare da hanyar haɗi zuwa yarjejeniyar conf, buɗe shi a cikin mai binciken, danna hanyar haɗin - Yos! Wani taga yana buɗewa yana tambaya a cikin wane aikace-aikacen da muke buƙatar buɗe hanyar haɗin yanar gizon mu, kuma a can mun riga mun sami aikace-aikacen Lync a cikin jerin - gaskiya mun yi rajista ta kowane hanya mai yiwuwa. A can cikin taga akwai akwati "tuna da zabi kuma koyaushe bude links a cikin aikace-aikacenmu", yi alama, danna Ok. Kuma wannan ita ce nasara ta biyu - an buɗe taga taron. A lokaci guda, buɗe taro yana aiki ba kawai lokacin da kake danna hanyar haɗi ba, amma har ma lokacin motsawa daga shafin shiga muna buƙatar zuwa taron.

Sannan na duba, na goge sigogi network.protocol-handler.expose.conf bai ta kowace hanya ya shafi aiki na yarjejeniya a Fox ba. Hanyoyin haɗin sun ci gaba da aiki.

ƙarshe

Na ɗora duk ayyukana zuwa ma'ajiyar GitHub; hanyoyin haɗi zuwa duk albarkatun za su kasance a ƙarshen labarin.
Zan yi sha'awar samun ra'ayi daga waɗanda suke so su yi amfani da aikina. Ya kamata in lura nan da nan cewa na yi duk ci gaban ne kawai don tsarin Mint na Linux, don haka wasu rarrabawa ko kwamfutoci na iya yin aiki a waccan sigar. Ko kuma, Ina ma kusan tabbatar da wannan, saboda na daidaita aikin 1 kawai a xdg-buɗe wanda ke da alaƙa da DE na kawai. Idan kuna son ƙara tallafi don wasu tsarin ko kwamfutoci, rubuta mani buƙatun ja akan Github.

Gabaɗayan aikin ya ɗauki maraice 1 don kammalawa.

Tunani:

source: www.habr.com

Add a comment