Metodi alternativi per ascoltare musica (da terminale)

Avrei voluto utilizzare un titolo diverso, ma ascoltare musica da terminale era già stato utilizzato… ovviamente riprendere a postare su quell’argomento non solo sarebbe stato necroposting, ma sarei andato anche un po’ troppo offtopic.

In realtà volevo solo condividere il risultato dell’utilizzo di alcuni strumenti, facilmente installabili dal repository ufficiale di Fedora (e dal repository di RPM Fusion), per ascoltare musica grazie all’ausilio del terminale.

Ovviamente il motivo non è certo perché i vari player ad interfaccia grafica che si hanno a disposizione al giorno d’oggi non siano in grado di offrire un’esperienza appagante, tutt’altro (ci mancherebbe), ma ritengo altrettanto piacevole l’utilizzo del terminale e mi diverte utilizzarlo anche per scopi “ricreativi”.

Schermata del 2023-02-06 22-20-14

Premetto innanzitutto che per ottenere un risultato come quello nell’immagine allegata, si deve ricorrere all’utilizzo di emulatori di terminale che supportino il tiling. Nel mio caso ho adottato (già da tempo e non solo per questo scopo) Tilix, ma esistono anche altri emulatori che hanno la funzionalità di tiling… ora gli unici che mi vengono in mente sono Terminology (l’emulatore di terminale presente di default sul DE Enlightenment), Terminator e ovviamente Tmux.

Edit: dimenticavo che anche Alacritty supporta una sorta di tiling (Multi-Window) purtroppo però non è presente sui repository di Fedora.

Tilix è quello con il quale mi son trovato più a mio agio ovviamente… segue le linee guida dell’interfaccia grafica di Gnome, ma si adatta bene anche al DE che utilizzo attualmente (Cinnamon) ed è facilmente installabile, al pari degli altri citati, tramite i repository di Fedora.

Come player audio da terminale prediligo personalmente l’utilizzo di C* Music Player (cmus), che è disponibile solo sui repository di RPM Fusion… se proprio preferite non aggiungere repository di terze parti, magari potrebbe essere sostituito da ncmpc o ncmpcpp.

Come visualizer ho preferito utilizzare cava perché si installa facilmente dal repository ufficiale di Fedora… esistono comunque anche altri visualizer che potrebbero essere utilizzati in alternativa, come ad esempio cli-visualizer oppure GLava (giusto per citarne alcuni).

La parte complicata era riuscire ad avviare cmus e cava utilizzando due tile separate di Tilix, senza dover ricorrere all’interfaccia grafica di Tilix (cioé, con un unico comando).

Comunque le strade del signore… cioé, quelle di Tilix (ma di linux in generale) sono infinite. Consultando la documentazione di Tilix, ho scoperto che si possono avviare dele “azioni” Command Line Actions
È sufficiente poi mettere in sequenza il comando azione con un altro comando per avviare simultaneamente due programmi in due tile separate di Tilix :heart:

Se ad esempio si vuole avviare cmus e nella tile sottostante si vuole avviare simultaneamente cava, è sufficiente dare il comando:

tilix -a session-add-down -x "cava" && cmus

ed il gioco è fatto.

Il funzionamento rimane invariato anche in caso di altri scenari, o con l’utilizzo di altri programmi… giusto per fare un altro esempio, posso ricercare un video su youtube (riproducendone soltanto l’audio tramite il terminale) e simultaneamente avviare il visualizer.

tilix -a session-add-down -x "cava" && youtube-viewer -n 'Sultans of Swing'

Ovviamente dovreste avere installato il programma youtube-viewer… purtroppo però non è presente sui repository ufficiali di Fedora.

Ganzo. Grazie per aver condiviso questa cosa.

Alacritty c’è nel repository di Fedora. Il pacchetto si chiama rust-alacritty.

1 Mi Piace

Caspita, mi era sfuggito… però a quanto pare è stato aggiunto di recente, almeno da quel che si legge sulla pagina del pacchetto, o meglio, per essere precisi del sottopacchetto alacritty (https://packages.fedoraproject.org/pkgs/rust-alacritty/alacritty/).
Sì, perché in effetti rust-alacritty dovrebbe fornire solo le librerie necessarie alla compilazione dei sorgenti.

Ora ci sarebbe da capire se c’è un comando che consenta di eseguire un programma in una finestra separata… con Tilix è semplicissimo.

Edit: con Tmux si può ottenere lo stesso risultato utilizzando l’opzione split-window, quindi in una sessione di Tmux già avviata sarà sufficiente digitare il comando:

tmux split-window -d 'cava' && cmus

Non utilizzando altri emulatori di terminale (avrei xterm, ma non ha funzionalità di tiling), non saprei quali comandi sia possibile utilizzare con gli altri già citati… anche se, adesso che so che hanno aggiunto alacritty al repo ufficiale, mi sta venendo voglia di provarlo :roll_eyes:

Ho voluto provare alacritty… sarà pure velocissimo, ma in realtà non supporta il tiling. La funzionalità Multi-Window gli consente solo di gestire più finestre sotto un unico processo ma, per l’appunto, sono finestre separate da quella principale. Abituato a vederlo in opera su windows manager che supportano il tiling, ero convinto fosse una funzionalità di alacritty.