Microsoft Teams is now available on Linux
Published Dec 10 2019 08:00 AM 2.8M Views
Microsoft

Starting today, Microsoft Teams is available for Linux users in public preview, enabling high quality collaboration experiences for the open source community at work and in educational institutions. Users can download the native Linux packages in .deb and .rpm formats here. We are constantly improving based on community feedback, so please download and submit feedback based on your experience.


The Microsoft Teams client is the first Microsoft 365 app that is coming to Linux desktops, and will support all of Teams’ core capabilities. Teams is the hub for teamwork that brings together chat, video meetings, calling, and collaboration on Office 365 documents and business processes within a single, integrated experience.

 

 

Most of our customers have devices running on a variety of different platforms such as Windows 10, Linux and others. We are committed to supporting mixed environments across our cloud and productivity offerings, and with this announcement, we are pleased to extend the Teams experience to Linux users. It’s also an exciting opportunity for developers who have built apps for Teams to be able to grow their reach to this new set of users.


“2019 has been another incredible year in open source, and Linux continues to be at the heart of all the growth and innovation. I’m really excited about the availability of Microsoft Teams for Linux. With this announcement, Microsoft is bringing its hub for teamwork to Linux. I’m thrilled to see Microsoft’s recognition of how companies and educational institutions alike are using Linux to transform their work culture.”
- Jim, Zemlin, Executive Director at The Linux Foundation

 

 
We have been working with customers over the past few months to help them streamline their collaboration and business scenarios using the Teams client for Linux, and are excited to hear how they are using Teams in their organizations to empower teams to do more.

“At Volvo Cars, Linux is being used by many users in several departments. Up until now, our Linux users have largely been stuck on a collaboration island with different unofficial and unsupported clients for Skype for Business and more recently Microsoft Teams. With Teams for Linux from Microsoft, we have been able to leave that island and collaborate across our different platforms with the full functionality of a rich client. If I should point out one thing, being able to participate in screen sharing is a huge improvement for the Linux users at Volvo Cars.”
- Jimmy Beckman, Personal Products, Volvo Cars
 

 
If you currently don't have a commercial Office 365 subscription, you can still try Microsoft Teams for Free. You can find more information on technical requirements here. We are committed to delivering rich and engaging experiences that help our customers. We welcome your feedback and suggestions about the product experience on UserVoice.
259 Comments
Iron Contributor

Cool that Linux users now also have Teams available. But why do you steer away from distributing Teams with modern package solutions? Like Snap or Flatpak for Linux, or Microsoft Store for Windows? That I'd like to know.

Bronze Contributor

Great to see the Linux client being released also. Thanks for the screenshots regarding Microsoft Teams on Linux. :thumbs_up:

Copper Contributor

Wow, This is great news. I have used O365 on Linux, but only in the browser. What is the best way of getting the App?

@Kenni3958 - Thanks. 

 

https://aka.ms/get-teams-linux would point you to the right page to download the linux package.

Copper Contributor
On Mint 19.1, the .deb package installs fine. Audio setup seems straightforward, and the test call works just fine. BUT when doing a call to my next cube neighbor, all he hears is bad static noise which gets louder when I speak. Zbook studio G5 with thunderbolt Dock G2 Using a plantronics C3220 headset plugged into the laptop USB. Audio set to Plantronics Blackwire digital stereo duplex (IEC958)
Copper Contributor

On RHEL 7.7:

 

~]$ sudo yum install teams-1.2.00.32451-1.x86_64.rpm

.

.

.

error: Failed dependencies:
libXss.so.1()(64bit) is needed by teams-1.2.00.32451-1.x86_64
libstdc++.so.6(CXXABI_1.3.9)(64bit) is needed by teams-1.2.00.32451-1.x86_64
libstdc++.so.6(GLIBCXX_3.4.20)(64bit) is needed by teams-1.2.00.32451-1.x86_64
libstdc++.so.6(GLIBCXX_3.4.21)(64bit) is needed by teams-1.2.00.32451-1.x86_64

Copper Contributor
Love it! And with Outlook being a PWA now, I can almost move completely to Linux.
Copper Contributor

You really need enable more distributions by using Snap or Flatpak as others said, or best to release source file. If Teams was in repositories of most distributions, this would greatly improve the user experience.

I would like to package and maintain it for Solus for example.

Copper Contributor

Thank God!

Copper Contributor

What is the raw url to the deb (or rpm)? This makes repackaging for other distributions easier. My use case is to make an Arch Linux PKGBUILD.

Copper Contributor

Here is a minimal working PKGBUILD. If someone wants to improve it and put it on AUR, feel free!

 

pkgname=microsoft-teams
pkgver='1.2.00.32451'
pkgrel=1
pkgdesc='Microsoft Teams'
arch=('x86_64')

source=(teams_${pkgver}_amd64.deb)
sha256sums=(28d8a0e644a4bb9d4ee9295953b97b7fa6558b8a9d1d28363a594f5cde1c05dc)

options=(!strip)

package() {
    bsdtar -xf data.tar.*z -C "${pkgdir}"
}
Copper Contributor

Two-factor authentication has some issues, I had to enter credentials twice. First in what looked like the native client login form, and then a second time in what looked like a fallback to an embedded web based login form.

Copper Contributor

That's good news

Brass Contributor
Has same infantile pseudo-reponsive design as simply using it inside a web browser. It's like clueless flexible responsive design. Please fix.
Copper Contributor

Nice! Looking forward to the release of the whole Office suite.

i recommend not using the windows style csd (client side decorations, the close min max buttons use the windows style).

also the windows style csd has a bug:

clipboard_image_1.png

This was not maximized, so the maximize button should show, not the restore one. :p It still maximizes anyways...

 

Copper Contributor

Hmm so the issue with the maximize/restore auto-fixed itself? Strange, just doesnt occur anymore :)

Brass Contributor

Any license limitations we should be aware of?

Copper Contributor
@CyberDustin it's not supported on Centos/RHEL 7. You need 8. @codic55 has Microsoft announced that it will release the whole office suite for linux?
Copper Contributor

Is it possible to use Kerberos Single-Sign-On with the Teams for Linux client?

 

Our Linux machines are integrated into our AD domain and therefore, SSO would be nice.

Copper Contributor

Thanks alot, while it worked in the web browser, things like screen sharing did not do well.

 

Unfortunately, screen-sharing does not work on a Wayland session. 

Here we go again, ditching the legacy X11 for good is "again" just one more app away :D

 

 

 

 

Copper Contributor
Seems there's not package repository behind this, just the bare .deb/.rpm packages. So how does it get updates?
Copper Contributor
OK, found the relevant note on another page, stating that the package will install a proper package repository config. Sorry for the fuzz.
Brass Contributor

Yes, that's great!

 

But i have an issue with Fedora 31. i've had  selected my Headset (Jabra Evolve 20) as I/O device but it uses the internal devices for calls.

Brass Contributor

Fedora says, there are no Repository included within the RPM file...

 

 

Edit 20191213: Repository listen in "Software", so maybe a bug:

clipboard_image_0.png

clipboard_image_1.png

Copper Contributor

Hoy es un gran dia. ¿No ha sido tan difícil, no? Más vale tarde que nunca, así que gracias.

Copper Contributor

Finally! Now let's roll some more Office products too! Mainly Outlook is something that I'm waiting for, because I'm an oldschool type of guy and wish to use a real client to read emails :) There are quite few alternatives, but still nothing close to Outlook.

 

EDIT: Have not yet tested everything, but joining a meeting was a pain on my setup for some reason. My browser (Chrome) doesn't want to use xdg-open automatically with the meeting link to open up Teams client. It always wants to use webclient :(


I created a workaround and created new "msteams" protocol and with Chrome extension redirected everything "https://teams.microsoft.com/*/meetup*" to "msteams://teams.......". This works like a charm, but it's only a dirty workaround. :)

Copper Contributor

Crashes here as soon as you click on "share screen" in a call.

Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
(node:6049) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 appInitialized listeners added. Use emitter.setMaxListeners() to increase limit
Xlib: charsets ISO8859-1:GL and ISO8859-1:GL have the same CT sequence
Xlib: charsets BIG5-E0:GL and BIG5-E0:GL have the same CT sequence
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  73 (X_GetImage)
  Serial number of failed request:  7
  Current serial number in output stream:  7
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  73 (X_GetImage)
  Serial number of failed request:  7
  Current serial number in output stream:  7
Copper Contributor

@tchize try using a X11 session instead of Wayland.  It seems Wayland is not supported

 

Copper Contributor

you are cool - instead of running and trying on wsl you are showing in on a ubuntu box?

I tried myself and I ve got not that far

it crashes looking of PCM something

on wsl ubuntu
wget https://packages.microsoft.com/repos/ms-teams/pool/main:lol:/t/teams/teams_1.2.00.32451_amd64.deb
sudo dpkg -i ./teams_1.2.00.32451_amd64.deb  
teams
:lol:
Copper Contributor

So far so good! In Fedora 30 it installed and ran flawlessly, notifications banners included. Did voice and video confcalls with remote screen sharing without issues. Needs only to test share my screen.

Copper Contributor

Where can we create bug reports for this teams client?

The client is using way too much cpu time resources as you can see here:

teams usage.png

 

This is also the case with other laptops and distributions in our company. One of my colleagues even had 100% cpu usage the whole time when teams was running.

 

EDIT: The cpu usage here is when the teams client is idle. No meetings, no video, no voice call. Just chilling out in a channel with almost nothing but crickets..

Brass Contributor

@rpedro_redoute: aleady tested it in Fedora 31. Works flawless

 

@idarlund-work

no issue on my system

clipboard_image_0.png

Copper Contributor
This is the message I get when trying to install it on CentOS 7 using "yum localinstall": Error: Package: teams-1.2.00.32451-1.x86_64 (/teams-1.2.00.32451-1.x86_64) Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit) Available: cuda-nsight-systems-10-1-10.1.105-1.x86_64 (cuda) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) Available: cuda-nsight-systems-10-1-10.1.168-1.x86_64 (cuda) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) Installed: cuda-nsight-systems-10-1-10.1.243-1.x86_64 (@cuda) Not found Where should I report this?
Copper Contributor

I don’t see instructions on building from source. Can you please update with that info?

Copper Contributor

Excellent! Test call, files, opening and editing excel sheets works great.

OneDrive next pretty please! :)

Copper Contributor

Running on Ubuntu 19.10, I can't make nor receive calls...

For those with issues, you can use our Q&A site to report things. It is not direct support from Microsoft, but there are devs monitoring this and they can file bug reports. https://docs.microsoft.com/answers/topics/teams-linux.html 

Tag your items with 'teams-linux', please, or vote for ones that already exist if you experience the same issue.

 

And, no, @idarlund-work, MS has not announced Office coming to Linux, but I'm trying to champion for that. You can vote for it on UserVoice here: https://office365.uservoice.com/forums/264636-general/suggestions/35191867-linux-support 

Also, vote for OneDrive on Linux here: https://onedrive.uservoice.com/forums/913522-onedrive-on-windows/suggestions/37187449-linux-support

Copper Contributor

Seriously, I have been waiting for so long......now its finally arrived.  

Copper Contributor
Great to see an official release for Linux. Will there be a snap or flatpak version? MS is already using snap for some of its other products (such as VSCode) and for third-party non-open source software I always prefer to use the containerised package managers.
Copper Contributor
Seems to work perfectly on Opensuse 15.1 Leap hence probably also on SLES 15 SP1. yum repository can be added on opensuse using: zypper ar -f -name="Microsoft Teams" https://packages.microsoft.com/yumrepos/ms-teams/ ms-teams
Copper Contributor

Spell check is not working. I get red lines under some words, but the context menu is missing spelling suggestions. Also, there's no way of changing the language of the spell checker. 

Copper Contributor

@ikelike88: What does the URI look like that ultimately gets sent to the Teams client? I'm trying to send my client meeting links, but it seems to be just treating the links as an attempt to relaunch the application.

 

If I run:

 

xdg-open teams://teams.microsoft.com/l/meetup-join/19%3ameeting_${rest_of_meeting_uri}

Then Teams gets focus and I get this in the logs from Teams:

 

Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- info -- Running command line from source: handleCommandLine 
Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- info -- Command Line State - Unknown 
Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- info -- App subsequent launch - restoring existing app 
Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- event -- startReason: Unknown, status: success, scenario: 6d3fe47e-cac3-4d89-9471-4c5f3684f801, scenarioName: desktop_application_respawn, name: desktop_application_respawn, step: start, sequence: 0, delta: 0, scenarioDelta: 0, elapsed: 3741674, stepDelta: 0, vdiMode: 0, eventpdclevel: 2, Scenario.Name: desktop_application_respawn, Scenario.Step: start, Scenario.Status: success,  
Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- event -- startReason: Unknown, status: success, scenario: 6d3fe47e-cac3-4d89-9471-4c5f3684f801, scenarioName: desktop_application_respawn, name: desktop_application_respawn, step: stop, sequence: 1, delta: 1, scenarioDelta: 1, elapsed: 3741675, stepDelta: 1, vdiMode: 0, eventpdclevel: 2, Scenario.Name: desktop_application_respawn, Scenario.Step: stop, Scenario.Status: success,  
Thu Dec 12 2019 12:35:34 GMT-0700 (Mountain Standard Time) <593424> -- info -- Focusing main window 

I've tried all different variations on the URI, and tried triggering it both from `xdg-open` and from Firefox (which does correctly prompt me to open it in Teams if I put `teams://` at the beginning of the URI).

 

Edit: I'm trying to use teams built-in handler though, not creating my own custom one. It sets this in teams.desktop:

 

MimeType=x-scheme-handler/teams;
X-KDE-Protocols=teams

First office app on linux. congratulations Microsoft :smile:

Copper Contributor

@amasover 

 

I have an extension in Chrome to redirect everything "as is", but "https" changes to "msteams". I have currently these settings for xdg (not sure which one makes it to work as one or two of these might just hang around from my tests :-D):

 

 

~/.local/share/applications/msteams.desktop

 

[Desktop Entry]
Name=msteams
Exec=/usr/bin/teams %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/msteams;

~/.local/share/applications/mimeapps.list

[Default Applications]
x-scheme-handler/msteams=msteams.desktop

~/.config/mimeapps.list

[Default Applications]
text/html=google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/msteams=msteams.desktop

Also ran this as root:

update-mime-database /usr/share/mime

...And this as normal user:

update-desktop-database ~/.local/share/applications/

Running on:

Debian 10.2

Hope this helps :)

Copper Contributor
So far it has been good, but I am having a small issue that after a while the process starts using a lot of CPU, even when the app is minimized to the system tray. I am currently using ubuntu 18.04 on a i7-7500U with 16GB of RAM.

@jean_britehouse - Post over here: https://docs.microsoft.com/answers/topics/teams-linux.html

 

I know some other users internally have seen higher CPU usage than others, but I haven't seen a direct cause or correlation yet.

Copper Contributor

@ikelike88: I followed your steps exactly, and entered a URI like "msteams://teams.microsoft.com/" into Firefox. Immediately, Firefox recognized the new mime type, and I got a popup offering to launch the "msteams" app. Joining the meeting worked! So thank you very much for your suggestion!

 

My logs look quite different than before on a successful meeting join:

 

Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Running command line from source: handleCommandLine 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- event -- name: desktop_app_deep_link, deeplinkId: , isMeeting: true, deeplinkType: meetup-join, vdiMode: 0, eventpdclevel: 2,  
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Command Line State - DeepLink 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- App subsequent launch - restoring existing app 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Starting anonPerfScenario for deeplink 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Starting anonPerfScenario for deeplink 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Added deeplinkId:4e2249af-f9f0-4e67-b579-a0c86ee5d38a, isMeeting:true and deeplinkType:meetup-join 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- event -- type: commandline-param, deeplinkId: 4e2249af-f9f0-4e67-b579-a0c86ee5d38a, isMeeting: true, deeplinkType: meetup-join, status: success, scenario: e71b602f-e435-480a-8f97-3cf39c185e14, scenarioName: deeplink, name: deeplink, step: start, sequence: 0, delta: 0, scenarioDelta: 0, elapsed: 90136948, stepDelta: 0, vdiMode: 0, eventpdclevel: 3, Scenario.Name: deeplink, Scenario.Step: start, Scenario.Status: success,  
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Meetup route. App running. Navigating 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- info -- Sending IPC to deeplink navigate 
Fri Dec 13 2019 12:35:29 GMT-0700 (Mountain Standard Time) <593424> -- event -- status: success, scenario: e71b602f-e435-480a-8f97-3cf39c185e14, scenarioName: deeplink, name: deeplink, step: navigate_to_link, sequence: 1, delta: 1, scenarioDelta: 1, elapsed: 90136949, stepDelta: 1, vdiMode: 0, eventpdclevel: 3, Scenario.Name: deeplink, Scenario.Step: navigate_to_link, Scenario.Status: success,  

I don't really know what's going on here. But it looks like whatever was being passed in based on the "default" config that Teams ships with wasn't something that Teams could recognize as a "deeplink" (previously, the logs said "Command Line State - Unknown").

 

The odd thing is that I already had both teams.desktop (that looks functionally the same as your msteams.desktop) and a mime type of "teams" added to mimeinfo.cache in /usr/share/applications. It seems to me that the default config should be equivalent to the "msteams" config that you got working. I don't quite know enough about MIME types to properly debug this at the moment though.

 

I'm on Arch Linux using the teams package from AUR: https://aur.archlinux.org/packages/teams/

 

Edit: one more thing, even though joining meeting works from Firefox, I still can't get Teams to recognize any URI that I pass to xdg-open, or to the teams executable itself.

Copper Contributor

@ikelike88: OK I think I figured it out. Teams will only accept URIs formatted like: msteams://teams.microsoft.com......

 

You can test this by running this from the command line: "teams msteams://teams.microsoft.com......"

 

Should get you directly into a meeting.

 

I believe this means that the MimeType specified in teams.desktop is incorrect. In any case, making these two edits should make it so that xdg-open works with Teams:

 

/usr/share/applications/teams.desktop:

[Desktop Entry]
Version=1.0
Type=Application
Name=Microsoft Teams - Preview
Comment=Microsoft Teams for Linux is your chat-centered workspace in Office 365.
Exec=/usr/bin/teams %U
Icon=teams
Terminal=false
StartupNotify=true
StartupWMClass=Microsoft Teams - Preview
Categories=AudioVideo;Network;
# Change the MimeType to msteams instead of teams. Leave everything else the same.
MimeType=x-scheme-handler/msteams;
X-KDE-Protocols=teams

~/.config/mimeapps.list

[Default Applications]
x-scheme-handler/msteams=teams.desktop

And then, as you mentioned, you have to rewrite "https" to "msteams" in meeting join URLs. In Google Chrome I used Requestly, and set up a "Replace Host" rule as follows:

 

Replace https://teams.microsoft.com with msteams://teams.microsoft.com

 

Edit: I've posted this issue in more of a bug-report format on the Q & A site: https://docs.microsoft.com/answers/questions/3401/mimetype-in-teamsdesktop-seems-to-be-incorrect.htm...

Copper Contributor

Gentoo Ebuild

 

ms-teams-insiders-1.2.00.32955.ebuild

# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit rpm

DESCRIPTION=""
HOMEPAGE=""
SRC_URI="https://packages.microsoft.com/yumrepos/ms-teams/teams-insiders-${PV}-1.x86_64.rpm"

RESTRICT="primaryuri strip"

LICENSE=""
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND=""

S="${WORKDIR}"

src_install() {
	cp -pPR "${S}"/usr "${D}" || die "Failed to copy files"
}
Copper Contributor

Cool.

I'm now testing it on Ubuntu 19.10. Calling works, single screen sharing works when I have multiple screens! (not only app screen sharing).

 

Good job :)

 

ps. I would be really happy to see Outlook 365 made similarly :)

Version history
Last update:
‎Nov 09 2023 11:10 AM
Updated by: