በሊኑክስ ላይ ወደ Lync ኮንፈረንስ በራስ-ሰር ይግቡ

ሃይ ሀብር!

ለእኔ፣ ይህ ሐረግ ከሠላም ዓለም ጋር ተመሳሳይ ነው፣ ምክንያቱም በመጨረሻ የመጀመሪያ እትሜ ላይ ስለደረስኩ ነው። ለመጻፍ ምንም ነገር ስለሌለ ይህን አስደናቂ ጊዜ ለረጅም ጊዜ አቆምኩ, እና ደግሞ ቀደም ሲል በበርካታ ጊዜያት የተጠለፈውን ነገር ለመምጠጥ አልፈልግም. በአጠቃላይ፣ ለመጀመሪያው ህትመቴ ኦሪጅናል የሆነ ነገር ፈልጌ ነበር፣ ለሌሎች ጠቃሚ እና የሆነ አይነት ፈተና እና ችግር ፈቺ የያዘ። እና አሁን ይህንን ማጋራት እችላለሁ. አሁን ስለ ሁሉም ነገር በቅደም ተከተል እንነጋገር.

ግቤት

ይህ ሁሉ የተጀመረው ከተወሰነ ጊዜ በፊት ሊኑክስ ሚንት በስራ ኮምፒውተሬ ላይ ሳወርድ ነው። ብዙ ሰዎች ፒዲጂን ከሲፕ ፕለጊን ጋር የማይክሮሶፍት ሊንክ (አሁን ስካይፕ ለንግድ ተብሎ የሚጠራው) ለሊኑክስ ስርዓቶች ሙሉ በሙሉ ተስማሚ ምትክ እንደሆነ ያውቃሉ። በስራዬ ልዩ ሁኔታ ፣ በ SIP ኮንፈረንስ ውስጥ ብዙ ጊዜ መሳተፍ አለብኝ ፣ እና የዊንዶውስ ሰራተኛ ሳለሁ ፣ ኮንፈረንስ መግባት አንደኛ ደረጃ ነበር፡ ግብዣ በፖስታ ይደርሰናል ፣ የመግቢያ ማገናኛን ጠቅ ያድርጉ እና ለመሄድ ዝግጁ ነን። .

ወደ ጨለማው የሊኑክስ ጎን ሲቀይሩ ሁሉም ነገር በተወሰነ ደረጃ የተወሳሰበ ሆነ ፣በእርግጥ ፣ በፒድጂን ውስጥ ወደ ኮንፈረንስ መግባትም ይችላሉ ፣ ግን ይህንን ለማድረግ በ SIP መለያዎ ባህሪዎች ውስጥ ባለው ምናሌ ውስጥ የመቀላቀል ኮንፈረንስ ምርጫን መምረጥ ያስፈልግዎታል እና በሚከፈተው መስኮት ውስጥ ወደ ኮንፈረንስ የሚወስድ አገናኝ አስገባ ወይም የአደራጁን ስም አስገባ እና conf id. እና ከተወሰነ ጊዜ በኋላ “ይህን በሆነ መንገድ ማቃለል ይቻል ይሆን?” ብዬ ማሰብ ጀመርኩ። አዎ፣ ይህ ለምን አስፈለገህ ማለት ትችላለህ? በዊንዶው ላይ ብቀመጥ እመርጣለሁ እና ሀሳቤን ባላነፍስ።

ደረጃ 1፡ ምርምር

ኔክራሶቭ “በራስ ውስጥ በደንብ የሚኖረው” በሚለው ሥራው ላይ “በጭንቅላታችሁ ውስጥ አንዳንድ ጩኸት ካጋጠመህ እሱን በችጋር ልታወጣው አትችልም” ብሏል።

ስለዚህ ሀሳቡ አንዴ ጭንቅላቴ ውስጥ ከገባ በኋላ ከተወሰነ ጊዜ በኋላ የመተግበር የመጀመሪያ ሀሳብ ተነሳ። ሁሉም ነገር ቀላል ይመስላል - የአገናኞችን መዳረሻ መጥለፍ ያስፈልግዎታል meet.company.com/user/confid - በመኪናዎ ላይ የአካባቢያዊ የድር መተግበሪያ ሂደትን በ 127.0.0.1 ላይ ይጫኑ እና በ /etc/hosts ውስጥ ወደ ኮንፈረንስ ለመግባት ለኩባንያው ጎራ የማይለዋወጥ ግቤት ይጨምሩ ፣ ወደ localhost ይጠቁማሉ። በመቀጠል ይህ የድር አገልጋይ ወደ እሱ የመጣውን አገናኝ ማካሄድ እና በሆነ መንገድ በፒድጂን ውስጥ ማስተላለፍ አለበት (ወዲያው እናገራለሁ በዚህ ደረጃ አሁንም እንዴት እንደምሰጠው አላውቅም ነበር)። በእርግጥ መፍትሄው እንደ ክራንች ይሸታል, እኛ ግን ፕሮግራመሮች ነን, ክራንች አያስፈራሩንም (ሻይ).

ከዚያ በአጋጣሚ የግብዣ ማገናኛን በሆነ መንገድ በጎግል ክሮም ውስጥ ከፍቼ ነበር (እና ብዙውን ጊዜ ሞዚላ ፋየርፎክስን ሁልጊዜ እጠቀማለሁ)። እና የሚገርመኝ ፣ ድረ-ገጹ ሙሉ በሙሉ የተለየ ይመስላል - የተጠቃሚ ውሂብን ለማስገባት ምንም ቅጽ አልነበረም እና ወዲያውኑ ገጹን ከገባ በኋላ የሆነ ነገር ለመክፈት ጥያቄ ቀረበ። xdg-open. ለመዝናናት ያህል፣ “አዎ”ን ጠቅ አድርጌ የስህተት መልእክት ይመጣል - ሊንኩ lync15:confjoin?url=https://meet.company.com/user/confid ሊከፈት አይችልም። እም. ይህ ምን አይነት xdg-open ነው እና እንደዚህ አይነት አገናኞች እንዲከፈቱ ምን ያስፈልገዋል? ከሟች በኋላ የተደረገ የሰነድ ንባብ ተጓዳኝ መተግበሪያዎችን ከዩሪ እቅድ ፕሮቶኮሎች ጋር ወይም ከተወሰኑ የፋይል አይነቶች ጋር ለማሄድ የሚረዳ GUI ተቆጣጣሪ መሆኑን አሳይቷል። ማኅበራት የሚዋቀሩት በሚሚ ዓይነት ካርታ ነው። ስለዚህ ለተሰየመ የዩሪ እቅድ ተዛማጅ መተግበሪያ ፍለጋ እያካሄድን መሆኑን አይተናል ሊንክ15 እና አገናኙ ወደ xdg-open ተላልፏል, ከዚያም, በንድፈ ሀሳብ, ለዚህ አይነት አገናኝ ኃላፊነት ላለው አንዳንድ መተግበሪያ ማስተላለፍ አለበት. የትኛው, በእርግጥ, በእኛ ስርዓት ውስጥ የለንም. ካልሆነ ታዲያ በክፍት ምንጭ ዓለም ውስጥ ምን ያደርጋሉ? ልክ ነው, እኛ እራሳችን እንጽፋለን.

በሊኑክስ አለም እና በተለይም የግራፊክ ሼል (ዴስክቶፕ አካባቢ ፣ DE) እንዴት እንደሚሰራ በማጥናት ፣ በነገራችን ላይ ፣ በሊኑክስ ሚንት ውስጥ Xfce አለኝ ፣ አፕሊኬሽኖች እና ከሱ ጋር የተቆራኙት ሚሚ ዓይነቶች ብዙውን ጊዜ በቀጥታ በ ውስጥ እንደሚፃፉ አሳይቷል ። አቋራጭ ፋይሎች ከቅጥያ .ዴስክቶፕ ጋር። ደህና ፣ ለምን አልሆንም ፣ ቀላል የመተግበሪያ አቋራጭ እፈጥራለሁ ፣ ይህም በቀላሉ የባሽ ስክሪፕት ያስነሳ እና ለእሱ የተላለፈውን ክርክር ወደ ኮንሶሉ ያወጣል ፣ እኔ አቋራጭ ፋይሉን ብቻ አቀርባለሁ ።

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

ከኮንሶሉ ላይ xdg-openን አስጀምሪያለሁ፣ከአሳሹ የሚመጣውን ተመሳሳዩን ሊንክ በማለፍ እና...አሳሳቢ። እንደገና ግንኙነቱን ማካሄድ እንደማይችል ይናገራል።

እንደ ተለወጠ፣ ተዛማጅ የሆኑ ሚሚ-አይነቶችን ማውጫ ከመተግበሪያዬ ጋር አላዘመንኩም። ይህ የሚከናወነው በቀላል ትእዛዝ ነው-

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

በቀላሉ ፋይሉን የሚያስተካክል ~/.config/mimeapps.list.

ሙከራ ቁጥር 2 ከ xdg-ክፍት ጥሪ ጋር - እና እንደገና አልተሳካም። ምንም ፣ ችግሮች አያስፈራሩንም ፣ ግን ፍላጎታችንን ያባብሱታል። እና ሁሉንም የባሽ ሃይል ታጥቀን (ማለትም መከታተያ)፣ በቅድሚያ ወደ ማረም እንገባለን። እዚህ ላይ xdg-open የሼል ስክሪፕት ብቻ መሆኑን ልብ ማለት ያስፈልጋል።

bash -x xdg-open $url

ከተጣራ በኋላ ውጤቱን በመተንተን መቆጣጠሪያው ወደ መተላለፉ ትንሽ ግልጽ ይሆናል exo-open. እና ይሄ ቀድሞውኑ ሁለትዮሽ ፋይል ነው እና በክርክር ውስጥ ወደ እሱ አገናኝ ሲያልፍ ያልተሳካ የመመለሻ ኮድ ለምን እንደሚመልስ ለመረዳት የበለጠ ከባድ ነው።

የ xdg-openን የውስጥ ክፍል ከተመለከትኩ በኋላ የተለያዩ የአካባቢ መለኪያዎችን እንደሚተነተን እና ቁጥጥርን የበለጠ ወይም ለአንድ የተወሰነ DE የተወሰኑ የፋይል አገናኞችን ለመክፈት ለአንዳንድ መሳሪያዎች እንደሚያስተላልፍ ተረድቻለሁ። ክፍት_አጠቃላይ

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
}

ያለፈውን መከራከሪያ ትንተና እና የእኛ ልዩ ንዑስ ሕብረቁምፊ እዚያ የሚገኝ ከሆነ ትንሽ ጠለፋን በፍጥነት እዚህ እከተላለሁ። ሊንሲ15፡, ከዚያም ወዲያውኑ መቆጣጠሪያውን ወደ ተግባሩ እናስተላልፋለን ክፍት_አጠቃላይ.

ሙከራ ቁጥር 3 እና የሚሰራ ይመስልዎታል? አዎ፣ አሁን፣ በእርግጥ። ነገር ግን የስህተት መልእክቱ ቀድሞውኑ ተለውጧል, ይህ ቀድሞውኑ መሻሻል ነው - አሁን ፋይሉ እንዳልተገኘ እየነገረኝ እና በፋይል መልክ ጻፈኝ ተመሳሳይ አገናኝ እንደ ክርክር አለፈ.

በዚህ ጊዜ ተግባር ሆኖ ተገኘ ፋይል_url_ወይም_መንገድ_ነውወደ ግብአት የተላለፈውን የፋይል አገናኝ የሚተነትነው: file:// ወይም ወደ ፋይሉ የሚወስደውን መንገድ ወይም ሌላ ነገር. እና ቼኩ በትክክል አልሰራም ምክንያቱም የእኛ ቅድመ ቅጥያ (ዩአርኤል እቅድ) ቁጥሮች ስላለው እና መደበኛው አገላለጽ : alpha: ነጥቦችን እና ሰረዞችን የያዘውን የቁምፊ ስብስብ ብቻ ይፈትሻል። የ rfc3986 መስፈርትን ካማከሩ በኋላ ወጥ ሀብት መለያ በዚህ ጊዜ ማይክሮሶፍት ምንም ነገር እንደማይጥስ ግልጽ ሆነ (ምንም እንኳን እንደዚህ አይነት ስሪት ቢኖረኝም). የቁምፊ ክፍል: አልፋ: የላቲን ፊደላትን ብቻ ይዟል። መደበኛውን ቼክ በፍጥነት ወደ ፊደል ቁጥር እቀይራለሁ። ተከናውኗል, እርስዎ አስደናቂ ነዎት, ሁሉም ነገር በመጨረሻ ይጀምራል, ሁሉም ቼኮች ለስክሪፕት መተግበሪያችን ከተሰጡ በኋላ ይቆጣጠሩ, ማገናኛችን በኮንሶል ላይ ይታያል, ሁሉም ነገር መሆን እንዳለበት ነው. ከዚህ በኋላ, በ exo-open ላይ ያሉ ሁሉም ችግሮች በእቅዱ ውስጥ ባሉት ቁጥሮች ምክንያት የአገናኝ ቅርፀቱን በማረጋገጥ ምክንያት መሆናቸውን መጠራጠር እጀምራለሁ. መላምቱን ለመፈተሽ የመተግበሪያውን ሚሚ አይነት ምዝገባ ወደ አንድ እቅድ ብቻ እቀይራለሁ ሊንክ እና ቮይላ - የ open_xfce ተግባርን ሳይሽረው ሁሉም ነገር ይሰራል። ግን ይህ በምንም መንገድ አይረዳንም ፣ ምክንያቱም ወደ ኮንፈረንስ ለመግባት ድረ-ገጽ ከ lync15 ጋር ግንኙነት ይፈጥራል።

ስለዚህ የጉዞው የመጀመሪያ ክፍል ተጠናቀቀ። የአገናኝ ጥሪን እንዴት እንደምናስተጓጉል እናውቃለን እና ከዚያ በሆነ መንገድ ተስተካክሎ በፒድጂን ውስጥ ማለፍ አለበት። በ"ኮንፈረንስ ይቀላቀሉ" ሜኑ ውስጥ በአገናኝ በኩል ውሂብ ሲያስገቡ ከውስጥ እንዴት እንደሚሰራ ለመረዳት የሲፕ ፕሮጄክትን የጊት ማከማቻ ዘጋሁት እና እንደገና ወደ ኮዱ ውስጥ ለመግባት ተዘጋጀሁ። ግን ከዚያ ፣ እንደ እድል ሆኖ ፣ በካታሎግ ውስጥ ባሉ ስክሪፕቶች ሳበኝ። አስተዋጽዖ/ዲባስ/:

  • sipe-join-conference-with-uri.pl
  • sipe-መቀላቀል-ኮንፈረንስ-ጋር-አዘጋጅ-እና-መታወቂያ.pl
  • sipe-ጥሪ-ስልክ-ቁጥር.pl
  • SipeHelper.pm

የ Sipe ፕለጊን በ dbus (የዴስክቶፕ አውቶቡስ) መስተጋብር የሚገኝ ሲሆን በስክሪፕቶቹ ውስጥ ኮንፈረንስን በአገናኝ በኩል የመቀላቀል ምሳሌዎች አሉ ፣ በአዘጋጁ ስም እና conf-id ፣ ወይም በ sip ጥሪን መጀመር ይችላሉ ። . የጠፋብንም ይህ ነበር።

ደረጃ 2. የራስ-መቀላቀል ተቆጣጣሪን በመተግበር ላይ

በፐርል ውስጥ ዝግጁ የሆኑ ምሳሌዎች ስላሉ፣ እኔ ብቻ ለመጠቀም ወሰንኩ። sipe-join-conference-with-uri.pl እና ለራስህ ተስማሚ እንዲሆን ትንሽ አሻሽለው. በፐርል ውስጥ መጻፍ እችላለሁ, ስለዚህ ምንም ልዩ ችግር አላመጣም.

ስክሪፕቱን ለብቻው ከሞከርኩ በኋላ ጥሪውን ወደ ፋይሉ ጻፍኩት lync.desktop. እና ድል ነበር! ወደ ኮንፈረንስ መቀላቀል ገጽ ሲገቡ እና xdg-open እንዲሰራ ሲፈቅዱ ከፒድጂን የመጣው የኮንፈረንስ ብቅ-ባይ መስኮት በራስ-ሰር ይከፈታል። እንዴት እንደተደሰትኩ.
በስኬቱ በመበረታታት ለዋናው አሳሽ ለሞዚላ ፋየርፎክስ ተመሳሳይ ነገር ለማድረግ ወሰንኩ። በቀበሮው በኩል ሲገቡ የፈቃድ ገጽ ይከፈታል እና ከታች በኩል አንድ አዝራር አለ የቢሮ ኮሙዩኒኬሽን በመጠቀም ይቀላቀሉ. ትኩረቴን የሳበችኝ እሷ ነበረች። በአሳሹ ላይ ጠቅ ሲያደርጉት ወደ አድራሻው ይሄዳል፡-

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

እሱን እንዴት እንደሚከፍት እንደማያውቅ እና ምናልባትም ለእንደዚህ ዓይነቱ ፕሮቶኮል ተዛማጅ ማመልከቻ የለኝም ብሎ በደግነት ነገረኝ። እንግዲህ ከዚህ በፊት በዚህ አልፈናል።

ለኡሪ እቅድ የስክሪፕት ማመልከቻዬን በፍጥነት አስመዘግባለሁ። ኮንፈ እና ... ምንም ነገር አይከሰትም. አሳሹ የኔን ሊንኮች የሚያስተናግድ አፕሊኬሽን የለም ብሎ ማጉረምረሙን ይቀጥላል። በዚህ አጋጣሚ xdg-open ከኮንሶል በመደወል መለኪያዎች በትክክል ይሰራል።

"በፋየርፎክስ ውስጥ ብጁ ፕሮቶኮል ተቆጣጣሪን አዘጋጅ" - በዚህ ጥያቄ ወደ መስመር ገባሁ። በተደራራቢ ፍሰት ላይ ብዙ ውይይቶችን ካሳለፍን በኋላ (እና ያለሱ የት እንሆን ነበር) መልሱ የተገኘ ይመስላል። በ ውስጥ ልዩ መለኪያ መፍጠር ያስፈልግዎታል ስለ: config (በእርግጥ fooን በ conf መተካት)

network.protocol-handler.expose.foo = false

እኛ እንፈጥራለን, አገናኙን ይክፈቱ እና ... እንደዚህ አይነት ዕድል የለም. አሳሹ ምንም ነገር እንዳልተከሰተ ሁሉ የእኛን መተግበሪያ አያውቀውም ይላል።

ከሞዚላ ፕሮቶኮል ስለመመዝገብ ኦፊሴላዊ ሰነዶችን እያነበብኩ ነው ፣ በ gnome ዴስክቶፕ ውስጥ ማህበራትን የመመዝገብ አማራጭ አለ (በእርግጥ foo በ conf መተካት)

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

ተመዝግቤአለሁ፣ አሳሹን ከፈትኩ... እና እንደገና ጢሙን።

እዚህ ከሰነዱ አንድ መስመር ዓይኔን ይስባል፡-

በሚቀጥለው ጊዜ የፕሮቶኮል አይነት foo አገናኝን ሲጫኑ በየትኛው መተግበሪያ እንደሚከፍቱ ይጠየቃሉ።

- ሴሚዮን ሴሜኒች
- አህ

አገናኙ ላይ ጠቅ አናደርግም ፣ ግን ድረ-ገጹ በቀላሉ window.location በጃቫስክሪፕት ይለውጣል። ወደ conf ፕሮቶኮል አገናኝ ጋር አንድ ቀላል የኤችቲኤምኤል ፋይል እጽፋለሁ ፣ በአሳሹ ውስጥ ይክፈቱት ፣ አገናኙን ጠቅ ያድርጉ - ዮስ! አገናኙን በየትኛው መተግበሪያ መክፈት እንዳለብን የሚጠይቅ መስኮት ይከፈታል ፣ እና እዚያም የ Lync መተግበሪያችን በዝርዝሩ ውስጥ አለን - በሁሉም መንገዶች በሐቀኝነት ተመዝግበናል። እዚያ በመስኮቱ ውስጥ "ምርጫውን አስታውሱ እና በአፕሊኬሽኑ ውስጥ ሁልጊዜ አገናኞችን ይክፈቱ" የሚል ሳጥን አለ, ምልክት ያድርጉበት, እሺን ጠቅ ያድርጉ. እና ይህ ሁለተኛው ድል ነው - የኮንፈረንስ መስኮት ይከፈታል. በተመሳሳይ ጊዜ ኮንፈረንስ መክፈት የሚሠራው ሊንክ ላይ ሲጫኑ ብቻ ሳይሆን ከመገናኛ ገጽ ወደ ኮንፈረንስ በሚገቡበት ጊዜም ጭምር ነው።

ከዚያ አጣራሁ, መለኪያዎችን ሰርዝ network.protocol-handler.expose.conf በፎክስ ውስጥ የፕሮቶኮሉን አሠራር በምንም መልኩ አልነካም። ማገናኛዎቹ መስራታቸውን ቀጥለዋል።

መደምደሚያ

ሁሉንም ስራዎቼን ወደ GitHub ማከማቻ ሰቅያለሁ፤ የሁሉም ግብአቶች አገናኞች በአንቀጹ መጨረሻ ላይ ይሆናሉ።
ስራዬን ለመጠቀም ከሚፈልጉት ግብረ መልስ የመቀበል ፍላጎት አለኝ። ወዲያውኑ ሁሉንም እድገቶችን ያደረግሁት ለሊኑክስ ሚንት ሲስተም ብቻ መሆኑን ነው፣ ስለዚህ አንዳንድ ሌሎች ስርጭቶች ወይም ዴስክቶፖች በዚያ ስሪት ላይሰሩ ይችላሉ። ወይም ይልቁኑ፣ በዚህ ላይ እርግጠኛ ነኝ፣ ምክንያቱም በ xdg-open ውስጥ ከ DE ጋር ብቻ የሚዛመድ 1 ተግባርን ብቻ ለጥፌያለሁ። ለሌሎች ሲስተሞች ወይም ዴስክቶፖች ድጋፍ ማከል ከፈለጉ በ Github ላይ የመሳብ ጥያቄዎችን ይፃፉልኝ።

አጠቃላይ ፕሮጀክቱ ለመጨረስ 1 ምሽት ፈጅቷል።

ማጣቀሻዎች

ምንጭ: hab.com

አስተያየት ያክሉ