ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ!
ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠ° ΡΡΠ°Π·Π° ΡΡΠΎΠ΄Π½ΠΈ hello world, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π΄ΠΎΠ±ΡΠ°Π»ΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π΄ΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΎΠ»Π³ΠΎ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π» ΡΡΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π±ΡΠ»ΠΎ Π½Π΅ ΠΎ ΡΠ΅ΠΌ, Π° ΠΎΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΡΠΎ, ΡΡΠΎ ΡΠΆΠ΅ ΠΏΠΎ ΠΊΡΡΠ΅ ΡΠ°Π· ΠΎΠ±ΡΠΎΡΠ°Π½ΠΎ, ΡΠΎΠΆΠ΅ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ. ΠΠΎΠΎΠ±ΡΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΡΠΎ-ΡΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅Π»Π»Π΅Π½ΠΆ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π Π²ΠΎΡ Ρ ΡΠΆΠ΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠΈΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠ°Π»ΠΎΡΡ Π²ΡΠ΅ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ΅ Π½Π°ΠΊΠ°ΡΠΈΠ» ΡΠ΅Π±Π΅ Linux Mint. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°ΡΡ, ΡΡΠΎ Pidgin Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Sipe Π²ΠΏΠΎΠ»Π½Π΅ Π³ΠΎΠ΄Π½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Microsoft Lync (ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Skype for business) Π΄Π»Ρ Linux ΡΠΈΡΡΠ΅ΠΌ. Π ΡΠΈΠ»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² sip-ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ , ΠΈ Π² Π±ΡΡΠ½ΠΎΡΡΡ Π²ΠΈΠ½Π΄ΡΠ·ΡΡΠ½ΠΈΠΊΠ° Π²Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π±ΡΠ» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΌ: ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΅, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΡΡΡΠ»ΠΊΡ Π²Ρ ΠΎΠ΄Π°, Π³ΠΎΡΠΎΠ²ΠΎ ΠΌΡ Π²Π½ΡΡΡΠΈ.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ Π½Π° ΡΠ΅ΠΌΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ Linux Π²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎΡΡ: Π²Ρ
ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π² Pidgin ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ, Π½ΠΎ ΡΠ°ΠΌ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
Π²Π°ΡΠ΅Π³ΠΎ sip-Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π² ΠΌΠ΅Π½Ρ ΠΈ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Π»ΠΈΠ±ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΎΡΠ° ΠΈ conf id. Π ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Ρ Π½Π°ΡΠ°Π» Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ: Β«Π° Π½Π΅Π»ΡΠ·Ρ Π»ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ ΡΡΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡΒ». ΠΠ³Π°, ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π²Ρ, Π½Π° ΠΊΠΎΠΉ ΡΠ΅ΡΡ ΡΠ΅Π±Π΅ ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ, ΡΠΈΠ΄Π΅Π» Π±Ρ ΡΠ΅Π±Π΅ Π½Π° Π²ΠΈΠ½Π΄Π΅ ΠΈ Π² ΡΡ Π½Π΅ Π΄ΡΠ».
Π¨Π°Π³ 1. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
Β«ΠΡΠ΅ΠΌΡΡΠΈΡΡΡ Π² Π±Π°ΡΠΊΡ ΠΊΠ°ΠΊΠ°Ρ Π±Π»Π°ΠΆΡ β ΠΊΠΎΠ»ΠΎΠΌ Π΅Π΅ ΠΎΡΡΡΠ΄ΠΎΠ²Π° Π½Π΅ Π²ΡΠ±ΡΠ΅ΡΡΒ» β ΡΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΠ΅ΠΊΡΠ°ΡΠΎΠ² Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ Β«ΠΠΎΠΌΡ Π½Π° Π ΡΡΠΈ ΠΆΠΈΡΡ Ρ ΠΎΡΠΎΡΠΎΒ».
ΠΡΠ°ΠΊ, ΡΠ°Π· ΡΠΆ ΠΌΡΡΠ»Ρ ΠΏΠΎΠΏΠ°Π»Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρ, ΡΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ΄Π΅Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°Π·Π°Π»ΠΎΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ β Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠ»ΠΊΠ°ΠΌ
ΠΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Ρ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΡΠΊΡΡΠ» ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π² Google Chrome (Π° ΠΎΠ±ΡΡΠ½ΠΎ Ρ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Mozilla Firefox). Π Π½Π° ΠΌΠΎΠ΅ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠΊΠ° Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΡΠΎΠ²ΡΠ΅ΠΌ ΠΈΠ½Π°ΡΠ΅ β Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΎΡΠΌΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²Ρ ΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΠ» Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ΅Π³ΠΎ-ΡΠΎ ΡΠ΅ΡΠ΅Π· xdg-open. Π Π°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° Π½Π°ΠΆΠΈΠΌΠ°Ρ Β«Π΄Π°Β» ΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ β ΡΡΡΠ»ΠΊΠ° lync15:confjoin?url=https://meet.company.com/user/confid Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΠ°. Π₯ΠΌΠΌ. Π§ΡΠΎ ΡΡΠΎ Π·Π° xdg-open ΡΠ°ΠΊΠΎΠΉ ΠΈ ΡΡΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΎΡΠΊΡΡΠ²Π°Π»ΠΈΡΡ? ΠΡΠΊΡΡΡΠΈΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΠΈΠ±ΠΎ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π΄Π»Ρ uri scheme, Π»ΠΈΠ±ΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ mime-type. ΠΡΠ°ΠΊ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ uri scheme Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ lync15 ΠΈ ΡΡΡΠ»ΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² xdg-open, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎ ΠΈΠ΄Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π΅ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΡΡΡΠ»ΠΎΠΊ. ΠΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ Π½Π°Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅Ρ. Π ΡΠ°Π· Π½Π΅Ρ, ΡΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π² ΠΌΠΈΡΠ΅ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ°? ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°ΠΌΠΈ.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ Linux ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° (desktop environment, DE), ΠΊ ΡΠ»ΠΎΠ²Ρ Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Xfce Π² Linux Mint, ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ Π½ΠΈΠΌ mime-type ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΡΠΌΠΎ Π² ΡΠ°ΠΉΠ»Π°Ρ ΡΡΠ»ΡΠΊΠΎΠ² Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .desktop. ΠΡ Π° ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΈ Π½Π΅Ρ, ΡΠΎΠ·Π΄Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ»ΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±Π°Ρ-ΡΠΊΡΠΈΠΏΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΏΡΠΈΠ²ΠΎΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΡΡΠ»ΡΠΊΠ°:
[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 ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ΄Π΅Ρ ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈβ¦ ΠΎΠ±Π»ΠΎΠΌ. Π‘Π½ΠΎΠ²Π° Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡΠ»ΠΊΡ.
ΠΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Ρ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ mime-type Ρ ΠΌΠΎΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
xdg-mime default lync.desktop x-scheme-handler/lync15
ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ~/.config/mimeapps.list.
ΠΠΎΠΏΡΡΠΊΠ° Π½ΠΎΠΌΠ΅Ρ 2 Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ xdg-open β ΠΈ ΡΠ½ΠΎΠ²Π° Π½Π΅ΡΠ΄Π°ΡΠ°. ΠΠΈΡΠ΅Π³ΠΎ, ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π½Π°Ρ Π½Π΅ ΠΏΡΠ³Π°ΡΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ³ΡΠ΅Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ. Π Π²ΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ Π²ΡΠ΅ΠΉ ΠΌΠΎΡΡΡ Π±Π°ΡΠ° (Ρ.Π΅. ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ) Π½ΡΡΡΠ΅ΠΌ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ Π² ΠΎΡΠ»Π°Π΄ΠΊΡ. Π’ΡΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ xdg-open ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π»Π»-ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
bash -x xdg-open $url
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π°Π»ΡΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² exo-open. Π ΡΡΠΎ ΡΠΆΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΅ΠΌΡ ΡΡΡΠ»ΠΊΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΡΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅.
ΠΡΠΎΠ±Π΅ΠΆΠ°Π² ΠΏΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡΠΌ xdg-open Ρ Π²ΡΡΡΠ½ΠΈΠ», ΡΡΠΎ ΠΎΠ½ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡΡΠ»ΠΎΠΊ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ DE, Π»ΠΈΠ±ΠΎ Ρ Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ fallback Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ 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
}
ΠΡΡΡΡΠΎ Π²ΠΏΠΈΠ»ΠΈΠ²Π°Ρ ΡΡΠ΄Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Ρ Π°ΠΊ Ρ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° lync15:, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΡΠ°Π·Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ open_generic.
ΠΠΎΠΏΡΡΠΊΠ° Π½ΠΎΠΌΠ΅Ρ 3 ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ? ΠΠ³Π°, ΡΠ΅ΠΉΡΠ°Ρ, ΠΊΠ°ΠΊ ΠΆΠ΅. ΠΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΠΆΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ β ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠ½ ΠΌΠ½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΡΡΠΎ ΡΠ°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΈΡΠ°Π» ΠΌΠ½Π΅ ΡΡ ΡΠ°ΠΌΡΡ ΡΡΡΠ»ΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· Π΄Π΅Π»ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ is_file_url_or_path, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π½Π° Π²Ρ ΠΎΠ΄ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΉΠ» file:// Π»ΠΈΠ±ΠΎ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈΠ½ΠΎΠ΅. Π ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π²Π΅ΡΠ½ΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ ΡΡΠΎ Π½Π°Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ (url scheme) ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΡΡ, Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· :alpha: ΡΠΎΡΠΊΠΈ ΠΈ ΡΠΈΡΠ΅. ΠΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ rfc3986 Π΄Π»Ρ uniform resource identifier ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΡΡΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ (Ρ ΠΎΡΡ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ). ΠΡΠΎΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² :alpha: ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Ρ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ°. ΠΡΡΡΡΠΎ ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠΊΠ΅ Π½Π° alphanumeric. ΠΠΎΡΠΎΠ²ΠΎ, Π²Ρ Π²ΠΎΡΡ ΠΈΡΠΈΡΠ΅Π»ΡΠ½Ρ, Π²ΡΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΎΡΠ΄Π°Π΅ΡΡΡ Π² Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠ° ΡΡΡΠ»ΠΊΠ°, Π²ΡΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ exo-open ΡΠΎΠΆΠ΅ ΠΈΠ·-Π·Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΡΡΡΠ»ΠΊΠΈ ΠΈΠ·-Π·Π° ΡΠΈΡΡ Π² ΡΡ Π΅ΠΌΠ΅. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ ΠΌΠ΅Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ mime-type Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΡΠΎ ΡΡ Π΅ΠΌΡ lync ΠΈ Π²ΡΠ°Π»Ρ β Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ open_xfce. ΠΠΎ Π½Π°ΠΌ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ»ΠΊΡ Ρ lync15.
ΠΡΠ°ΠΊ, ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΡΠΈ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π°. ΠΡ ΡΠΌΠ΅Π΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΡΠ»ΠΊΠΈ ΠΈ Π΄Π°Π»ΡΡΠ΅ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π½ΡΡΡΡ Pidgin. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π½ΡΡΡΠΈ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π² ΠΌΠ΅Π½Ρ Β«ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΒ» Ρ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π» Π³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Sipe ΠΈ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΠ»ΡΡ ΡΠ½ΠΎΠ²Π° Π½ΡΡΡΡΡ Π² ΠΊΠΎΠ΄. ΠΠΎ ΡΡΡ ΠΌΠ΅Π½Ρ ΠΊ ΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ contrib/dbus/:
- sipe-join-conference-with-uri.pl
- sipe-join-conference-with-organizer-and-id.pl
- sipe-call-phone-number.pl
- SipeHelper.pm
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Sipe Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ΅Π· dbus (desktop bus) ΠΈ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΡΡΠΌΠΎ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅, Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠΌΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΎΡΠ° ΠΈ conf-id, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Π·Π²ΠΎΠ½ΠΎΠΊ ΡΠ΅ΡΠ΅Π· sip. ΠΡΠΎ ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠΎ ΡΠ΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ.
Π¨Π°Π³ 2. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠ΄ΠΆΠΎΠΉΠ½Π°
Π Π°Π· ΡΠΆ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π° ΠΏΠ΅ΡΠ», ΡΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sipe-join-conference-with-uri.pl ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ. ΠΠΈΡΠ°ΡΡ Π½Π° ΠΏΠ΅ΡΠ» Ρ ΡΠΌΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠΎ Π½Π΅ Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Ρ Π²ΠΏΠΈΡΠ°Π» Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ² Π² ΡΠ°ΠΉΠ» lync.desktop. Π ΡΡΠΎ Π±ΡΠ»Π° ΠΏΠΎΠ±Π΅Π΄Π°! ΠΡΠΈ Π²Ρ
ΠΎΠ΄Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° xdg-open Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈΠ· Pidgin ΠΎΡΠΊΡΡΠ²Π°Π»ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ°ΠΊ ΠΆΠ΅ Ρ Π»ΠΈΠΊΠΎΠ²Π°Π».
ΠΠΎΠΎΠ΄ΡΡΠ΅Π²Π»Π΅Π½Π½ΡΠΉ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ, Ρ ΡΠ΅ΡΠΈΠ» ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Mozilla Firefox. ΠΡΠΈ Π²Ρ
ΠΎΠ΄Π΅ ΡΠ΅ΡΠ΅Π· Π»ΠΈΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΊΠ° Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΅ΡΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° join using office communicator. ΠΠ½Π°-ΡΠΎ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ»Π° ΠΌΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π½Π΅Π΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
conf:sip:{user};gruu;opaque=app:conf:focus:id:{conf-id}%3Frequired-media=audio
Π½Π° ΡΡΠΎ ΠΎΠ½ ΠΌΠ½Π΅ Π»ΡΠ±Π΅Π·Π½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΊΠ°ΠΊ Π΅Π΅ ΠΎΡΠΊΡΡΡΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΡ ΡΡΠΎ ΠΌΡ ΡΠΆΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ»ΠΈ.
ΠΡΡΡΡΠ΅Π½ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠΊΡΠΈΠΏΡ Π΅ΡΠ΅ ΠΈ Π΄Π»Ρ uri-ΡΡ Π΅ΠΌΡ conf ΠΈβ¦ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. ΠΡΠ°ΡΠ·Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΆΠ°Π»ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎ Π½Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΌΠΎΠΈ ΡΡΡΠ»ΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ·ΠΎΠ² ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ xdg-open Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ.
Β«Set custom protocol handler in 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
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΡ, ΠΎΡΠΊΡΡΠ²Π°Ρ Π±ΡΠ°ΡΠ·Π΅Ρβ¦ ΠΈ ΡΠ½ΠΎΠ²Π° Π±ΠΎΡΠΎΠ΄Π°.
Π’ΡΡ Π½Π° Π³Π»Π°Π·Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΡΡΡ ΡΡΡΠΎΡΠΊΠ° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
Next time you click a link of protocol-type foo you will be asked which application to open it with.
β Π‘Π΅ΠΌΠ΅Π½ Π‘Π΅ΠΌΠ΅Π½ΡΡ
β ΠΠ°Π°
ΠΡ ΠΆΠ΅ Π½Π΅ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅, Π° ΠΏΡΠΎΡΡΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π΅Π»Π°Π΅Ρ ΡΠΌΠ΅Π½Ρ window.location ΡΠ΅ΡΠ΅Π· javascript. ΠΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ html ΡΠ°ΠΉΠ» ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° conf ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΎΡΠΊΡΡΠ²Π°Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΊΠ»ΠΈΠΊΠ°Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ β Yos! ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π½Π°ΡΡ ΡΡΡΠ»ΠΊΡ ΠΈ ΡΠ°ΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Lync β ΠΌΡ ΠΆΠ΅ Π΅Π³ΠΎ ΡΠ΅ΡΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π’Π°ΠΌ ΠΆΠ΅ Π² ΠΎΠΊΠΎΡΠΊΠ΅ Π΅ΡΡΡ Π³Π°Π»ΠΎΡΠΊΠ° Β«Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ±ΠΎΡ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΒ», ΠΎΡΠΌΠ΅ΡΠ°Π΅ΠΌ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΎΠΊ. Π ΡΡΠΎ Π²ΡΠΎΡΠ°Ρ ΠΏΠΎΠ±Π΅Π΄Π° β ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΆΠ΅ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΡΡΡΠ»ΠΊΡ, Π° ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΈΠ· Π½ΡΠΆΠ½ΠΎΠΉ Π½Π°ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ.
ΠΠΎΡΠΎΠΌ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ», ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² network.protocol-handler.expose.conf Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΡΠ»ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π² Π»ΠΈΡΠ΅. Π‘ΡΡΠ»ΠΊΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π― Π·Π°Π»ΠΈΠ» Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Π³ΠΈΡΡ
Π°Π±, ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ΄ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
ΠΠ½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎΡ ΡΠ΅Ρ
ΠΊΡΠΎ Π·Π°Ρ
ΠΎΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠΈΠΌΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ. Π‘ΡΠ°Π·Ρ ΠΎΡΠΌΠ΅ΡΡ, ΡΡΠΎ Ρ Π²ΡΠ΅ Π΄Π΅Π»Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ ΡΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Linux Mint, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ ΠΈΠ»ΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅. ΠΠ΅ΡΠ½Π΅Π΅ Ρ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΏΡΠΎΠΏΠ°ΡΡΠΈΠ» Π² xdg-open ΡΠΎΠ»ΡΠΊΠΎ 1 ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ½ΠΎΡΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΌΠΎΠ΅ΠΌΡ DE. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΡΡΠΎΠΏΠΎΠ², ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ Π² Π³ΠΈΡΡ
Π°Π±Π΅.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°Π½ΡΠ»Π° 1 Π²Π΅ΡΠ΅Ρ.
Π‘ΡΡΠ»ΠΊΠΈ:
-
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π² Mozilla -
D-bus(wikipedia) -
rfc3986 URI -
ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Github
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com