Giochi

Come mostrare l'overlay OSD in app e giochi Linux a schermo intero

Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema rilevanti visibili in un pannello o nella barra delle applicazioni. Per ovviare a questo problema, puoi utilizzare un overlay OSD (on-screen display) su app e giochi a schermo intero. Questo articolo tratterà una guida su una pratica utility da riga di comando per la creazione di OSD, chiamata semplicemente "osd_cat". Termini come OSD e HUD (display a comparsa) verranno utilizzati in modo intercambiabile nell'articolo.

Installazione di Osd_cat in Linux

Per installare osd_cat in Ubuntu, esegui il comando seguente:

$ sudo apt install xosd-bin

Puoi installare osd_cat in altre distribuzioni Linux cercandolo nell'applicazione di gestione dei pacchetti.

Osd_cat viene fornito con molte opzioni della riga di comando, non è possibile coprire tutti i casi d'uso qui. Puoi accedere alla pagina man di osd_cat eseguendo il comando seguente:

$ man osd_cat

La pagina man di Osd_cat è disponibile anche online. Alcuni esempi sono spiegati di seguito, dandoti un'idea dell'utilizzo di osd_cat e delle sue varie opzioni della riga di comando.

Data e ora

Per mostrare un HUD di data e ora in continuo aggiornamento, eseguire il comando seguente:

$ mentre vero; fare data; dormire 1; fatto | osd_cat --align center
--pos mezzo --linee 1 --ritardo 1

Il comando esegue un ciclo "while" senza fine in un terminale e aggiorna l'output del comando "date" ogni secondo. Il simbolo della pipa “ | " viene utilizzato per alimentare l'output del comando "date" nel comando osd_cat. L'opzione "-lines" viene utilizzata per definire il numero di righe da visualizzare nell'OSD e l'opzione "-delay" viene utilizzata per definire la durata del comando osd_cat (1 secondo qui). Gli interruttori "-align" e "-pos" vengono utilizzati per visualizzare l'OSD rispettivamente al centro orizzontale e verticale dello schermo.

Per modificare la dimensione del carattere, utilizzare l'interruttore "-font" e modificarne il valore, come mostrato nel comando seguente:

$ mentre vero; fare data; dormire 1; fatto | osd_cat --align center --pos middle
--righe 1 --delay 1 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

Per eseguire un eseguibile binario insieme al comando osd_cat, usa un altro simbolo pipe:

$ mentre vero; fare data; dormire 1; fatto | osd_cat --align center --pos middle
--righe 1 --ritardo 1 | ./binario_eseguibile

Nota che la chiusura del binario eseguibile non terminerà il ciclo "while". Dovrai terminare manualmente il ciclo premendo il tasto chiave nella finestra del terminale in cui è stato lanciato per la prima volta il comando.

Se riesci a vedere il testo lampeggiante nell'OSD, prova ad aumentare il valore di "-delay" a 2 o più.

Utilizzo della CPU e della memoria

Per visualizzare un HUD che mostra l'utilizzo della CPU ogni secondo, usa il comando seguente:

$ mentre vero; do top -b -n1 | grep "Cpu(s)" | awk 'stampa $2 + $4'; dormire 1; fatto
| osd_cat --align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*
-*-*-*-*-*-*

Per visualizzare un HUD che mostra la RAM utilizzata dal sistema ogni secondo, utilizzare il comando seguente:

$ mentre vero; fare gratis | grep Mem | awk 'stampa $3/$2 * 100.0'; dormire 1; fatto | osd_cat
--align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

Mirino nei giochi

Puoi visualizzare un piccolo mirino esattamente al centro dello schermo usando osd_cat. Visualizzando una singola lettera esattamente al centro dello schermo, puoi usarla come reticolo nei giochi FPS. La maggior parte dei giochi FPS mostra un mirino al centro dello schermo. Ogni volta che un giocatore usa Mouselook (sposta la telecamera attraverso il mouse), il mirino rimane al centro dello schermo mentre la telecamera o la scena si spostano. Un HUD osd_cat può essere utilizzato per visualizzare un reticolo fisso e statico al centro del display. Esegui il comando seguente per mostrare la lettera "o" come mirino:

$ echo "o" | osd_cat --align center --pos middle

Nota che il mirino può essere leggermente sfalsato a seconda del gioco a cui stai giocando e dello stile e delle dimensioni del mirino originale. Tuttavia, può essere facilmente risolto utilizzando gli switch "offset" e "indent" spiegati nella pagina man "osd_cat". Queste opzioni possono essere utilizzate anche per allineare il mirino in terza persona o nei giochi sopra la spalla, dove il mirino potrebbe non essere esattamente al centro.

Livello della batteria del controller DualShock

Puoi mostrare il livello della batteria del tuo controller DualShock come una sovrapposizione su qualsiasi gioco usando osd_cat. Abbastanza utile se non vuoi controllare costantemente la capacità rimanente mentre giochi. Esegui il comando seguente per mostrare la percentuale di batteria rimanente in un HUD osd_cat:

$ mentre vero; do upower -i $(upower -e | grep sony_controller_battery) | percentuale grep
| awk 'stampa $2'; dormire 1; fatto | osd_cat --align center --pos middle --lines 1
--ritardo 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*

Conclusione

Osd_cat può essere personalizzato pesantemente e puoi usarlo con qualsiasi comando che genera output nel terminale per creare un HUD. Ad esempio, puoi mostrare continuamente un contatore FPS nei giochi 3D o puoi mostrare informazioni utili in un ambiente desktop minimale che utilizza un gestore di finestre leggero come openbox o un gestore di finestre piastrellato come XMonad.

Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...