Skype-for-Business on Linux
Sometimes we Linux types are forced into the Micro$oft world. If you have to attend a conference call on Skype-for-Linux (not plain Skype) — we had to run a Windows VM or similar to do it. No longer. Here’s instructions to run Skype-for-Business on Ubuntu 16.04 and 18.04. For other Linux distros I imagine the steps are similar. I hope this helps!
Introduction
Skype-for-business (S4B), formerly called Lync, formerly called Office Communicator, is meeting collaboration software. It’s similar to HPE MyRoom (recommended, free) or Microsoft Teams, both of which run fine on Linux.
But Skype-for-business on Linux never got much love from Microsoft, so you’ll have to do a few things described here to use it on Linux. The below are instructions for two versions of Ubuntu; similar things should work on other distros. You’ll have most of the S4B functionality, including
- Chat
- Audio calls
- Join conference calls
- See shared screens
- Share you screen to others
In the following instructions, most of the packages are used for desktop viewing/sharing. If you need only chat, install just the pidgin and pidgin-sipe packages, then proceed to setup your account.
But for (nearly) full functionality, read on:
Package Install
1) First, it really helps to nuke all related packages. You’ll re-install them in just a bit, getting the right versions:
sudo apt remove freerdp2-x11 gstreamer1.0-nice libfarstream-0.2-5 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2 libfreerdp2-2 libnice10 libwinpr-tools2-2 libwinpr2-2 pidgin pidgin-data pidgin-libnotify pidgin-sipe remmina remmina-common remmina-plugin-rdp remmina-plugin-secret remmina-plugin-vnc
2) The remmina components have a way of sticking around. And sometimes pidgin. Kill ’em:
sudo killall -9 remmina pidgin
3) Pin the pidgin-sipe package (at 600 or higher) so you don’t get the older one. Create the file /etc/apt/preferences.d/sipe-collab-600 with these contents:
Package: * Pin: release o=LP-PPA-sipe-collab Pin-Priority: 600
4) Add the newer sipe-collab repo:
sudo apt-add-repository ppa:sipe-collab sudo apt-get update sudo apt-get upgrade
Note: If you need to use a proxy server to access the Internet, set it via BOTH the http_proxy and https_proxy envvars, and use -E with sudo so they’re passed on to the command.
export http_proxy=http://your-proxy-server.your-corp.com:8080 export https_proxy=http://your-proxy-server.your-corp.com:8080 sudo -E add-apt-repository ppa:sipe-collab/ppa/ sudo -E apt-get update sudo -E apt-get upgrade
5) Install this whole collection of packages:
sudo apt-get install freerdp2-x11 gstreamer1.0-nice libfarstream-0.2-5 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2 libfreerdp2-2 libnice10 libwinpr-tools2-2 libwinpr2-2 pidgin pidgin-data pidgin-libnotify pidgin-sipe remmina remmina-common remmina-plugin-rdp remmina-plugin-secret remmina-plugin-vnc
That should do it. Run pidgin to get things going.
Run It
You should have a menu item for Pidgin, often under
but the location varies depending upon the desktop environment you have. You may also run it from the command line. Just enter the command ‘pidgin’.
Hangs/Nothing?
If it just hangs and you don’t see anything, first kill all pidgin instances (killall -9 pidgin), then remove the prior configuration for it, which would be found in the ~/.purple directory. Simply nuke the whole dir:
If you’ve been playing around with this already, it’s a good idea to start clean even if it doesn’t hang.
Pidgin Account Setup
In Pidgin, create an Office Communicator account. If this is the first time, or you nuked the config and are starting clean, it should prompt you to setup an account. Otherwise, go to Accounts –> Manage Accounts and click Add. For protocol choose “Office Communicator”. Then set these options, most of which are defaults:
Basic Tab: Username: email-addr Login: DOMAIN\username Password: whatever-you-use Advanced Tab: server:port - leave blank Connection type - leave auto User Agent: UCCAPI/16.0.6965.5308 OC/16.0.6965.2117 Authentication scheme - leave at Auto All the rest - leave blank or unchecked Proxy Tab: Leave Proxy type on "Use Global Settings" Voice and Video Tab: Leave "use silence suppression" UNCHECKED
Click the Add button at the bottom to save your settings. Pidgin should try to connect to this account automatically; if it does not, make sure that this new account is “enabled” in the Manage Accounts dialog box.
Test Your Account Setup
Exit Pidgin then restart it. It should connect to the corporate server and you’ll see your buddy list. If not, try running Pidgin from the command line — just enter the command “pidgin”. If you want to get overrun with output, you can also use the -d option to enable debugging. But be warned, it’s a lot of output!
FAQ’s
Connect to Server Fails?
I often see that the first connect to the SIPE server fails. Just try again, then it works fine.
Start a Chat with Someone
Find their name in the Buddies list. Right click and select “IM”.
Share your desktop with Someone
Find their name in the Buddies list. Right click and select “Share my Desktop”.
Join a Conference Call
This is easy – you just need the link for the call, which usually is in the invite. But where you paste the link is a bit “hidden”. Find it under
Accounts → (your email addr) → Join Scheduled Conference…
Paste the link into the Meeting Location field then click Join.
Share your desktop to a conference call
In the call window, do Media → Share my Desktop
How to join Skype for Business meeting on Ubuntu (without Skype for Business account)?
Following topic describes how I could connect to Skype for Business account under Linux: Free software to connect to Skype for Business However, what if I do not have a Skype for Business account? I received an invitation to the meeting in form of the following URL:
https://meet.lync.com/SomeCompany/SomePerson/SomeID
I do not need to have a Skype for Business account to join such meeting. On my Android phone, I just installed the appropriate application and when I click on the mentioned link, I can join after providing my name. When I click on the link on the Linux machine, it redirects me to the page where msi file is downloaded.
4 Answers 4
Here is my latest advice about running Skype4B aka Lync on Linux:
- It’s annoying, but I am almost certain MS will never make Skype4B available on Linux.
- The software is «Skype» by brand name only, and has nothing to do with regular Skype which already works on Linux.
- Skype4B was always just a renamed version of the very old Microsoft Lync software which works totally differently to Skype regular (which was originally a separate company later purchased by MS).
- The other nail in the coffin is that MS will reportedly discontinue Skype4B support in mid 2021.
How I use Skype4B on my Linux laptop:
OK so this is a work-around but it works surprisingly well for me as I very rarely need to share my Linux host screen, or if I do, then its just a MS Office doc which is easy to share within VM. This is also how I use MS office 2016 on Linux.
All I do is use VirtualBox to create a Windows 10 VM with a little bit of RAM and 2 CPUs and install Skype4B + Office on it and Outlook online to get emails, calendar and links to Skype4B meetings. I pass through my audio and microphone to the VM. Make sure you install the VirtualBox Extension Pack on host and Guest Additions within VM to allow seamless resizing, drag and drop files and shared clipboard with host. This will give you an almost seamless experience on a decent PC.
Now this sounds like a crap solution but just try it and you might be surprised. Windows 10 boots up very quickly in VM, especially if you remove all bloatware and auto-login. The key is to install the Virtual Box extras mentioned above which allows the VM to works seamlessly with the Linux host OS (window resizing, shared files and clipboard).
Windows 10 DOES NOT require a license, just get the official ISO from MS website and install without a product key, it works fine but just disables a couple features like change color scheme and desktop background.
Edit: forgot to mention, if you dont have a Skype4B account, that is fine, just click the link and it will install the web version (msi) and you can join.
Linux Microsoft Skype For Business Lync 2013 Client
I was surprised to learn that Ubuntu 14.04 can talk to Skype for Business AKA Lync 2013 using the Pidgin Instant Messaging client. The general steps were:
# apt-get install pidgin pidgin-sipe
And then restart Pidgin and add a new Account. The Office Communicator is the relevant plugin, with the following parameters:
- Protocol: Office Communicator
- Username: Your Office 365 or Skype for Business username — probably your email address
- Password: Your password is obviously required — and will be stored unencrypted in the config file, so you may wish to leave this blank and enter at each login
- Server[:Port]: Leave empty if your set-up has autodiscovery
- Connection type: Auto
- User Agent: UCCAPI/15.0.4420.1017 OC/15.0.4420.1017
- Authentication scheme: TLS-DSK
I am unclear why the user agent is required, and whether that will need to change from time to time or not. So far it has worked fine here.
Unfortunately a few days ago the above set-up stopped working, with “Failed to authenticate with server”. It seems that you must now use version 1.20 of the Sipe plugin, which fixes “Office365 rejects RC4 in TLS-DSK”. As this version was only completed three days ago, it is not yet available in any of the Ubuntu repositories that I have been able to find, you will probably have to compile yourself.
Broadly speaking I followed these key stages:
- Install build tools if you don’t already have them: sudo apt-get install build-essential
- Install checkinstall if you don’t already have it: sudo apt-get install checkinstall
- Download source files.
- Extract source: tar -xvvzf pidgin-sipe-1.20.1.tar.gz
- Change into source directory: cd pidgin-sipe-1.20.1
- Read carefully the README file in the source directory.
- Install dependencies listed in the README: # apt-get install libpurple-dev libtool intltool pkg-config libglib2.0-dev libxml2-dev libnss3-dev libssl-dev libkrb5-dev libnice-dev libgstreamer0.10-dev
These dependencies may change over time, and your particular requirements may be different from mine, so please read the README and that information should take precedence.
Lastly, as an ordinary user, you should now be able to compile. If it fails at any stage, simply read the error and install the missed dependency.
$ ./configure --prefix=/usr $ make $ sudo checkinstall
I found checkinstall was pre-populated with sensible settings, and I was able to continue without making any changes. Once complete a Debian package will have been created in the current directory, but it will have already been installed for you.
For some reason I found that at this stage Pidgin would no longer run, as it was now named /usr/bin/pidgin.orig instead of /usr/bin/pidgin , I tried removing and reinstalling pidgin but to no avail. In the end I created a symlink ( ln -s /usr/bin/pidgin.orig /usr/bin/pidgin ), but you should not do this unless you experience the same issue. If you know the reason for this I would be delighted to receive your feedback, as this isn’t a problem that I have come across before.
Restarting Pidgin and the Office Communicator sprung into life once more. Sadly I would imagine that this won’t be the last time this plugin will break, such are the vagaries of connecting to closed proprietary networks.