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.
yarn start
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
To install the snap file using the generated file use this command.
sudo snap install teams-for-linux_VERSION_amd64.snap --dangerous
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
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.
This branch is a child fork of JamieMagee teams-for-linux repo, that is itself a fork of Ivelkov teams-for-linux.
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.
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)
1.
mv node_modules/spellchecker/vendor/hunspell_dictionaries node_modules/spellchecker/vendor/hunspell_dictionaries.old
mv the en_US dictionaries to another location. 2.ln -s /usr/share/hunspell/ node_modules/spellchecker/vendor/hunspell_dictionaries
create 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.
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 teams --enableDesktopNotificationsHack
.