Se Microsoft Edge su Linux si rifiuta di avviarsi con l’avviso “This profile appears to be in use…”, il profilo è quasi sempre rimasto bloccato da file di lock Singleton. In questa guida trovi la procedura sicura per sbloccarlo, capire perché accade e prevenire il problema in futuro.
Panoramica del problema
Dopo un’installazione manuale tramite pacchetto .rpm
(o in seguito a un arresto anomalo), Edge può mostrare questo messaggio:
“This profile appears to be in use by another Microsoft Edge process … Microsoft Edge has locked this profile to prevent corruption.”
Il controllo del profilo è un meccanismo ereditato da Chromium: quando parte un’istanza di Edge, vengono creati alcuni file speciali denominati Singleton*
nel user data directory (la cartella del profilo). Questi file servono a impedire che due processi utilizzino lo stesso profilo contemporaneamente, evitando corruzioni. Se Edge si chiude male, i file restano e al riavvio il browser interpreta la loro presenza come se il profilo fosse ancora in uso.
Soluzione rapida
Se vuoi andare subito al sodo, esegui questi passaggi. Sono sicuri: i file Singleton*
non contengono dati utente, ma solo informazioni di lock temporanee.
- Chiudi completamente Edge (inclusi eventuali processi zombie).
pkill -f microsoft-edge
- Vai alla cartella del profilo (canale stable; per beta o dev vedi tabella più sotto):
cd ~/.config/microsoft-edge/
- Elimina i file di blocco (possono chiamarsi
SingletonLock
,SingletonCookie
,SingletonSocket
):
rm -f Singleton*
- Rilancia Edge. I file verranno rigenerati automaticamente e il profilo tornerà ad aprirsi.
Procedura completa e sicura
Uscire davvero da Edge
Prima di toccare i file, assicurati che non ci sia nessun processo Edge in esecuzione con il tuo utente:
pgrep -a -u "$USER" -f microsoft-edge || echo "Nessun processo Edge attivo"
Se vedi processi ancora vivi, chiudili:
pkill -u "$USER" -f microsoft-edge
sleep 1
pgrep -a -u "$USER" -f microsoft-edge || echo "Tutto chiuso"
Individuare il percorso del profilo
Per impostazione predefinita (canale stable) Edge usa ~/.config/microsoft-edge/
. Se la tua variabile XDGCONFIGHOME
è impostata, la cartella sarà $XDGCONFIGHOME/microsoft-edge/
. Questa tabella ti aiuta a orientarti per canali e casi più comuni:
Canale | Cartella profilo (predefinita) | Comando eseguibile | Note |
---|---|---|---|
Stable | ~/.config/microsoft-edge/ | microsoft-edge | Profilo principale. Sottocartelle: Default , Profile 1 , ecc. |
Beta | ~/.config/microsoft-edge-beta/ | microsoft-edge-beta | Parallelamente allo stable. |
Dev | ~/.config/microsoft-edge-dev/ | microsoft-edge-dev | Versione di sviluppo, profili separati. |
Se hai avviato Edge con un percorso personalizzato tramite --user-data-dir
, i file Singleton*
si troveranno in quella cartella.
Eseguire un backup (opzionale ma consigliato)
Non è strettamente necessario per i file Singleton*
, ma se lavori in produzione è prudente fare un salvataggio veloce prima di operare:
cp -r ~/.config/microsoft-edge ~/.config/microsoft-edge.backup
Rimuovere i file di lock
Nella cartella del profilo elimina qualsiasi file che inizia con Singleton
:
cd ~/.config/microsoft-edge/
ls -l | grep -E '^.Singleton' || echo "Nessun file Singleton trovato"
rm -f -- Singleton*
Perché è sicuro? Questi file non contengono password, preferiti o cronologia: sono solo indicatori temporanei (socket, lock, cookie). La loro assenza non danneggia i dati: Edge li ricrea al primo avvio.
Riavvio e verifica
Rilancia il browser:
microsoft-edge & disown
Se parte senza messaggi, il problema è risolto. In caso contrario, passa alla sezione “Diagnostica”.
Perché funziona
Chromium (da cui Edge deriva) implementa un meccanismo di single-instance per ogni directory profilo. Al lancio viene creato un socket Unix e un paio di file sentinella (SingletonSocket
, SingletonLock
, SingletonCookie
) che contengono informazioni minime come PID e percorso del socket. Se il processo termina in modo pulito, i file spariscono; in caso di crash, power loss o kill forzato, possono rimanere sul disco, facendo credere a Edge che un’altra istanza sia ancora attiva.
Suggerimenti e buone pratiche
- Evita profili su montaggi remoti non affidabili (NFS/SMB con latenza o lockd instabile) che possono generare falsi positivi.
- Non eseguire il browser come root e non mescolare profili fra utenti diversi.
- Aggiorna Edge dal gestore pacchetti della tua distribuzione (anziché reinstallare manualmente file
.rpm
): riduce il rischio di incongruenze. - Usa uno spegnimento pulito: prima di riavviare il sistema, chiudi Edge per evitare residui.
Diagnostica quando il lock ricompare subito
Se, appena avvii, i file Singleton*
riappaiono e l’avviso persiste, ecco cosa controllare:
Verifica processi rimasti
pgrep -a -u "$USER" -f 'microsoft-edge(-beta|-dev)?' || echo "Nessun processo"
Individua il profilo realmente in uso
Se avvii Edge con una scorciatoia personalizzata, controlla se è impostata la flag --user-data-dir
:
ps -ef | grep -E 'microsoft-edge(-beta|-dev)?' | grep -- --user-data-dir || echo "Nessuna flag user-data-dir rilevata"
Controlla i montaggi
Se la home è su un filesystem di rete, verifica eventuali lock stantii:
mount | grep -Ei 'home|nfs|cifs|smb'
Ispeziona i file Singleton
Talvolta è utile leggere i file prima di eliminarli per confermare che puntino a socket o PID inesistenti:
cd ~/.config/microsoft-edge/
stat Singleton* 2>/dev/null
strings SingletonCookie 2>/dev/null | sed -n '1,5p'
Controlla i permessi
Un profilo con permessi strani può impedire la rimozione dei lock:
find ~/.config/microsoft-edge -maxdepth 1 -name 'Singleton*' -exec ls -l {} \;
Security frameworks (SELinux/AppArmor)
In ambienti hardenizzati, policy restrittive possono impedire la creazione del socket, causando comportamenti anomali. Non disabilitare SELinux/AppArmor: consulta i log per capire se ci sono denial relativi a Edge.
# SELinux (richiede privilegi)
sudo ausearch -m avc -ts recent | tail -n +1
AppArmor (Ubuntu e derivate)
dmesg | grep -i DENIED | tail -n +1
Automazione: script sicuro per sbloccare i profili Edge
Se gestisci più postazioni o canali (stable, beta, dev), puoi usare questo script. Non elimina nulla se rileva processi attivi; quando opera, sposta i file in una cartella di backup per eventuale audit.
#!/usr/bin/env bash
edge-unlock.sh — rimuove in sicurezza i lock Singleton di Microsoft Edge
Uso: sh edge-unlock.sh
set -euo pipefail
IFS=\$'\n\t'
CHANNELS=( "microsoft-edge" "microsoft-edge-beta" "microsoft-edge-dev" )
CONFIG\BASE="\${XDG\CONFIG\_HOME:-\$HOME/.config}"
for bin in "\${CHANNELS\[@]}"; do
profdir="\${CONFIG\_BASE}/\${bin}/"
\[\[ -d "\$profdir" ]] || continue
echo "◼︎ Controllo: \$profdir"
if pgrep -u "\$USER" -f "\$bin" >/dev/null; then
echo " → Processo \$bin in esecuzione. Salto."
continue
fi
shopt -s nullglob
locks=( "\$profdir"/Singleton\* )
if (( \${#locks\[@]} == 0 )); then
echo " → Nessun file Singleton\*."
continue
fi
ts=\$(date +%Y%m%d-%H%M%S)
bkp="\$profdir/.backup-singleton-\$ts"
mkdir -p -- "\$bkp"
for f in "\${locks\[@]}"; do
echo " - Sposto \$(basename "\$f") in \$bkp"
mv -f -- "\$f" "\$bkp/"
done
echo " ✓ Lock rimossi per \$bin (backup: \$bkp)."
done
echo "Fatto. Avvia di nuovo Edge."
Eseguirlo con un alias
chmod +x ~/edge-unlock.sh
echo "alias edge-unlock='~/edge-unlock.sh'" >> ~/.bashrc
source ~/.bashrc
Schedularlo con systemd (utente)
Esempio di unit e timer per eseguire il controllo dopo il login e poi periodicamente.
~/.config/systemd/user/edge-unlock.service
[Unit]
Description=Sblocca profili Edge (lock Singleton)
After=default.target
\[Service]
Type=oneshot
ExecStart=%h/edge-unlock.sh
~/.config/systemd/user/edge-unlock.timer
[Unit]
Description=Timer per sblocco profili Edge
\[Timer]
OnBootSec=1min
OnUnitActiveSec=12h
Persistent=true
\[Install]
WantedBy=timers.target
systemctl --user daemon-reload
systemctl --user enable --now edge-unlock.timer
systemctl --user list-timers | grep edge-unlock
Alternative e piani B
Avvia Edge con un profilo temporaneo
Per lavorare subito (mentre indaghi), puoi avviare Edge su una directory profilo pulita e isolata:
microsoft-edge --user-data-dir="$HOME/.local/share/edge-temp-profile"
Se così parte, il problema è confinato alla tua directory profilo originale.
Ripara permessi della directory profilo
Permessi incoerenti possono impedire a Edge di gestire i socket.
# Esempio per canale stable
chmod 700 ~/.config/microsoft-edge
find ~/.config/microsoft-edge -type d -exec chmod 700 {} \;
find ~/.config/microsoft-edge -type f -exec chmod 600 {} \;
Verifica spazio su disco e inode
Un filesystem pieno può impedire la creazione del socket, con sintomi simili.
df -h ~
df -i ~
Capire meglio i file Singleton
Quando tutto funziona, nella cartella del profilo vedrai di nuovo i file Singleton*
creati all’avvio di Edge:
SingletonSocket
: socket Unix di coordinamento fra processi.SingletonLock
: lock file usato come ulteriore guardia.SingletonCookie
: traccia minima per evitare ambiguità in scenari multi-host.
Se Edge non termina in modo pulito (crash, kill -9, power-off), questi artefatti restano. Rimuoverli non tocca i dati core del profilo (Preferiti, Cronologia, Estensioni), che sono archiviati in altre posizioni (Default/
e simili). Da qui la sicurezza dell’operazione.
Check-list di pronto intervento
- Chiudi Edge e processi residui (
pkill -f microsoft-edge
). - Vai nella cartella del profilo corretta (
~/.config/microsoft-edge/
oppure$XDGCONFIGHOME/microsoft-edge/
). - Elimina
Singleton
(rm -f Singleton
). - Riavvia Edge; se l’errore persiste, verifica montaggi di rete, permessi, spazio disco.
- Valuta l’automazione con lo script edge-unlock se il problema è ricorrente.
Domande frequenti
È sicuro cancellare i file Singleton?
Sì. Sono file temporanei di lock. Non contengono dati personali né configurazioni permanenti.
Perché l’errore è comparso subito dopo l’installazione manuale via .rpm?
Durante installazioni e aggiornamenti manuali è più probabile chiudere il browser in modo “brusco” o cambiare binario mentre un’istanza è ancora in memoria. Il risultato è identico a un crash: file Singleton*
stantii.
Ho più profili (Default, Profile 1, ecc.). Devo agire in ognuno?
No. I file Singleton*
sono nella radice della directory profilo principale (~/.config/microsoft-edge/
, ~/.config/microsoft-edge-beta/
, ecc.), non dentro Default/
o Profile X/
.
Uso un percorso personalizzato con --user-data-dir
. Dove trovo i file?
Nella cartella indicata dalla flag. Esempio: se hai --user-data-dir=/data/edge-user
, i file Singleton*
saranno in /data/edge-user/
.
E se i file ritornano ma Edge continua a non avviarsi?
Controlla processi residui, spazio su disco, permessi e policy di sicurezza (SELinux/AppArmor). Prova anche con un profilo temporaneo per isolare il problema. Se solo il profilo temporaneo funziona, valuta il ripristino selettivo delle configurazioni nel profilo originale.
Prevenzione: ridurre le probabilità che accada di nuovo
- Chiudi Edge prima di spegnere o riavviare il PC.
- Evita di spostare il profilo tra macchine diverse mentre Edge è aperto (es. home su NFS con sessioni simultanee).
- Aggiorna Edge dal repo della distribuzione e non miscelare versioni di canali diversi con lo stesso profilo.
- Monitora crash: se avvengono spesso, rivedi estensioni o flag sperimentali attive.
Comandi “copia e incolla” (riassunto operativo)
Blocchi minimi per sbloccare il profilo Stable:
pkill -f microsoft-edge
cd ~/.config/microsoft-edge/
rm -f Singleton*
microsoft-edge & disown
Verifica stato e ambiente:
pgrep -a -u "$USER" -f 'microsoft-edge(-beta|-dev)?'
echo "Config base: ${XDGCONFIGHOME:-$HOME/.config}"
mount | grep -Ei 'home|nfs|cifs|smb' || echo "Home locale"
df -h ~
Note su ambienti particolari
Profili su NFS/SMB: le latenze di rete e la semantica dei lock possono far credere a Edge che il profilo sia in uso su un altro host. In questi casi:
- Evita sessioni simultanee sullo stesso profilo da più macchine.
- Considera profili separati per host diversi.
- Valuta mount con opzioni che migliorano l’affidabilità dei lock.
Container e sandbox: se esegui Edge in container o ambienti isolati, la directory profilo potrebbe essere mappata altrove. Usa --user-data-dir
per posizionarla su un percorso persistente e locale.
Quando la rimozione di Singleton non basta
Se, nonostante tutto, la finestra di avviso compare ancora:
- Testa un profilo nuovo con
--user-data-dir
. Se funziona, il profilo originale è il problema. - Prova ad avviare senza estensioni:
microsoft-edge --disable-extensions
(utile se un’estensione crasha in loop). - Controlla file Local State e Preferences solo se sospetti corruzioni profonde (operazione avanzata; non cancellarli alla leggera).
Riepilogo
Il messaggio “This profile appears to be in use…” su Edge per Linux è quasi sempre l’effetto di un arresto non pulito: restano i file Singleton*
e il browser non parte. La soluzione è semplice e sicura: chiudi Edge, vai nella cartella del profilo, elimina i file di lock e riavvia. Per situazioni ricorrenti, usa lo script di sblocco e verifica eventuali criticità di ambiente (filesystem di rete, permessi, spazio). Con questi accorgimenti, il tuo profilo si riaprirà senza ulteriori problemi.
L’utente ha confermato che, dopo la rimozione dei file “Singleton”, Edge si avvia correttamente senza ulteriori impedimenti.