" itemprop="description"/>

FaciLinux

Guide Facili per Linux

linux

linux

Sfruttando il software illustrato nell'articolo "Scaricare un video di Youtube da linea di comando", è possibile anche ottenere un file audio da un video o una playlist di Youtube.

Il processo è composto da due passi principali:

  1. viene scaricato il media nel formato originario (.webm)
  2. il media viene convertito nel formato desiderato (.mp3)

Per il passo di conversione il software youtube-dl si appoggia a:

  • avconv
  • ffmpeg (consigliato)

Andiamo quindi ad installare il software ffmpeg con il comando

sudo apt-get update
sudo apt-get install ffmpeg
ffmpeg -version

Per convertire in un file mp3 un video di Youtube possiamo utilizzare il comando

youtube-dl -i --extract-audio --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=xymjDyGIvQ4

dove

-i - ignora gli errori
--extract-audio - estrae la traccia audio
--audio-format mp3 - converte l'audio in formato mp3
--audio-quality 0 - imposta la qualità audio migliore

Se vogliamo aggiungere i tag ID3 partendo dai metadati del video di Youtube basta aggiungere lo switch --add-metadata

youtube-dl -i --extract-audio --audio-format mp3 --audio-quality 0 --add-metadata https://www.youtube.com/watch?v=xymjDyGIvQ4

Da Gnome >=3.8 occorre usare gvfs-mime (gio mime per Gnome >= 3.20) per manipolare l'applicazione associata di default per gestire il calendario.

Controllo dell'applicazione predefinita:

Gnome <3.20

gvfs-mime --query text/calendar

Gnome >= 3.20

gio mime text/calendar

Impostare la propria applicazione predefinita (google calendar):

Gnome <3.20

gvfs-mime --set text/calendar google-calendar.desktop

Gnome >= 3.20

gio mime text/calendar google-calendar.desktop

Il file google-calendar.desktop può essere creato in questo modo:

gnome-desktop-item-edit --create-new ~/.local/share/applications/google-calendar.desktop

Completare la finestra di dialogo con il seguente comando per aprire il browser con google calendar:

xdg-open <https://www.google.com/calendar>

Quindi riavviare la gnome-shell o rifare il logon nel proprio ambiente desktop perl'applicazione delle modifiche.

Se si vuole utilizzare il calendario California come predefinito (https://wiki.gnome.org/Apps/California) dare questo comando:

Gnome <3.20

gvfs-mime --set text/calendar california.desktop

Gnome >= 3.20

gio mime  text/calendar california.desktop

Trova e Sostituisci in Vim - Parte 1

- Posted in linux by

Questo articolo, suddiviso in parti, mostra degli esempi d'uso della funzione "Trova e Sostituisci" nell'editor Vim.

Vim fornisce il comando :s (sostituisci) per la ricerca e la sostituzione di stringhe di testo.

Esempi di base

:s/foo/bar/g

Trova ogni occorrenza della stringa 'foo' (nella riga corrente) e la sostituisce con la stringa 'bar'.

:%s/foo/bar/g

Trova ogni occorrenza della stringa 'foo' (in tutte le righe del testo) e la sostituisce con la stringa 'bar'.

:%s/foo/bar/gc

Trova ogni occorrenza della stringa 'foo' (in tutte le righe del testo) e la sostituisce con la stringa 'bar', chiedendo prima conferma.

 :%s/\<foo\>/bar/gc

Trova ogni occorrenza esatta della stringa 'foo' (in tutte le righe del testo) e la sostituisce con la stringa 'bar', chiedendo prima conferma.

:%s/foo/bar/gci

Trova ogni occorrenza (case insensitive, per il flag i) della stringa 'foo' (in tutte le righe del testo) e la sostituisce con la stringa 'bar', chiedendo prima conferma.

:%s/foo/bar/gcI

Trova ogni occorrenza (case sensitive, per il flag i) della stringa 'foo' (in tutte le righe del testo) e la sostituisce con la stringa 'bar', chiedendo prima conferma.

Il flag g significa globale: ogni occorrenza nella riga viene cambiata, piuttosto che solo la prima. Questo flag assume l'impostazione predefinita per l'opzione gdefault e edcompatible (off), che richiede che il flag g sia incluso in % s///g per eseguire un sostituzione globale. Usando :set gdefault si crea confusione perché la sostituzione %s/// è globale, mentre %s///g non lo è (cioè g inverte il suo significato).

Quando si usa la flag c, è necessario confermare cosa fare per ogni occorrenza trovata. Vim produrrà qualcosa come

replace with foobar (y/n/a/q/l/^E/^Y)? 

dove foobar è la stringa in sostituzione.

Puoi digitare

  • y che significa sostituire questa occorrenza,
  • n per saltare questa occorrenza,
  • a sostituire questa e tutte le occorrenze rimanenti,
  • q per uscire dal comando,
  • l per sostituire questa occorrenza e uscire,
  • ^E per far scorrere lo schermo verso l'alto tenendo premuto il tasto Ctrl e premendo E
  • ^Y per far scorrere lo schermo verso il basso di tenendo premuto il tasto Ctrl e premendo Y.

Le ultime due scelte sono disponibili solo se Vim è una build normal, big o huge o la funzione insert_expand è stata abilitata al momento della compilazione (cercare +insert_expand nell'output del comando :version).

Può capitare, mentre si lavora all'interno di una finestra di terminale, di voler/dover aprire un file - magari contenuto proprio nella directory su cui si sta lavorando - con un'applicazione grafica.

Ad esempio di potrebbe avere l'esigenza di aprire un file immagine o un foglio di calcolo o un documento scritto con libreoffice. Per fortuna esiste un unico comando che ci aiuta ad aprire qualsiasi file con l'applicazione predefinita. Il comando si chiama xdg-open e si invoca semplicemente aggiungendo il nome del file che si vuole aprire. Per aprire, ad esempio, il file spreadsheet.xls, basta dare il comando:

xdg-open spreadsheet.xls

Xdg-open si occuperà di invocare il programma predefinito per i file excel (probabilmente Libreoffice). Se si vuole mantenere la possibilità di digitare nuovi comandi mentre l'applicazione grafica lanciata da xdg-open è attiva, basta far seguire al comando l'and commerciale (&), così il comando continua in background e lascia utilizzabile la linea di comando. Per aprire il file pdf esempio.pdf in background con l'applicazione predefinita il comando sarà quindi:

xdg-open esempio.pdf &

Può alle volte essere necessario (o comodo) scaricare in locale un video pubblicato su youtube. Esistono plugin per i maggiori browser che permettono di eseguire questa azione, o anche applicazioni grafiche; è però possibile eseguire facilmente questo compito anche da una finestra di terminale, utilizzando il software youtube-dl. Tale software è spesso già disponibile pacchettizzato nei repository ufficiali della propria distribuzione, quindi, usando ad esempio un pc con Debian o Ubuntu, per l'installazione basta aprire un terminale e digitare:

sudo apt-get install youtube-dl

A volte però il programma non è disponibile nei respository, oppure quello pacchettizzato è una versione obsoleta e non più funzionante; la soluzione consiste allora nel recarsi sul sito del progetto e scaricare l'ultima release, ecco come fare:

  • Puntare un browser all'indirizzo https://rg3.github.io/youtube-dl/
  • Cliccare sul pulsante Download
  • Seguire le istruzioni fornite per ottenere il software

Youtuble-dl offre moltissime opzioni per un utilizzo avanzato (compreso, ad esempio, il download di intere playlist), tutta la documentazione aggiornata è disponibile sul sito del progetto, a questo indirizzo: https://github.com/rg3/youtube-dl/blob/master/README.md#readme Per un utilizzo "base" segnalo che basta invocare il comando seguito dall'URL del video youtube che si vuole scaricare perché youtube-dl si occupi di scaricare tale video con il formato predefinito. Supponiamo di voler scaricare questo video

della Linux Foundation, il comando da digitare a terminale sarà semplicemente:

youtube-dl https://www.youtube.com/watch?v=11VGDAOVEag

Per conoscere i formati in cui un video è disponibile occorre aggiungere il flag -F:

youtube-dl -F https://www.youtube.com/watch?v=11VGDAOVEag
[youtube] 11VGDAOVEag: Downloading webpage
[youtube] 11VGDAOVEag: Downloading video info webpage
[info] Available formats for 11VGDAOVEag:
format code  extension  resolution note
249          webm       audio only DASH audio   50k , opus @ 50k, 626.23KiB
250          webm       audio only DASH audio   66k , opus @ 70k, 833.89KiB
140          m4a        audio only DASH audio  129k , m4a_dash container, mp4a.40.2@128k, 1.68MiB
251          webm       audio only DASH audio  134k , opus @160k, 1.65MiB
171          webm       audio only DASH audio  136k , vorbis@128k, 1.66MiB
160          mp4        256x144    144p  112k , avc1.4d400c, 12fps, video only, 1.43MiB
278          webm       256x144    144p  133k , webm container, vp9, 24fps, video only, 1.33MiB
133          mp4        426x240    240p  251k , avc1.4d4015, 24fps, video only, 3.22MiB
242          webm       426x240    240p  304k , vp9, 24fps, video only, 2.71MiB
243          webm       640x360    360p  559k , vp9, 24fps, video only, 4.82MiB
134          mp4        640x360    360p  623k , avc1.4d401e, 24fps, video only, 4.94MiB
244          webm       854x480    480p 1018k , vp9, 24fps, video only, 8.16MiB
135          mp4        854x480    480p 1114k , avc1.4d401e, 24fps, video only, 9.08MiB
247          webm       1280x720   720p 2056k , vp9, 24fps, video only, 15.98MiB
136          mp4        1280x720   720p 2216k , avc1.4d401f, 24fps, video only, 16.75MiB
248          webm       1920x1080  1080p 3608k , vp9, 24fps, video only, 29.37MiB
137          mp4        1920x1080  1080p 4155k , avc1.640028, 24fps, video only, 32.52MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 1.08MiB
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2, 2.99MiB
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 7.80MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 9.82MiB
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

Infine, per scaricare in un formato predefinito, basta usare il flag -f seguito dal numero corrispondente (prima colonna dell'output precedente) al formato voluto. Volendo quindi scaricare il video in formato mp4 a una risoluzione di 426x240 il comando diventerà quindi:

youtube-dl -f 133 https://www.youtube.com/watch?v=11VGDAOVEag

Un'ultima nota; youtube-dl non scarica solo i video di youtube, come il nome potrebbe erroneamente far pensare: la lista di siti supportati è infatti molto ampia (https://rg3.github.io/youtube-dl/supportedsites.html)

La maggior parte delle distribuzioni Linux per orientate al desktop offrono software grafici per la ricerca, l'installazione e la rimozione di pacchetti; a volte però ci si trova a dover cercare un pacchetto da linea di comando (magari si è preso un server VPS in cloud che non offre l'interfaccia grafica...). Imparando e usando i comandi esistenti da linea di comando alla fine si scoprirà che sono anche più potenti, immediati e veloci di qualsiasi programma grafico.

Ecco quindi come fare; NB tutti i comandi vanno eseguiti da una finestra di terminale

Ricerca nel nome e nella descrizione dei pacchetti

È il modo più semplice e naturale per fare una ricerca; mettiamo di voler cercare tutti i pacchetti che contengono nel nome o nella descrizione la parola libreoffice, il comando sarà:

apt-cache search libreoffice

Volendo cercare solo nei pacchetti il cui nome contenga la parola cercata occorre aggiungere un'opzione:

apt-cache search libreoffice --names-only

La ricerca supporta le regular expressions, quindi per cercare solo i pacchetti il cui nome inizia per libreoffice è possibile usare questo comando:

apt-cache search ^libreoffice --names-only

Ricerca nell'elenco dei file dei pacchetti

A volte può essere necessario sapere quale pacchetto fornisce un determinato file. Ad esempio, quale pacchetto fornirà il file di libreria libgimp-2.0.so.0?

Possiamo scoprirlo in due modi; il primo metodo consiste nell'utilizzare gli strumenti web messi a disposizione sia da Debian sia da Ubuntu, rispettivamente alle pagine https://packages.debian.org e https://packages.ubuntu.com Visitando i due link sopra citati è possibile, utilizzando gli strumenti di ricerca messi a disposizione, trovare quale pacchetto (o quali pacchetti, se più d'uno) forniscono il file libgimp-2.0.so.0

Ricerca via web

Il "problema" del metodo via web è che la ricerca viene fatta solo sui repository ufficiali di Ubuntu; nel caso in cui sulla nostra macchina abbiamo configurato delle sorgenti di pacchetti esterne occorre passare al metodo seguente.

Il secondo metodo permette di sfruttare la linea di comando, utilizzando il comando apt-file, ecco come:

apt-file search libgimp-2.0.so.0

Il comando apt-file non è generalmente installato di default;se manca, è possibile installarlo con il comando:

sudo apt-get install apt-file

Occorre quindi aggiornare la cache di apt-file; per questo basta dare il comando:

sudo apt-file update

A questo punto il comando apt-file è pronto per essere utilizzato.

Per disabilitare completamente l'uso e la richiesta di indirizzi ip in formato IPv6 in Ubuntu è necessario editare come utente root il file /etc/sysctl.conf. Ecco come fare da linea di comando: aprire una finestra di terminale e digitare il seguente comando:

sudo nano /etc/sysctl.conf 

Verrà aperto un editor di testo e visualizzato il file da modificare. Utilizzando i tasti freccia, portarsi alla fine del file ed aggiungere le seguenti righe:


#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Premere quindi la combinazione di tasti CTRL+x; l'editor di testo chiederà se davvero vogliamo salvare le modifiche al file. Occorre confermare scrivendo si (se l'editor è localizzato in italiano) o yes (se è localizzato in inglese).

Riavviare il sistema per applicare le modifiche; se non è possibile riavviare si può forzare l'aggiornamento della configurazione digitando questo comando all'interno di una finestra di terminale:


sudo sysctl -p

Può capitare di dover dividere un file di testo contenente una lunga lista in più file con un numero predefinito di righe ognuno.

Per eseguire il compito basta aprire un terminale, posizionarsi nella directory contenente il file da suddividere e dare il comando:

split -l 100 file_lungo.txt

Con il comando sopra descritto si otterranno tanti file da 100 linee ognuno. Il nome dei file sarà di default la lettera x seguita da suffissi in ordine alfabetico (xaa il primo file, xab il secondo xac il terzo e così via). È possibile scegliere un prefisso diverso aggiungendolo alla fine del comando. Volendo quindi usare il prefisso file_corto il comando diventerà:

split -l 100 file_lungo.txt file_corto
Gli articoli presenti in questo sito sono di proprietà degli autori di FaciLinux
Idee, consigli? Scrivici su
info-at-facilinux.it
Powered by HTMLy