FaciLinux

Guide Facili per Linux

tools

tools

Gestire i dotfiles

- Posted in tools by

Molti programmi su GNU/Linux usano memorizzare la loro configurazione nella $HOME usando uno o più dotfile (cioè file che iniziano con un punto, come ad esempio .bash_aliases o .vimrc) oppure salvandoli nella directory .config o directory ad hoc (come ad esempio Atom nella directory .atom, KDE nella directory .kde).

Spesso viene dedicato molto tempo alla configurazione e alla personalizzazione dei propri dotfile.\ Pertanto, quando si passa a una nuova macchina o si reinstalla il nostro sistema operativo, è molto importante poter ripristinare facilmente e velocemente tutti quei file di configurazione.

Soluzioni utilizzando il versioning di git

Directory $HOME come repository git

La prima soluzione è rendere l'intera directory $HOME un repository git. Questa può sembrare una soluzione semplice e buona, anche se dobbiamo stare attenti ai sub-repository e, soprattutto, non sarà semplice ripristinare il repository su una nuova macchina (poiché la cartella $HOME esiste già).

Repository separato e link simbolici

Per superare gli inconvenienti dati dal rendere la cartella $HOME un repository git, si può mettere il repository git con i dotfile altrove (ad esempio in $HOME/ dotfiles) e quindi ricollegare i file di configurazione all'interno della cartella $HOME attraverso link simbolici.

L'unico aspetto negativo è che su una nuova macchina dobbiamo collegare manualmente tutto al posto giusto e potrebbe essere un po' noioso.

Per questo motivo, quando si utilizza questo metodo, è una buona idea automatizzare la gestione dei link simbilici, ad esempio utilizzando GNU Stow.

Bare git repository

Un bare git repository consente di mantenere le directory working tree e .git in posizioni differenti.

Questo è molto simile al primo metodo, tranne per il fatto che la cartella .git non si trova direttamente nella cartella $HOME ma risiede, ad esempio, in ~/.config/dotfiles.\ Questo comporta che

  • evitiamo tutti i possibili problemi con i repository nidificati
  • non utilizziamo collegamenti simbolici

Sfortunatamente, come nel primo metodo, non è semplice clonare il repository quando la cartella $HOME esiste già.

vcsh

vcsh (Version Control System for $HOME) permette di avere diversi repository, che mantengono i loro working tree nella directory $HOME senza interferenze reciproche.\ Per impostazione predefinita, tutti i repository git gestiti tramite vcsh memorizzano i file effettivi in $HOME (ma è possibile modificare questa impostazione).

Ciò permette di avere un repository per applicazione o famiglia di applicazioni, ad esempio zsh, vim, ssh, ecc. Ciò, a sua volta, consente di clonare set personalizzati di configurazioni su macchine diverse o anche per utenti diversi e selezionare quali configurazioni si desidera utilizzare dove. Ad esempio, potresti non aver bisogno di avere la tua configurazione di mplayer su un server e potresti voler mantenere una configurazione diversa per ssh sulle tue macchine personali e di lavoro.

In particolare vcsh presenta i seguenti vantaggi:

  • cli più semplice: non è necessario ricordare comandi git complessi o definire alias su una nuova macchina
  • UX migliore: nessun problema nel clonare i dotfile quando la cartella $HOME esiste già o non è vuota
  • supporto perfetto per più repository: non è necessario definire un alias per ciascun repository

vcsh e mr

myrepos è uno strumento per gestire più repository di controllo versione, che funziona molto bene con vcsh.\ myrepos fornisce un comando mr, che è uno strumento unificato per gestire tutti i repository di controllo versione.

Questo metodo è più complesso da configurare rispetto al semplice vcsh (anche se è necessario eseguire questa configurazione una sola volta).

I punti di forza di questo metodo sono:

  • la possibilità di utilizzare script custom che vengono eseguiti al momento del checkout/update
  • la possibilità di fare il checkout dei repository in un percorso diverso dalla $HOME

balena Etcher

- Posted in tools by

Etcher (balenaEtcher) è una applicazione per scrivere i file immagine su schede SD.

Qui a balena abbiamo migliaia di utenti che lavorano con le nostre istruzioni di avvio e fino a poco tempo fa eravamo imbarazzati riguardo ai passaggi che comportavano il flashing di una scheda SD. C'era un modo differente per Mac / Windows / Linux e diversi passaggi manuali e soggetti a errori lungo la strada.
Con nostra sorpresa non c'era niente là fuori che si adattasse ai nostri bisogni. Così abbiamo creato Etcher, un'app flash card SD che è semplice per gli utenti finali, estensibile per gli sviluppatori e funziona su qualsiasi piattaforma.

Quindi Etcher è stato sviluppato per soddisfare esigenze particolari : “masterizzare” su periferiche SD in maniera semplice per gli utenti finali, estensibile per gli sviluppatori e che deve funzionare su qualsiasi piattaforma.

E’ sviluppato da balena e concesso in licenza Apache License 2.0.
Etcher è stato sviluppato utilizzando il framework Electron e supporta Windows, macOS e Linux.

Va notato che balenaEtcher utilizza servizi di monitoraggio al momento dell’utilizzo (Google Analytics e Mixpanel), anche quando la casella di controllo ‘Invia dati di utilizzo anonimo’ è spuntata.

Home Page: https://www.balena.io/etcher/ GitHub: https://github.com/balena-io/etcher

Premessa

Stop !!!

Generale

Ctrl+, Impostazioni
Ctrl+Shift+P Attiva/Disattiva il linea comandi
Ctrl+Alt+R Ricarica Atom
Ctrl+Shift+M Attiva/Disattiva l'anteprima Markdown
Ctrl+Shift+I Attiva/Disattiva gli strumenti sviluppatore di Chrome
Ctrl+. Attiva/Disattiva il Key Binding Resolver

Files e cartelle

Ctrl+N Nuovo file
Ctrl+Shift+N Nuova finestra
Ctrl+O Apri file
Ctrl+P Apri file con ricerca
Ctrl+Shift+O Apri cartella
Ctrl+ S Salva
Ctrl+ Shift + S Salva come
Ctrl+Tab
Ctrl+PGUP
Vai al tab successivo nel riquadro attivo
Ctrl+Shift+Tab
Ctrl+PGDN
Vai al tab precedente nel riquadro attivo
Alt+[1-9] Vai al tab
Ctrl+ W Chiudi tab

Linee

Ctrl+G Vai alla linea
Ctrl+L Seleziona linea
Ctrl+Shift+D Duplica linea
Ctrl+Shift+K Elimina linea
Ctrl+/ Sposta la linea su/giù
Ctrl+/ Attiva/Disattiva una linea di commento

Parole e caratteri

Alt+/ Vai alla parola precedente/successiva
Alt+Shift+B/F Seleziona fino all'inizio/fine della parola
Shift+/ Seleziona carattere per carattere

Trova e sostituisci

Ctrl+F Trova nel file corrente
Ctrl+Shift+F Trova nel progetto
F3 Trova successivo
Shift+F3 Trova precedente
Ctrl+Enter Sostituisci tutto

Vista

Ctrl++/- Aumenta/diminuisci la dimensione del testo
Ctrl+0 Resetta la dimensione del testo
F11 Attiva/Disattiva lo schermo intero

Vista ad albero

Ctrl+K Ctrl+B
Ctrl+\
Attiva/Disattiva il riquadro vista ad albero
A Aggiungi file
Shift + A Aggiungi cartella

Riquadri

Ctrl+K /// Dividi il riquadro sopra/sotto/sinistra/destra
Ctrl+K Ctrl+/// Vai con focus al riquadro sopra/sotto/sinistra/destra
Ctrl+K Ctrl+W Chiudi il riquadro

Atom e la gestione dei progetti

- Posted in tools by

Lo ammetto: (anche io) sono rimasto confuso dall'utilizzo del Tree View "Project". Ogni volta che finivo di inserire i progetti nel Tree View, me li ritrovavo poi spariti definitivamente una volta aperti con Atom file esterni ai progetti.

Il motivo di tale comportamento di Atom è spiegato in questo post "Why don’t my project folders stay open each time I start Atom?"

Much of the confusion has stemmed from the way the tree view appears to be a list of folders for projects. This is not its intended role; instead, it is a list of folders for the current project

ossia

Gran parte della confusione è derivata dal fatto che il Tree View sembra essere una lista di cartelle per progetti. Questo non è il suo ruolo inteso; invece, è un elenco di cartelle per il progetto corrente

Quindi non è una vista ad albero dei progetti, ma una vista ad albero delle directory del progetto corrente; eventualmente è possibile aprire uno dei progetti chiusi con File > Reopen Project".

Se si vuole invece avere a disposizione un gestore di progetti, come scritto nel post è possibile:

  • organizzare a livello di filesystem le cartelle dei progetti (per progetti semplici)
  • installare un community package per la gestione dei progetti

In questo ultimo caso i migliori pacchetti sono: