Automatic login to Lync colloquia de Linux

Heus Habr!

Mihi affinis est haec locutio cum salve mundo, cum tandem ad primam meam editionem perveni. Hoc mirabile momentum diu differo, cum nihil esset quod scriberem, et etiam nolui aliquid sugere quod iam in fasciculo temporum suxisti. In genere, pro prima mea publicatione volui originale aliquid, aliis utile, et quaedam continens provocationes et problemata solvenda. Id nunc possum communicare. Nunc ordine omnia dicamus.

ostium

Omnia incepit cum olim Linux Mint in opus meum computatorium posui. Multi probabiliter sciunt Pidgin apud Sipe plugin esse omnino idoneam reponendam Microsoft Lync (nunc Skype pro negotiis) systematibus Linux. Ob operis mei speciem, colloquia HAUSTUS participare saepe habeo et cum Fenestra operarius eram, colloquia ingrediens elementaria erat: invitationem accipimus per epistulas, deprime in ligamine login et parati sumus ad ire .

Cum in commutatione ad obscurum de Linux, omnia aliquanto magis implicata sunt: ​​sane etiam colloquia in Pidgin conicere potes, sed hoc facere debes eligere optionem colloquii in menu in proprietatibus rationis tuae HAUSTUS ac in fenestra aperit, vinculum ad colloquium inserere vel nomen institutoris intrare et id conf. Et post aliquod tempus cogitare coepi: "Numquid potest hoc simpliciorem reddere?" Yeah, diceres, cur infernum hoc eges, sed in Fenestra sedeo et mentem meam non succendam.

Gradus I: Research

"Si lubidinem in capite tuo habes, non potes eum palo pulsare," Nekrasov dixit in opere suo "Qui bene vivit in Rus"."

Ita, semel cogitatio in caput meum, post aliquod tempus prima idea de exsecutione orta est. Omnia simplicia videbantur - accessum ad nexus intercipere debes meet.company.com/user/confid β€” processum applicationis localem institue in curru tuo ad 127.0.0.1 et in /etc/hostibus stabili ingressum adde pro dominico societatis per quod colloquium intras, monstrans localem exercitum. Deinceps, hic server interretialis nexus qui ad illam venit et aliquo modo eam in Pidgin transferre debet (ilicet dicam quod adhuc nesciebam quomodo id omnino darem). Solutio, sane, ut fusum olet, sed programmatores sumus, fusi nos non terrent.

Tum, casu quodam modo invitationem aperui in Google Chrome (et plerumque Mozilla Firefox utor). Et, ut miremur, pagina interreta prorsus diversa videbatur - nulla forma erat ut in usorem intret et statim post paginam intranti rogabatur ut aliquid per aperiret. xdg apertum,. Modo pro ioco, deprimo "sic" et nuntius error apparet - nexus lync15:confjoin?url=https://meet.company.com/user/confid aperiri non potest. Hmm. Quale xdg-apertum est hoc et quid indiget ut tales nexus aperiat? Lectio post-mortem documentorum revelavit GUI tracto esse qui applicationes adiunctas adiuvat vel cum protocolla ratione uri schematis vel speciei fasciculi specifici. Consociationes per mimi-typum destinata configurantur. Videmus ergo nos currere per inquisitionem parem applicationem pro consilio uri nomine lync15 et ligamen ad xdg-apertum transmittitur, quod tunc in theoria praetermittendum est ad applicationem aliquam quae huius generis nexus est responsabilis. Quod sane in nostra ratione non habemus. Si non, quid agunt in aperto mundo? Iustum est, nos ipsi scribemus.

Praeterea immersio in mundo Linux ac praesertim in discendo quomodo testae graphicae (desktop environment, DE) opera, obiter, Xfce in Linux Mint posui, monstravit applicationes ac mimi-typum cum ea coniungi solere directe in scriptis. brevis lima cum extensione .desktop. Cur non, simplex applicationis brevem efficio, quae simpliciter scriptam et emissam et output argumenti ad consolandum transiit, solum ipsum fasciculum brevem praebeo;

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

Xdg-apertum e consolatorio deduco, eandem connexionem praeteriens quae e navigatro et bummer .... venit. Iterum dicit nexum procedere non posse.

Cum evenit, ego directorium notarum mimi-typorum cum applicatione mea non renovavi. Hoc mandatum simplex factum est;

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

quod solum lima recenseat ~/.config/mimeapps.list.

Conare numerum 2 cum vocatione xdg-aperta - et iterum defectus. Nihil, difficultas nos non terret, sed tantum fomentum interest. Et armata omni potentia bash (i.e. tracing), we dive headfirst into debugging. Gravis hic notare quod xdg-apertum est tantum scripturae concha.

bash -x xdg-open $url

In examinandis output peractis parum liquet quod imperium tunc translatum est exo-patentibus. Hoc iam fasciculus binarius et difficilius intellegendum est cur male reditus codicem reddit cum nexum cum eo in argumento transiens.

Cum per interna xdg-aperta perspexisse, inveni varias ambitus parametris analyses varias enucleare et ulterius moderari vel ad instrumenta quaedam fasciculi aperiendi nexus specificos ad particularem DE, vel munus fallacum habere. 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
}

Cito hic scidit parvam stragulam cum analysi argumenti elapsi et si substringi specificatio nostra ibi sita est lync15;, tunc statim imperium ad munus transfermus open_generic.

Numerum 3 attentare et laborasse putas? Sane sane. Sed nuntius erroris iam mutatus est, hoc iam progressus est - nunc ille narrabat tabellam non inventam esse et in forma fasciculi quod mihi scripsit idem nexus cum argumento transiit.

Hoc tempore contigit esse munus is_file_url_or_pathqui analyses tabellae nexus ad input transitum: file:// vel iter ad lima vel aliquid aliud. Et perscriptio non recte ob hoc laborat, quod praepositio nostra numeros habet, et expressio regularis solum characterem constituit qui constans ex :alpha: punctis et impingit. Consulto rfc3986 vexillum for uniformis resource identifier Patuit hoc tempore Microsoft aliquid non violare (quamvis talem versionem haberem). Iusta character classis : alpha : continet tantum litteras abecedarium Latinum. Cito reprehendo regularem mutationem alphanumeric. Factum, mirabile es, omnia tandem incipit, imperium postquam omnia pressionum applicationis nostrae scriptioni data est, nostra nexus in consolatorio monstratur, omnia ut oportet. Postea suspicari incipio omnes difficultates exo-patentes esse etiam ob convalidationem nexus formatorum propter numeros in schemate. Ut hypothesin probes, adnotationem mimi-typi mutationem applicationis ad rationem iustam converto lync ac voila - omnia opera sine functione open_xfce earundem. Sed hoc nobis nullo modo adiuvabit, quia pagina ad colloquium ingrediendi nexum cum lync15 gignit.

Prima itaque pars itineris peracta est. Scimus quomodo nexum vocationis intercipiendi et tunc aliquo modo procedendum esse et intra Pidgin transisse necesse est. Ut intelligam quomodo interne operatur cum notitia per nexum in "conloquium iungere" in menu, Git repositorium Sipe incepti conclusi et iterum in codicem dare paratus sum. Sed tunc feliciter in scriptis allectus sum in catalogo contrib/dbus/:

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

Evenit ut Sipe plugin pro commercio per dbus (desktop bus) praesto sit et intra scripta exempla coniungendi colloquii per nexum, vel per nomen auctoris et conf-id, vel vocationem per sorbendum incipere potes. . Haec prorsus quae nobis defuerunt.

Gradus 2. deducendi autojoin tracto

Cum exempla in Bacca parata sint, tantum uti decrevi sipe-join-conference-with-uri.pl ac paulum ad te ipsum tempera. Scribere in Margarita possum, ideo praecipuas quaslibet difficultates non attulit.

Seorsim scripturam probans, vocationem suam in tabella scripsi lync.desktop. Et fuit victoria! Cum in colloquium venirent, paginam iungere et xdg-aperire ad currere permittens, colloquium fenestram e Pidgin automatice aperiret. Quam laetatus sum.
Prosperitate incitatus, idem facere decrevi pro navigatro meo principali, Mozilla Firefox. Cum per vulpem aperies, pagina concessionis aperit et in ipso fundo globulum est iungere per officium communicator. Illa fuit qui meam comprehendit operam. Cum eam in navigatro premes, ad electronicam accedit:

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

cui benigne mihi narrat se ignorare quomodo aperiat, et fortasse applicationem tali protocollo adiunctam non habeo. Bene, iam per hoc fuimus.

Cito subcriptio meam scriptionem applicationis etiam ad uri propositum conf et nihil fit. Navigatorium queritur non esse applicationem qui nexus meos tractat. In hoc casu, vocans xdg-apertum a consolatorio cum parametris perfecte operatur.

"Pone morem tracto protocollo in incendia" - Ibam online cum hac quaestione. Postquam per plures disputationes de StackOverflow (et ubi essemus sine eo), inventa responsio videtur. Vos postulo ut specialem modulum creare in aboutconfig (Sane repositoque foo cum conf)

network.protocol-handler.expose.foo = false

Creamus eam, aperite nexum et nihil tale fortuna. navigatrum, quasi nihil acciderit, negat rem nostram applicationem nescire.

Documentum officiale lego in protocollo de Mozilla perscriptum, optionis est consociationes mandare in ipso gnomo escritorio (reponat foo cum conf, sane);

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

Subcriptio, pasco aperi ... et iterum barbam.

Hic linea e documentis oculum meum comprehendit;

Proximo tempore premes nexum protocol-type foo rogaberis utra applicatio ad eam aperias.

β€” Semyon Semenych
- Ahh

Non deprime nexum, sed pagina interretialis solum fenestra.location per javascript mutat. Scribo fasciculum simplex html cum nexu ad conf protocollum, aperi in navigatro, preme in nexum - Yos! Fenestram aperit quaerebat in qua applicatione nexum nostrum aperiendum nobis est, et ibi iam habemus applicationem Lync in indice - eam modis omnibus honeste descripserunt. Ibi in fenestra perscriptio est "memini electionis et semper aperta nexus in applicatione nostra", illud attendite, preme ok. Et haec est secunda victoria - fenestra colloquii aperit. Simul colloquia aperiens non solum cum nexum premes, sed etiam cum a pagina iungendo movens, colloquio opus est.

Tum repressi, parametri deletΓ’ network.protocol-handler.expose.conf in Fox protocollo operationem nullo modo afficit. Nexus laborandum.

conclusio,

Totum opus meum ad GitHub repositorium imposui: nexus omnium facultatum in fine articuli erunt.
Ego quaero ut recipias opiniones ab iis qui labore meo uti volunt. Statim notare debeam me totum evolutionis rationem tantum pro Linux monetaria mea fecisse, ut nonnullae aliae distributiones vel desktops in illa versione laborare non possint. Immo etiam paene hoc certus sum, quod solum 1 munus in xdg-aperto, quod solum ad DE meum pertinet, distinxi. Si subsidium aliis systematibus seu desktops addere vis, scribe mihi petitiones trahere in Github.

Totum consilium vespere usque ad 1 perficiendum suscepit.

references:

Source: www.habr.com