เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบžเบทเปˆเบญเบ›เบฐเบŠเบธเบก Lync เปƒเบ™ Linux

Hey Habr!

เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ, เบ›เบฐเป‚เบซเบเบเบ™เบตเป‰เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบชเบฐเบšเบฒเบเบ”เบตเป‚เบฅเบ, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ‚เป‰เบญเบเบกเบฒเบฎเบญเบ”เบเบฒเบ™เบžเบดเบกเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบ–เบญเบ”โ€‹เบ–เบญเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เป€เบชเบตเบ”โ€‹เบ™เบตเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ”เบปเบ™โ€‹เบ™เบฒเบ™โ€‹, เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบงเปˆเบฒโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบซเบเบฑเบ‡โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ‚เบฝเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹, เปเบฅเบฐโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบเบฑเบ‡โ€‹เบšเปเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ”เบนเบ”โ€‹เป€เบญเบปเบฒโ€‹เบšเบฒเบ‡โ€‹เบชเบดเปˆเบ‡โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เบนเบ”โ€‹เบซเบผเบฒเบโ€‹เบ„เบฑเป‰เบ‡โ€‹. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบดเบกเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ‚เป‰เบญเบเบขเบฒเบเป„เบ”เป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เปเบฅเบฐเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบšเบฒเบ‡เบขเปˆเบฒเบ‡. เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ™เบตเป‰เป„เบ”เป‰. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เป€เบ‚เบปเป‰เบฒ

เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบกเบทเปˆเบญเบšเบฒเบ‡เป€เบงเบฅเบฒเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบ‚เป‰เบญเบเป„เบ”เป‰เบ”เบฒเบงเป‚เบซเบฅเบ” Linux Mint เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบšเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบซเบผเบฒเบเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเบฎเบนเป‰เบงเปˆเบฒ Pidgin เบเบฑเบš Sipe plugin เปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบš Microsoft Lync (เบ›เบฐเบˆเบธเบšเบฑเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ Skype เบชเปเบฒเบฅเบฑเบšเบ—เบธเบฅเบฐเบเบดเบ”) เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš Linux. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบก SIP, เปเบฅเบฐเป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™ Windows, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบญเบ‡เบ›เบฐเบŠเบธเบกเปเบกเปˆเบ™เบ›เบฐเบ–เบปเบก: เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเป‰เบญเป€เบŠเบตเบ™เบ—เบฒเบ‡เป„เบ›เบชเบฐเบ™เบต, เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป„เบ›. .

เป€เบกเบทเปˆเบญเบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบ”เป‰เบฒเบ™เบกเบทเบ”เบ‚เบญเบ‡ Linux, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ: เปเบ™เปˆเบ™เบญเบ™, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเปƒเบ™ Pidgin, เปเบ•เปˆเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบเบ•เบปเบงเป€เบฅเบทเบญเบเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบกเปƒเบ™เป€เบกเบ™เบนเปƒเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบต SIP เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐ. เบขเบนเปˆเปƒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ—เบตเปˆเป€เบ›เบตเบ”, เปƒเบชเปˆเบฅเบดเป‰เบ‡เป„เบ›เบซเบฒเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบซเบผเบทเปƒเบชเปˆเบŠเบทเปˆเบ‚เบญเบ‡เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐ conf id. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบšเบฒเบ‡เป€เบงเบฅเบฒเบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเบ„เบดเบ”เบงเปˆเบฒ: "เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปเบ™เบงเปƒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ?" เปเบกเปˆเบ™เปเบฅเป‰เบง, เป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบˆเบปเป‰เบฒเบˆเบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฑเบ™เบ™เบตเป‰?

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 1: เบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒ

เบ—เปˆเบฒเบ™ Nekrasov เบเปˆเบฒเบงเปƒเบ™เบงเบฝเบเบ‚เบญเบ‡เบฅเบฒเบงเบงเปˆเบฒ "เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบเบฐเบ•เบทเบฅเบทเบฅเบปเป‰เบ™เปƒเบ™เบซเบปเบงเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบกเบฑเบ™เบญเบญเบเบ”เป‰เบงเบเบชเบฐเป€เบ•เบ," Nekrasov เบเปˆเบฒเบงเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฒเบง "เบœเบนเป‰เบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆเปƒเบ™ Rus".

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบปเบงเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบงเบฅเบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เปเบฒเบญเบดเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‡เปˆเบฒเบเบ”เบฒเบ - เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ meet.company.com/user/confid โ€” เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ•โ€‹เปŒโ€‹เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™โ€‹เปƒเบ™โ€‹เบฅเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เบ—เบตเปˆ 127.0.0.1 เปเบฅเบฐโ€‹เปƒเบ™ /etc/hosts เป€เบžเบตเปˆเบกโ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบชเบฐโ€‹เบ–เบดเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป‚เบ”โ€‹เป€เบกเบ™โ€‹เบ‚เบญเบ‡โ€‹เบšเปโ€‹เบฅเบดโ€‹เบชเบฑเบ”โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบเบญเบ‡โ€‹เบ›เบฐโ€‹เบŠเบธเบกโ€‹, เบŠเบตเป‰โ€‹เป„เบ›โ€‹เบ—เบตเปˆ localhostโ€‹. เบ•เปเปˆเป„เบ›, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ™เบตเป‰เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบซเบฒเบกเบฑเบ™เปเบฅเบฐเป‚เบญเบ™เบกเบฑเบ™เบžเบฒเบเปƒเบ™ Pidgin (เบ‚เป‰เบญเบเบˆเบฐเป€เบงเบปเป‰เบฒเบ—เบฑเบ™เบ—เบตเบงเปˆเบฒเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเบเบฑเบ‡เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบˆเบฐเปƒเบซเป‰เบกเบฑเบ™เปเบ™เบงเปƒเบ”). เบเบฒเบ™เปเบเป‰เป„เบ‚, เปเบ™เปˆเบ™เบญเบ™, เบกเบตเบเบดเปˆเบ™เบซเบญเบกเบ„เบทเบเบฑเบšเป„เบกเป‰เบ„เป‰เบญเบ™, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบฑเบ™เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก, เป„เบกเป‰เบ„เป‰เบญเบ™เบšเปเปˆเบขเป‰เบฒเบ™เบžเบงเบเป€เบฎเบปเบฒ (เบ‚เบตเป‰เบญเบฒเบ).

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เป€เบŠเบทเป‰เบญเป€เบŠเบตเบ™เบขเบนเปˆเปƒเบ™ Google Chrome (เปเบฅเบฐเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเปƒเบŠเป‰ Mozilla Firefox). เปเบฅเบฐเบ„เบงเบฒเบกเปเบ›เบเปƒเบˆเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบซเบ™เป‰เบฒเป€เบงเบฑเบšเป€เบšเบดเปˆเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเปˆเบฒเบ‡เบชเบดเป‰เบ™เป€เบŠเบตเบ‡ - เบšเปเปˆเบกเบตเปเบšเบšเบŸเบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เป‰เบฒเป€เบงเบฑเบšเบกเบตเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เป€เบ›เบตเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป‚เบ”เบเบœเปˆเบฒเบ™ xdg-open. เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบกเปˆเบงเบ™, เบ‚เป‰เบญเบเบ„เบฅเบดเบเปƒเบชเปˆ "เปเบกเปˆเบ™" เปเบฅเบฐเบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบ›เบฒเบเบปเบ” - เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ lync15:confjoin?url=https://meet.company.com/user/confid เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เป„เบ”เป‰. เบฎเบทเบก. เบ›เบฐเป€เบžเบ”เปƒเบ”เปเบ”เปˆเบ‚เบญเบ‡ xdg-open เบ™เบตเป‰เปเบกเปˆเบ™เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบตเบ”? เบเบฒเบ™เบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบซเบผเบฑเบ‡เบเบฒเบ™เป€เบชเบเบŠเบตเบงเบดเบ”เป„เบ”เป‰เป€เบ›เบตเบ”เป€เบœเบตเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ GUI เบ—เบตเปˆเบŠเปˆเบงเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ uri เบซเบผเบทเบเบฑเบšเบ›เบฐเป€เบžเบ”เป„เบŸเบฅเปŒเบชเบฐเป€เบžเบฒเบฐ. เบชเบฐเบกเบฒเบ„เบปเบกเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเปˆเบฒเบ™เปเบœเบ™เบ—เบตเปˆเบ›เบฐเป€เบžเบ” mime. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ uri เบ—เบตเปˆเบกเบตเบŠเบทเปˆ lync15 เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบš xdg-open, เป€เบŠเบดเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบ„เบงเบ™เบœเปˆเบฒเบ™เบกเบฑเบ™เป„เบ›เบซเบฒเบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ™เบตเป‰. เป€เบŠเบดเปˆเบ‡, เปเบ™เปˆเบ™เบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ–เป‰เบฒเบšเปเปˆ, เปเบฅเป‰เบงเบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบซเบเบฑเบ‡เปƒเบ™เป‚เบฅเบเปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”? เบ–เบทเบเบ•เป‰เบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ‚เบฝเบ™เบกเบฑเบ™เป€เบญเบ‡.

immersion เปƒเบ™เป‚เบฅเบเบ‚เบญเบ‡ Linux เปเบฅเบฐเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบเบฒเบ™เบชเบถเบเบชเบฒเบงเบดเบ—เบตเบเบฒเบ™ shell graphical (เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก desktop, DE) เป€เบฎเบฑเบ”เบงเบฝเบ, เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ‚เป‰เบญเบเบกเบต Xfce เปƒเบ™ Linux Mint, เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบ›เบฐเป€เบžเบ” mime เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบกเบฑเบ™เบกเบฑเบเบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เป‚เบ”เบเบเบปเบ‡เปƒเบ™. เป„เบŸเบฅเปŒเบ—เบฒเบ‡เบฅเบฑเบ”เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ .desktop. เปเบฅเป‰เบง, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆ, เบ‚เป‰เบญเบเบชเป‰เบฒเบ‡เบ—เบฒเบ‡เบฅเบฑเบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบ™เบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบง bash script เปเบฅเบฐเบญเบญเบเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเปˆเบชเบปเปˆเบ‡เบเบฑเบšเบกเบฑเบ™เป„เบ›เบซเบฒ console, เบ‚เป‰เบญเบเปƒเบซเป‰เบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒเบ—เบฒเบ‡เบฅเบฑเบ”เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™:

[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 เบˆเบฒเบ console, เบœเปˆเบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเบกเบฒเบˆเบฒเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบฅเบฐ ... bummer. เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡ เบกเบฑเบ™เบšเบญเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰.

เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบซเบฑเบ™เบญเบญเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ mime-types เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‡เปˆเบฒเบเป†:

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

เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ ~/.config/mimeapps.list.

เบžเบฐเบเบฒเบเบฒเบกเบˆเปเบฒเบ™เบงเบ™ 2 เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ—เบซเบฒ xdg-open - เปเบฅเบฐเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบฅเบปเป‰เบกเป€เบซเบฅเบง. เบšเปเปˆเบกเบตเบซเบเบฑเบ‡, เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบขเป‰เบฒเบ™เบเบปเบง, เปเบ•เปˆเบžเบฝเบ‡เปเบ•เปˆเบ•เบทเปˆเบกเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เปเบฅเบฐเบ›เบฐเบเบญเบšเบญเบฒเบงเบธเบ”เบ—เบตเปˆเบกเบตเบญเปเบฒเบ™เบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ bash (i.e. tracing), เบžเบงเบเป€เบฎเบปเบฒ dive headfirst เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ debugging. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ xdg-open เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบ„เบดเบš shell.

bash -x xdg-open $url

เบเบฒเบ™โ€‹เบงเบดโ€‹เป€เบ„เบฒเบฐโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบžเบฝเบ‡โ€‹เป€เบฅเบฑเบโ€‹เบ™เป‰เบญเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เปเบˆเป‰เบ‡โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบเบปเบโ€‹เบเป‰เบฒเบโ€‹เป„เบ›โ€‹ exo เป€เบ›เบตเบ”. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ–เบฒเบ™เบชเบญเบ‡เปเบฅเป‰เบงเปเบฅเบฐเบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบฅเบฐเบซเบฑเบ”เบ„เบทเบ™เบ—เบตเปˆเบšเปเปˆเบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบœเปˆเบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบกเบฑเบ™เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡.

เป‚เบ”เบเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡ xdg-open, เบ‚เป‰เบญเบเบžเบปเบšเบงเปˆเบฒเบกเบฑเบ™เบงเบดเป€เบ„เบฒเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ”เป‰เบฒเบ™เบชเบดเปˆเบ‡เปเบงเบ”เบฅเป‰เบญเบกเบ•เปˆเบฒเบ‡เป†เปเบฅเบฐเบชเบปเปˆเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ•เปเปˆเบเบฑเบšเบšเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบŸเบฅเปŒเบชเบฐเป€เบžเบฒเบฐเบเบฑเบš DE เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบซเบผเบทเบกเบฑเบ™เบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบซเบผเบธเบ”เบฅเบปเบ‡. 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
}

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบเบฑเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ hack เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เป„เบ›เปเบฅเบฐเบ–เป‰เบฒเบชเบฒเบเบเปˆเบญเบเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™ lync15:, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบ—เบฑเบ™เบ—เบตเป‚เบญเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™ open_generic.

เบžเบฐเบเบฒเบเบฒเบกเป€เบฅเบ 3 เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบšเป? เปเบฅเป‰เบง, เบ”เบฝเบงเบ™เบตเป‰, เปเบ™เปˆเบ™เบญเบ™. เปเบ•เปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบฅเป‰เบง, เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบ„เบทเบšเบซเบ™เป‰เบฒเปเบฅเป‰เบง - เบ•เบญเบ™เบ™เบตเป‰เบฅเบฒเบงเบšเบญเบเบ‚เป‰เบญเบเบงเปˆเบฒเป„เบŸเบฅเปŒเบšเปเปˆเบžเบปเบšเปเบฅเบฐเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฒเบงเบ‚เบฝเบ™เปƒเบซเป‰เบ‚เป‰เบญเบเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡.

เป€เบงเบฅเบฒเบ™เบตเป‰เบกเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆ is_file_url_or_path, เป€เบŠเบดเปˆเบ‡เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบงเบฑเบ”เบชเบฐเบ”เบธเบ›เป‰เบญเบ™: file:// เบซเบผเบทเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบซเบผเบทเบชเบดเปˆเบ‡เบญเบทเปˆเบ™. เปเบฅเบฐเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ (url scheme) เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ•เบปเบงเป€เบฅเบ, เปเบฅเบฐเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ›เบปเบเบเบฐเบ•เบดเบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบ :alpha: dots เปเบฅเบฐ dashes. เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ rfc3986 เบชเปเบฒเบฅเบฑเบš เบ•เบปเบงเบฅเบฐเบšเบธเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš เบกเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบ™เบตเป‰ Microsoft เบšเปเปˆเป„เบ”เป‰เบฅเบฐเป€เบกเบตเบ”เบซเบเบฑเบ‡ (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ‚เป‰เบญเบเบกเบตเบฎเบธเปˆเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง). เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ”เบฑเบšโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™ :alphaโ€‹: เบกเบตโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบฅเบฐโ€‹เบ•เบดเบ™โ€‹. เบ‚เป‰เบญเบเบ›เปˆเบฝเบ™เป€เบŠเบฑเบเปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบ เปเบฅเบฐ เบ•เบปเบงเป€เบฅเบ. เป€เบฎเบฑเบ”เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบฅเบฒเบ”, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบกเบญเบšเปƒเบซเป‰เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบฐเบ„เบดเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™ console, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบฅเบตเปˆเบกเบชเบปเบ‡เปƒเบชเบงเปˆเบฒเบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบต exo-open เปเบกเปˆเบ™เบเป‰เบญเบ™เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ•เบปเบงเป€เบฅเบเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™. เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™, เบ‚เป‰เบญเบเบ›เปˆเบฝเบ™เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ›เบฐเป€เบžเบ” mime เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเป‚เบ„เบ‡เบเบฒเบ™ lync เปเบฅเบฐ voila - เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ overriding เบŸเบฑเบ‡เบŠเบฑเบ™ open_xfce. เปเบ•เปˆเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบŠเปˆเบงเบเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบžเบฒเบฐเบงเปˆเบฒเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš lync15.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบฒเบเบชเปˆเบงเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ”เบตเบ™เบ—เบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป‚เบ—เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบฅเบฐเบœเปˆเบฒเบ™เบžเบฒเบเปƒเบ™ Pidgin. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ™เปเบ™เบงเปƒเบ”เป€เบกเบทเปˆเบญเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบœเปˆเบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เป€เบกเบ™เบน "เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบก", เบ‚เป‰เบญเบเป„เบ”เป‰ cloned Git repository เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Sipe เปเบฅเบฐเบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป‚เบŠเบเบ”เบต, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบˆเบฒเบ scripts เปƒเบ™เบฅเบฒเบเบเบฒเบ™ เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™/dbus/:

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

เบกเบฑเบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒ plugin Sipe เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเปˆเบฒเบ™ dbus (desktop bus) เปเบฅเบฐเบžเบฒเบเปƒเบ™เบชเบฐเบ„เบดเบšเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบœเปˆเบฒเบ™เบ—เบฒเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบœเปˆเบฒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐ conf-id, เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป‚เบ—เบœเปˆเบฒเบ™ sip. . เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฒเบ”เบซเบฒเบเป„เบ›.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 2. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเปƒเบ™ Pearl, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰ sipe-join-conference-with-uri.pl เปเบฅเบฐเบ”เบฑเบ”เปเบ›เบ‡เบกเบฑเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡. เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เปƒเบ™ Pearl, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ.

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฐเบ„เบดเบšเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ‚เบฝเบ™เบเบฒเบ™เป‚เบ—เบ‚เบญเบ‡เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ lync.desktop. เปเบฅเบฐเบกเบฑเบ™เปเบกเปˆเบ™เป„เบŠเบŠเบฐเบ™เบฐ! เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เป‰เบฒเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบกเปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ xdg-open เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™, เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ›เปŠเบญเบšเบญเบฑเบšเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบˆเบฒเบ Pidgin เบˆเบฐเป€เบ›เบตเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบ‚เป‰เบญเบเบ”เบตเปƒเบˆเปเบ™เบงเปƒเบ”.
เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบˆเบฒเบเบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบ‚เป‰เบญเบ, Mozilla Firefox. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบœเปˆเบฒเบ™ fox, เบซเบ™เป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เป€เบ›เบตเบ”เปเบฅเบฐเบขเบนเปˆเบฅเบธเปˆเบกเบชเบธเบ”เบกเบตเบ›เบธเปˆเบก เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเบทเปˆโ€‹เบชเบฒเบ™โ€‹เบซเป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹. เบ™เบฒเบ‡เป€เบ›เบฑเบ™เบœเบนเป‰เบ—เบตเปˆเบˆเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบ„เบฅเบดเบเปƒเบชเปˆเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบกเบฑเบ™เบˆเบฐเป„เบ›เบซเบฒเบ—เบตเปˆเบขเบนเปˆ:

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

เบ—เบตเปˆเบฅเบฒเบงเบšเบญเบเบ‚เป‰เบญเบเบ”เป‰เบงเบเบ„เบงเบฒเบกเบ”เบตเบงเปˆเบฒเบฅเบฒเบงเบšเปเปˆเบฎเบนเป‰เบงเบดเบ—เบตเป€เบ›เบตเบ”เบกเบฑเบ™เปเบฅเบฐ, เบšเบฒเบ‡เบ—เบต, เบ‚เป‰เบญเบเบšเปเปˆเบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบœเปˆเบฒเบ™เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปเบฅเป‰เบง.

เบ‚เป‰เบญเบเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบฐเบ„เบดเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ uri conf เปเบฅเบฐ ... เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบชเบทเบšเบ•เปเปˆเบˆเบปเปˆเบกเบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เป‚เบ—เบซเบฒ xdg-open เบˆเบฒเบ console เบ—เบตเปˆเบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

โ€œเบ•เบฑเป‰เบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป‚เบ›เบฃเป‚เบ•เบ„เปเปเบšเบšเบเบณเบ™เบปเบ”เป€เบญเบ‡เปƒเบ™ firefoxโ€ - เบ‚เป‰เบญเบเป„เบ”เป‰เป„เบ›เบญเบญเบ™เบฅเบฒเบเบ”เป‰เบงเบเบ„เบณเบ–เบฒเบกเบ™เบตเป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบœเปˆเบฒเบ™เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบซเบผเบฒเบเป†เบ„เบฑเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบš stackoverflow (เปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบขเบนเปˆเป‚เบ”เบเบšเปเปˆเบกเบตเบกเบฑเบ™), เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ„เปเบฒเบ•เบญเบšเป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบžเบดเป€เบชเบ”เปƒเบ™ about: config (เปเบ™เปˆเบ™เบญเบ™เบ›เปˆเบฝเบ™ foo เบเบฑเบš conf):

network.protocol-handler.expose.foo = false

เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบกเบฑเบ™, เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐ ... เบšเปเปˆเบกเบตเป‚เบŠเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบ„เบทเบเบฑเบšเบงเปˆเบฒเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™, เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบฎเบนเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เป‚เบ›เป‚เบ•เบ„เบญเบ™เบˆเบฒเบ Mozilla, เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฐเบกเบฒเบ„เบปเบกเปƒเบ™ gnome desktop เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡ (เบ›เปˆเบฝเบ™ 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 เบ—เปˆเบฒเบ™เบˆเบฐเบ–เบทเบเบ–เบฒเบกเบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบกเบฑเบ™.

โ€” Semyon Semenych
- เบญเป‰เบฒเบง

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบ„เบฅเบดเบเปƒเบชเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบงเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเบ›เปˆเบฝเบ™ window.location เบœเปˆเบฒเบ™ javascript. เบ‚เป‰เบญเบเบ‚เบฝเบ™เป„เบŸเบฅเปŒ html เบ‡เปˆเบฒเบเป†เบ”เป‰เบงเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™ conf, เป€เบ›เบตเบ”เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบ„เบฅเบดเบเปƒเบชเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ - Yos! เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเป€เบ›เบตเบ”เบ–เบฒเบกเบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Lync เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ - เบžเบงเบเป€เบฎเบปเบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบกเบฑเบ™เบขเปˆเบฒเบ‡เบŠเบทเปˆเบชเบฑเบ”เปƒเบ™เบ—เบธเบเบ—เบฒเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เบขเบนเปˆเปƒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบกเบตเบเปˆเบญเบ‡เบเบฒเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ "เบˆเบทเปˆเบˆเปเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบฅเบฐเบชเบฐเป€เบซเบกเบตเป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ", เบซเบกเบฒเบเบกเบฑเบ™, เบ„เบฅเบดเบ ok. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เป„เบŠเบŠเบฐเบ™เบฐเบ—เบตเบชเบญเบ‡ - เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ‚เบญเบ‡เบเบญเบ‡เบ›เบฐเบŠเบธเบกเป€เบ›เบตเบ”. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เป€เบ›เบตเบ”เบเบญเบ‡เบ›เบฐเบŠเบธเบกเป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ„เบฅเบดเบเปƒเบชเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เปเบ•เปˆเบเบฑเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบ›เบซเบฒเบเบญเบ‡เบ›เบฐเบŠเบธเบก.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡, เบฅเบถเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ network.protocol-handler.expose.conf เบšเปเปˆเป„เบ”เป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปƒเบ”เป†เบ•เปเปˆเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™เปƒเบ™ Fox. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.

เบชเบฐเบซเบฅเบธเบš

เบ‚เป‰เบญเบเป„เบ”เป‰เบญเบฑเบšเป‚เบซเบฅเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบชเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ GitHub; เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบขเบนเปˆเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก.
เบ‚เป‰เบญเบเบˆเบฐเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบˆเบฒเบเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เบงเบฝเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบ‚เป‰เบญเบเบ„เบงเบ™เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ‚เป‰เบญเบเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš Linux Mint เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเบฒเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเบซเบผเบท desktop เบญเบทเปˆเบ™เป†เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบฎเบธเปˆเบ™เบ™เบฑเป‰เบ™. เบซเบผเบทเปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบ‚เป‰เบญเบเป€เบเบทเบญเบšเปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเป„เบ”เป‰เปเบเป‰เป„เบ‚เบžเบฝเบ‡เปเบ•เปˆ 1 เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบ™ xdg-open เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš DE เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบญเบทเปˆเบ™เป†เบซเบผเบท desktop, เบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡เบ‚เป‰เบญเบเปƒเบ™ Github.

เป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒ 1 เบ•เบญเบ™เปเบฅเบ‡เบˆเบถเปˆเบ‡เบชเบณเป€เบฅเบฑเบ”.

เป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡:

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™