Microsoft Teams su Ubuntu: condivisione schermo non funziona su Wayland. Errore “couldn’t connect to camera” e soluzioni

Su Ubuntu può capitare che l’app desktop di Microsoft Teams non permetta la condivisione dello schermo e mostri l’errore “couldn’t connect to camera”. Il messaggio è fuorviante: di solito il problema è la cattura dello schermo su Wayland. Qui trovi cause, diagnosi e soluzioni operative, rapide e definitive.

Indice

Sintesi del problema su Ubuntu

Quando avvii una riunione in Microsoft Teams su Ubuntu e provi a condividere lo schermo o una finestra, può apparire l’alert “couldn’t connect to camera”. Non è un guasto della webcam: quel messaggio in molti casi è un placeholder mostrato dall’app quando fallisce la cattura del display. La causa più frequente è l’esecuzione della sessione grafica su Wayland, il server grafico predefinito da Ubuntu dalla versione 21.04 in poi. Le build desktop tradizionali di Teams per Linux (pacchetto .deb e varianti in sandbox) supportano Wayland in modo parziale o soggetto a limitazioni, soprattutto nella funzione di cattura schermo tramite i portali desktop. Il risultato è l’impossibilità di presentare lo schermo o singole finestre.

Altri fattori che spesso concorrono al problema sono i permessi mancanti nelle sandbox (snap o Flatpak), componenti di sistema non attivi come i portali xdg-desktop-portal e PipeWire, o un client Teams obsoleto con bug noti nella condivisione.

Perché accade su Wayland

Wayland porta un modello di sicurezza diverso: le applicazioni non possono leggere liberamente lo schermo. Per condividere serve passare da un “portale” di sistema (componenti xdg-desktop-portal e backend del desktop) che media la richiesta e mostra all’utente un selettore. Se il client non parla correttamente con il portale o se la sandbox blocca i canali necessari, la condivisione fallisce. Le app basate su Electron, come Teams nelle sue varianti classiche, possono incontrare incompatibilità nei percorsi Wayland, soprattutto se le dipendenze sono datate o se l’ambiente non ha i servizi attesi.

Con Xorg il flusso è diverso: la cattura è più permissiva e consolidata. Ecco perché passare temporaneamente a una sessione Xorg risolve quasi sempre senza toccare altro.

Schema delle cause principali

  • Wayland attivo: Ubuntu usa Wayland per impostazione predefinita; il client desktop di Teams può non catturare correttamente.
  • Permessi e sandbox: pacchetti snap o Flatpak potrebbero non avere i permessi necessari o non dialogare con i portali.
  • Client obsoleto: build meno recenti hanno bug sulla condivisione.
  • Servizi di sistema non funzionanti: PipeWire o i portali xdg-desktop-portal non avviati o in errore.
  • Fattori grafici: accelerazione hardware, scaling frazionario o configurazioni multi monitor innescano glitch.

Soluzioni rapide e prioritarie

Applica gli step nell’ordine indicato. Spesso bastano i primi due per sbloccare definitivamente.

PrioritàAzioneComandi e passaggi
AltaForzare una sessione XorgEsci dalla sessione utente. Nella schermata di accesso clicca sull’icona Ingranaggio. Seleziona Ubuntu on Xorg e accedi.
AltaDisattivare Wayland via GDMsudoedit /etc/gdm3/custom.conf rimuovi il cancelletto e assicurati che sia: WaylandEnable=false salva e poi: sudo systemctl restart gdm3 in alternativa riavvia completamente la macchina
MediaAggiornare il client TeamsScarica l’ultima build oppure aggiorna dai repo: sudo apt update sudo apt install --only-upgrade teams
MediaVerificare i permessi della sandboxPer pacchetto snap: snap connections teams collega eventuali interfacce mancanti se richiesto Per Flatpak: flatpak permission-show --app com.microsoft.Teams verifica che siano presenti le voci relative a screen-share e ipc
ImmediataUsare la PWA di Teams nel browserApri Teams nel browser Chromium o Edge, effettua l’accesso, installa l’app web dal menu del browser e usa la condivisione direttamente da lì.

Diagnostica essenziale

Verificare il tipo di sessione

Controlla se stai usando Wayland o Xorg:

echo $XDGSESSIONTYPE
output atteso: wayland oppure x11

Se vedi wayland, confermi la condizione che può bloccare la cattura.

Controllare i portali desktop e PipeWire

Wayland richiede i portali e il servizio PipeWire per la cattura. Verifica che siano attivi:

systemctl --user status xdg-desktop-portal.service
systemctl --user status xdg-desktop-portal-gnome.service
systemctl --user status pipewire.service

Se uno dei servizi è inattivo o in errore, prova a riavviarli:

systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gnome pipewire

E ispeziona rapidamente i log recenti:

journalctl --user -u xdg-desktop-portal -u xdg-desktop-portal-gnome -u pipewire --since "-30min" --no-pager

Verificare la versione del client

dpkg -l | grep -i teams

Se la build è datata, aggiorna come indicato sopra.

Guida passo per passo

Passare a Xorg dalla schermata di accesso

Uscendo dalla sessione e scegliendo l’opzione Ubuntu on Xorg, avvii l’ambiente Xorg senza modificare file di sistema. È la soluzione consigliata per chi non vuole cambiare configurazioni in modo permanente. Dopo l’accesso, riapri Teams e riprova a condividere lo schermo: nella grande maggioranza dei casi la condivisione torna subito operativa.

Disabilitare Wayland in modo permanente

Se preferisci una soluzione strutturale, modifica la configurazione di GDM come segue:

sudoedit /etc/gdm3/custom.conf
riga da attivare
WaylandEnable=false

Salva e riavvia il servizio GDM o la macchina. Alla successiva schermata di login verrà usato Xorg per impostazione predefinita. Questo approccio mantiene stabile la compatibilità con applicazioni che necessitano la cattura tradizionale del display.

Controllare permessi Snap e Flatpak

Snap. Elenca le interfacce collegate:

snap connections teams

Ingresso tipico: permessi desktop, wayland o x11, audio, camera. Se alcune interfacce richieste dalla tua build non sono connesse, verrà indicato. Collega manualmente se applicabile, poi riavvia Teams.

Flatpak. Visualizza le autorizzazioni dell’app:

flatpak permission-show --app com.microsoft.Teams

Nel caso servisse, puoi forzare alcune autorizzazioni a livello utente:

flatpak override --user --socket=wayland --socket=fallback-x11 com.microsoft.Teams
flatpak override --user --talk-name=org.freedesktop.portal.Desktop com.microsoft.Teams

Chiudi completamente l’app e riaprila dopo ogni modifica.

Aggiornare o reinstallare il client desktop

Mantieni il client aggiornato per beneficiare di fix alla condivisione:

sudo apt update
sudo apt install --only-upgrade teams

Se necessario, disinstalla e reinstalla il pacchetto .deb. Ricorda che in ambienti con policy aziendali l’aggiornamento potrebbe essere gestito centralmente.

Usare la PWA nel browser

La via più veloce se non vuoi toccare l’ambiente grafico: apri Teams nel browser basato su Chromium o Edge, accedi, e quando il browser propone l’installazione come app web, conferma. La condivisione dello schermo in PWA su Wayland è gestita nativamente dal browser e dai portali di sistema. Durante la prima presentazione, il selettore del portale chiederà quale schermo o finestra mostrare.

Ottimizzazioni e accorgimenti

Disattivare l’accelerazione hardware

Su alcune GPU o con driver specifici, l’accelerazione può interferire con la cattura. Dal menu impostazioni dell’app desktop disattiva l’opzione di accelerazione hardware e riavvia l’app. In alternativa, avvia una volta l’app con il flag che disabilita l’accelerazione:

teams --disable-gpu

Gestire scaling e monitor multipli

Scaling frazionario e configurazioni multi monitor possono causare finestre nere o cursori desincronizzati durante la condivisione. Per il test, imposta temporaneamente una scala a uno e riavvia la sessione. Se il problema scompare, reintroduci lo scaling in modo graduale.

Verificare conflitti con tool di sicurezza

AppArmor o altre policy possono limitare l’accesso ai socket dei portali o a PipeWire. Se stai in un ambiente aziendale, consulta il team di sicurezza per un profilo dedicato o per escludere l’app dai blocchi che impediscono lo screen capture.

Ambienti e casi speciali

Altri display manager

Se usi un display manager diverso da GDM (per esempio LightDM o SDDM), la chiave equivalente è riportata nei rispettivi file di configurazione. L’impostazione da cercare rimane quella che forza l’uso del server Xorg disabilitando Wayland.

Distribuzioni derivate

Su Pop!_OS, Linux Mint e molte altre derivate l’opzione per entrare in modalità Xorg può trovarsi con un nome diverso nel menu dell’ingranaggio della schermata di login. In generale, cerca la voce che richiama “Xorg” o “sessione classica”.

Macchine virtuali e accesso remoto

In ambienti virtualizzati o sessioni remote alcune piattaforme limitano per sicurezza la cattura del desktop. Se la condivisione fallisce solo da remoto, prova in locale o passa alla soluzione browser.

Politiche tenant e limiti organizzativi

Raramente, la condivisione può essere disattivata dall’amministratore di Teams a livello di criteri. In quel caso non vedrai proprio i pulsanti di presentazione o riceverai messaggi che citano restrizioni organizzative. Se il tuo caso è diverso e il messaggio è quello indicato qui, è verosimile che la causa sia locale.

Checklist rapida prima e dopo l’intervento

  • Controlla il tipo di sessione con echo $XDGSESSIONTYPE.
  • Se sei su Wayland, prova subito la sessione Xorg dalla schermata di login.
  • In alternativa, disabilita Wayland nel file di GDM per una soluzione permanente.
  • Aggiorna il client desktop e riavvia l’app dopo ogni modifica.
  • Verifica che i servizi xdg-desktop-portal e pipewire siano attivi.
  • Controlla i permessi di snap o Flatpak se usi una versione in sandbox.
  • Se non vuoi toccare il sistema, passa alla PWA nel browser.

Tabella di confronto delle vie di uscita

SoluzioneVantaggiSvantaggiQuando usarla
Sessione Xorg temporaneaRapida, non modifica file di sistemaRichiede selezione manuale a ogni accessoPer prove veloci o su PC condivisi
Disabilitare Wayland via GDMStabile e definitivaCambio permanente di tecnologia graficaSu postazioni di lavoro fisse
Aggiornare TeamsRisoluzione pulita se il bug è notoDipende dalla disponibilità di una build correttaQuando l’IT consente aggiornamenti
Regolare sandboxNessun cambio di sessioneRichiede attenzione ai permessiSe usi snap o Flatpak
Usare la PWA nel browserCompatibile con Wayland, zero installazioniFunzioni offline limitate, dipende dal browserSoluzione immediata e portabile

Appendice di comandi utili

# verificare il tipo di sessione
echo $XDGSESSIONTYPE

mostrare info sulla sessione corrente

loginctl show-session $XDGSESSIONID -p Type -p Name -p Remote

stato dei servizi portale e pipewire

systemctl --user status xdg-desktop-portal xdg-desktop-portal-gnome pipewire

riavviare i servizi portale e pipewire

systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gnome pipewire

log dei portali e pipewire nell’ultima ora

journalctl --user -u xdg-desktop-portal -u xdg-desktop-portal-gnome -u pipewire --since "-60min" --no-pager

verificare la versione di teams

dpkg -l | grep -i teams

aggiornare il client .deb

sudo apt update
sudo apt install --only-upgrade teams

permessi snap

snap connections teams

permessi flatpak

flatpak permission-show --app com.microsoft.Teams 

Consigli per ambienti aziendali

  • Documenta la modifica al display manager se decidi di forzare Xorg, così da mantenerla nel ciclo di hardening.
  • Prepara un profilo desktop alternativo basato su PWA per gli utenti che devono restare su Wayland.
  • Verifica policy e criteri di condivisione del tenant prima di aprire ticket di supporto: escludi restrizioni lato server.
  • Aggiorna immagini di base e golden image includendo PipeWire e i portali desktop correttamente abilitati.

Ripristino e ritorno allo stato precedente

Hai disattivato Wayland e vuoi tornare com’era? Riapri /etc/gdm3/custom.conf e rimetti il cancelletto davanti alla riga, quindi riavvia GDM:

sudoedit /etc/gdm3/custom.conf
#WaylandEnable=false

sudo systemctl restart gdm3 

Se avevi solo selezionato Xorg dalla schermata di login, ti basta scegliere di nuovo la sessione predefinita al prossimo accesso.

Messaggio di errore e interpretazione pratica

Il testo “couldn’t connect to camera” non significa che la webcam sia guasta. Nel contesto di Teams su Ubuntu indica spesso che il meccanismo di cattura dello schermo non è riuscito a partire. Per questo la correzione non passa dalla fotocamera, ma dal sottosistema grafico, dai portali o dall’aggiornamento del client.

Conclusione e raccomandazioni finali

Se la condivisione schermo in Microsoft Teams su Ubuntu non funziona e incontri l’errore indicato, la strada più efficace è intervenire sulla sessione grafica: passare a Xorg o disattivare Wayland risolve nella grande maggioranza dei casi. In alternativa, la PWA nel browser fornisce una via perfettamente utilizzabile senza toccare il sistema, ideale quando non hai privilegi amministrativi o vuoi mantenere Wayland per altre ragioni. Completa l’intervento verificando i servizi dei portali desktop, PipeWire e l’aggiornamento del client. Con questo percorso otterrai una condivisione stabile e compatibile con l’ecosistema Ubuntu.

Domande frequenti

Come faccio a capire al volo se sono su Wayland

Apri un terminale e digita echo $XDGSESSIONTYPE. Se compare wayland, stai usando Wayland; se compare x11, sei su Xorg. È rischioso disattivare Wayland

No, è un cambio legittimo del server grafico. Su molte postazioni di lavoro Xorg è ancora preferito per compatibilità con strumenti di cattura e presentazione. Puoi tornare indietro quando vuoi reimpostando la riga nel file di GDM. Se uso il browser, perdo funzioni

La PWA offre la quasi totalità delle funzioni usate in riunione, inclusa la condivisione. Alcune funzioni offline o integrazioni profonde possono restare appannaggio del client desktop, ma per presentare è più che sufficiente. Perché alcuni colleghi su Ubuntu non hanno problemi

Probabilmente stanno usando Xorg, una build più recente del client o un ambiente in cui i portali e PipeWire sono in piena efficienza. La configurazione locale fa la differenza.


In sintesi: la causa più probabile è Wayland. Passare a Xorg o disattivare Wayland con WaylandEnable=false risolve nella quasi totalità dei casi. Se non vuoi modificare il sistema, usa la PWA di Teams o entra in riunione dal browser e condividi da lì.

Se segui questa guida in ordine, otterrai una diagnosi chiara e una soluzione ripetibile, sia in contesti domestici che aziendali.

Indice