Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App and wraps it as a standalone application using Electron.
You can download the tarball, rpm or deb from the releases page.
Run from source
Build for linux
yarn run dist:linux
This will build an deb, rpm, snap, AppImage and tar.gz files in the dist folder. This files can be run in most popular linux distributions.
Is possible to specify the snap or AppImage build type using running this:
yarn run dist:linux:snap
Install using snap file
To install the snap file using the generated file use this command.
sudo snap install teams-for-linux_VERSION_amd64.snap --dangerous
Use camera using the Snap build
Snap uses confinement to provide more security, this restric the access to hardware or data on your device to prevent security issues.
The camera is a restricted device on Snap, so you need to allow the access to the camera on Teams For Linux to be able to do videocalls, to do that run this command after the installation of the snap to create an interface to the camera:
sudo snap connect teams:camera core:camera
Available starting arguments
Check in the config README.md in the config folder.
This is a fairly small project. IMO, the ideal size for getting started with electron.
Just fork the repo and dive in. The app/index.js is the starting of all the application.
Once changes are made, just do a pull request to master.
Each subfolder has a README.md file that explains the reason of existence and any extra required information.
Just increase the lower (last) number in the package.json version string number.
We are not following SemVer at the moment.
This is because of this fork history. Jamie expressed his desire to refactor the project (0.2.0 branch) in Typescript and to support it.
Jamie has express his desire to refactor this project in Typescript and to support it, but he doesn't have the time to support it at the moment. I have tried to contact Ivelkov for a few months but haven't receive any answers.
For that reason, decided to refork it and fix a few things that where not working. Mainly the notification and the gif animations, but the list is fairly big.
Ideally this project will die when Microsoft implements a desktop client for linux. Please do vote for it in the Microsoft Suggestions Forum
Some services requires the app to open the windows in electron. An example is github that requires authentication using oauth.
We are defaulting in opening the links in a external browser, but links can be open ina electron windows by using the 'Crl+Click' combination.
Switching the userAgent with the persistence turn on sometimes have the side effect of "loosing" the channels history. Removing the data under
~/.config/teams-for-linux should fix the issue.
Spellchecker not working
Details are in issue #28
In short, node_spellchecker only ships with en_US dictionary.
As a work around, only valid when running from source, you can enable the use of local dictionaries by following the next steps:
- Install hunspell and your locale dictionary as indicates in this link https://github.com/atom/spell-check#debian-ubuntu-and-mint
- Run the following commands from the root of the app (where this README.md file is located)
mv node_modules/spellchecker/vendor/hunspell_dictionaries node_modules/spellchecker/vendor/hunspell_dictionaries.oldmv the en_US dictionaries to another location. 2.
ln -s /usr/share/hunspell/ node_modules/spellchecker/vendor/hunspell_dictionariescreate a simbolic link to the hunspell dictionaries. Note, I am using the default location for hunspell.
Starting the app with
yarn start, and if you have your system configured with the right dictionaries and locale, you should be able to see the spellchecker working.
Unfortunately, at this moment in time it is not possible to use local dictionaries with the packaged app. Fixing issue 51 in node-spellchecker should solve this issue.
No desktop notifications
Some notifications daemons in linux don't support the implementation that Microsoft implemented in the browser.
This project includes a desktop notification hack that can be enable by running the application with