Condividi tramite


Risoluzione dei problemi nel terminale Windows

Questa guida risolve alcuni degli errori e degli ostacoli comuni che potresti incontrare quando usi terminale Windows.

L'apertura delle impostazioni non esegue alcuna operazione (o apre un'applicazione imprevista)

Se si seleziona il pulsante impostazioni nell'elenco a discesa, il terminale tenta di aprire il file delle impostazioni, settings.json. Questa azione fa sì che il sistema operativo avvii l'editor di file configurato .json . Questo editor potrebbe essere Visual Studio, Blocco note o un'altra applicazione imprevista. Se il computer non dispone di un editor configurato .json , il sistema operativo visualizza infine la finestra di dialogo Come aprire il file .

Suggerimento

È anche possibile usare l'interfaccia utente delle impostazioni per configurare le impostazioni. È possibile apprendere come aprire l'interfaccia utente delle impostazioni nella pagina Azioni.

Impostare la distribuzione WSL per l'avvio nella home ~ directory quando viene avviata nelle versioni precedenti di Terminale Windows

Per impostazione predefinita, l'oggetto startingDirectory di un profilo è %USERPROFILE% (C:\Users\<YourUsername>). Questo percorso è un percorso di Windows. Per le distribuzioni WSL che eseguono una nuova versione di Terminale Windows, i file system possono immettere ~ per impostare questo percorso home. Nelle versioni precedenti di Terminale Windows, è possibile usare /home/<Your Ubuntu Username> per fare direttamente riferimento alla cartella home. Ad esempio, l'impostazione seguente avvia la distribuzione "Ubuntu-20.04" nel percorso del file home:

{
    "name": "Ubuntu-20.04",
    "commandline" : "wsl -d Ubuntu-20.04",
    "startingDirectory" : "/home/<Your Ubuntu Username>"
}

Se si usa una versione molto anticipata di Terminale Windows, WSL potrebbe richiedere l'uso del \\wsl$\ prefisso quando si fa riferimento al percorso iniziale di una distribuzione per l'impostazione startingDirectory . Ad esempio, l'impostazione seguente avvia la distribuzione "Ubuntu-18.04" nel percorso del file home:

{
    "name": "Ubuntu-18.04",
    "commandline" : "wsl -d Ubuntu-18.04",
    "startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}

Importante

Nelle versioni più recenti di Windows, startingDirectory può accettare percorso in stile Linux.

Impostazione del titolo della scheda

Per impostare automaticamente il titolo della scheda, visitare l'esercitazione su come impostare il titolo della scheda. Se si vuole impostare il titolo della scheda, aprire il filesettings.json e seguire questa procedura:

  1. Nel profilo della riga di comando desiderata aggiungere "suppressApplicationTitle": true per eliminare eventuali eventi di modifica del titolo inviati dalla shell. Aggiungendo solo questa impostazione al profilo, il titolo della scheda viene impostato sul nome del profilo.

  2. Se si vuole un titolo di scheda personalizzato che non sia il nome del profilo, aggiungere "tabTitle": "TITLE". Sostituire "TITLE" con il titolo della scheda preferito.

Argomenti della riga di comando in PowerShell

Per informazioni sul funzionamento degli argomenti della riga di comando in PowerShell, vedere la pagina Argomenti della riga di comando.

Argomenti della riga di comando in WSL

Per informazioni sul funzionamento degli argomenti della riga di comando in WSL, vedere la pagina Argomenti della riga di comando.

Impostazione del problema startingDirectory

Se il profilo ignora l'impostazione startingDirectory, controllare prima di tutto la sintassi nel file settings.json. Per controllare questa sintassi, "$schema": "https://aka.ms/terminal-profiles-schema" viene inserita automaticamente. Alcune applicazioni, ad esempio Visual Studio Code, usano lo schema inserito per convalidare il file JSON durante le modifiche.

Se le impostazioni sono corrette, è possibile eseguire uno script di avvio che imposta separatamente la directory iniziale del terminale. Ad esempio, PowerShell ha un proprio concetto separato di profili. Se si modifica la directory iniziale in un profilo di PowerShell, ha la precedenza sull'impostazione definita in Terminale Windows.

In alternativa, se si esegue uno script usando l'impostazione del profilo commandline, potrebbe impostare la posizione in tale script. Analogamente ai profili di PowerShell, i comandi nello script hanno la precedenza sull'impostazione del startingDirectory profilo.

Lo scopo di startingDirectory è avviare una nuova istanza di Terminale Windows nella directory specificata. Se il terminale esegue qualsiasi codice che ne modifica la directory, controllare tale codice.

CTRL+= non aumenta la dimensione del carattere

Se usi un layout di tastiera tedesco, potresti riscontrare questo problema. CTRL+= viene deserializzato come CTRL+MAIUSC+0 se il layout della tastiera principale è impostato su Tedesco. Questo mapping è corretto per le tastiere tedesche.

Più importante, l'app non riceve mai la sequenza di tasti CTRL+MAIUSC+0 . Questo problema si verifica perché Windows riserva CTRL+MAIUSC+0 se sono attivi più layout di tastiera.

Se vuoi disabilitare questa funzionalità in modo che Ctrl+= funzioni correttamente, segui le istruzioni per "Cambia i tasti di scelta rapida per cambiare layout della tastiera in Windows 10" in questo articolo del blog.

Modificare l'opzione 'Cambia layout tastiera' su 'Non assegnato' (o disattivato CTRL+MAIUSC), quindi selezionare OK e quindi Applica. Ctrl+Shift+0 dovrebbe ora funzionare come associazione di tasti e viene trasmesso al terminale.

D'altra parte, se si usa questa funzionalità di tasti di scelta rapida per più lingue di input, è possibile configurare il proprio binding di tasti personalizzato nel file settings.json.

Il testo è sfocato

Alcuni driver di visualizzazione e combinazioni hardware non gestiscono le regioni di scorrimento e sporche senza sfocare i dati del frame precedente. Per attenuare questo problema, aggiungere una combinazione di queste impostazioni di rendering globali per ridurre lo sforzo posto sull'hardware causato dal renderer di testo del terminale.

I miei colori sembrano strani! Ci sono barre nere sul mio schermo!

Importante

Questo problema si applica solo alla versione 1.2+ di Terminale Windows. Se vengono visualizzati problemi di colore in Terminale Windows 1.0 o 1.1, o problemi che non sono documentati qui, si prega di segnalare un bug.

Terminale Windows 1.2 e versioni successive hanno una migliore comprensione di determinate impostazioni dei colori dell'applicazione. Grazie a questa comprensione migliorata, è stata rimossa una serie di blocchi di compatibilità che hanno portato a un'esperienza utente scarsa. Sfortunatamente, un numero ridotto di applicazioni potrebbe riscontrare problemi.

Questo elemento di risoluzione dei problemi viene mantenuto up-to-date con l'elenco dei problemi noti e le relative soluzioni alternative.

Linee nere in PowerShell (5.1, 6.x, 7.0)

Il terminale, in combinazione con la libreria di modifica delle righe di PowerShell PSReadline, potrebbe disegnare linee nere sullo schermo. Queste aree non ricolorate si estendono sullo schermo oltre il prompt ovunque siano presenti parametri di comando, stringhe o operatori.

PSReadline versione 2.0.3 contiene una correzione per questo problema. Se si usa la versione non definitiva di PSReadline, si noti che una correzione non è ancora disponibile.

Per eseguire l'aggiornamento alla versione più recente di PSReadline, eseguire il comando seguente:

Update-Module PSReadline

Perché le emoji non vengono visualizzate come icone nella jumplist?

Solo le immagini collegate da un percorso di file possono essere visualizzate come icone del profilo nella jumplist. La jumplist non supporta emoji per le icone.

Note tecniche

Le applicazioni che usano la GetConsoleScreenBufferInfo famiglia di API per recuperare i colori della console attiva in formato Win32 e quindi provare a trasformarli in sequenze VT multipiattaforma (ad esempio, trasformando BACKGROUND_RED in \x1b[41m) potrebbero interferire con la capacità del terminale di rilevare il colore di sfondo che l'applicazione sta tentando di usare.

Scegliere le funzioni dell'API di Windows o le sequenze VT per regolare i colori. Non mescolarli.

Avviso del servizio di tastiera

A partire da Terminale Windows 1.5, il terminale visualizza un avviso se il servizio "Touch Keyboard and Handwriting Panel Service" è disabilitato. Il sistema operativo necessita di questo servizio per instradare correttamente gli eventi di input all'applicazione Terminale (nonché molte altre applicazioni in Windows). Se viene visualizzato questo avviso, seguire questa procedura per riabilitare il servizio:

  1. Nella finestra di dialogo "Esegui", esegui services.msc

    services.msc nella finestra di dialogo di esecuzione

  2. Trova il servizio "Touch Keyboard and Handwriting Panel" (Servizio di Tastiera virtuale e Pannello di Scrittura a Mano)

    Servizio Tastiera Touch e Pannello di Scrittura a Mano in Services.msc

  3. Aprire "Proprietà" per questo servizio

    proprietà del servizio

  4. Modificare il "tipo di avvio" in "Automatico"

    tipo di avvio del servizio

  5. Selezionare Ok e riavviare il PC.

Dopo il riavvio del computer, il servizio viene avviato automaticamente e la finestra di dialogo non viene più visualizzata.

Perché viene visualizzato un lampeggiamento o un flashing quando si usa una riga di comando di Git Bash?

È possibile notare dei lampeggiamenti o degli sfarfallii quando si usa una riga di comando Git Bash all'interno di Windows Terminal. Questo comportamento è in realtà in base alla progettazione. Il terminale rispetta le operazioni che Git Bash indica di eseguire (impostando bell-style su visible, causando l'associazione di un flash alla risposta a campana), ma questo comportamento può distrarre. Per risolvere questo problema, aprire il .inputrc file per Git Bash con un editor di testo. Questo file si trova probabilmente nel percorso C:\Program Files\Git\etc. Per aprire il file con l'editor di testo Nano, usare il comando : nano ~/.inputrc.

Modificare il valore predefinito:

# none, visible or audible
set bell-style visible

Impostare il bell-style su none oppure su audible per rimuovere il flash visibile.

set bell-style none

Premere CTRL+O e CTRL+X per salvare e uscire.

Come si reimpostano le impostazioni in Terminale Windows sulle impostazioni predefinite?

Per ripristinare le impostazioni predefinite originali, eliminare il filesettings.json. Questa azione fa sì che terminale Windows rigenera un settings.json file con le impostazioni predefinite originali.

Importante

A partire da Terminale Windows versione 1.10 o successiva, è anche necessario eliminare il state.json file nella stessa directory del settings.json file per reimpostare completamente le impostazioni sulle impostazioni predefinite.

Perché l'opacità acrilica non rende trasparente lo sfondo del terminale Windows?

È possibile impostare la trasparenza di una finestra del terminale con la useAcrylic proprietà . Esistono alcuni motivi per cui l'impostazione di opacità potrebbe non funzionare per l'acrilico, tra cui:

  • Come criterio a livello di sistema, l'acrilico è abilitato solo per la finestra in primo piano. Se si attiva una finestra diversa da Terminale, l'acrilico del terminale viene disattivato.
  • L'acrilico non funziona se l'hardware GPU non lo supporta. Se si esegue un'app in una macchina virtuale (VM) o su desktop remoto, l'acrilico probabilmente non funziona.
  • Il sistema operativo disabilita l'acrilico per diversi motivi, ad esempio in modalità risparmio energia (batteria insufficiente) o quando si accede a un computer tramite Desktop remoto.

Perché il puntatore del mouse scompare quando si passa il puntatore del mouse su una finestra e si inizia a digitare?

Questo comportamento di nascondere automaticamente il cursore è progettato, ma è possibile disabilitarlo. Cerca nelle impostazioni di Windows le Impostazioni del mouse>Impostazioni aggiuntive del mouse>Proprietà del mouse>Opzioni puntatore> e deseleziona Nascondi puntatore durante la digitazione. Potrebbe essere necessario riavviare il terminale Windows per rendere effettiva questa modifica.