Αν ψάχνεις εναλλακτικό τερματικό… ή το “καλύτερο” τερματικό τότε πρέπει να διαβάσεις το παρακάτω.

Το Hyper είναι ένα τερματικό βασισμένο σε JS/HTML/CSS. Είναι επίσης cross-platform που σημαίνει μπορείς να το βάλεις σε Windows, Linux ή Mac OS.

Σε αυτό το άρθρο θα δούμε την εγκατάσταση του Hyper σε Windows 10 μαζί με Ubuntu Subsystem και μέσα σε αυτό την εγκατάσταση του Zsh shell με το framework Oh My Zsh και το plugin zsh-syntax-highlighting


Video URL: https://cdn.zeit.co/hyper/hyperapp.mp4

 

Subsystem for Linux

Σε Windows 10 Version 1709 ενεργοποιώ το Developer Mode πηγαίνοντας  Settings -> Update and Security -> For developers και αλλάζω από Sideload apps σε Developer mode.

Αυτό θα μου επιτρέψει να εγκαταστήσω το  Subsystem for Linux. 


Αφού λοιπόν το έχω γυρίσει σε Developer mode εκτελώ την εντολή OptionalFeatures.exe από cmd ή από εκτέλεση πατώντας Win key + R.

Και εδώ στα Windows Features θα ενεργοποιήσω την επιλογή Windows Subsystem for Linux.


Αφού ολοκληρωθεί θα κάνω επανεκκίνηση τα Windows.

Τώρα μπορώ να κάνω εγκατάσταση Linux μέσα σε Windows από το Windows Store.

Υπάρχουν διαθέσιμες οι επιλογές για

Εγώ διαλέγω Ubuntu για εγκατάσταση από το Windows Store και όταν ολοκληρωθεί στο μενού έναρξη γράφω bash ή ubuntu για να εκτελεστεί πρώτη φορά και εδώ έχουμε έτοιμο το Ubuntu μας. Εσύ μπορείς ότι θες.

Packages for Linux

Εδώ στο τερματικό του Ubuntu θα δώσω το παρακάτω για να εγκαταστήσω όλα τα “απαραίτητα”

sudo apt install -y zsh wget curl git fonts-powerline

Για την αλλαγή από bash σε zsh δίνω
chsh -s /bin/zsh

oh-my-zsh

Για την εγκατάσταση του oh-my-zsh δίνω

curl -L https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh | bash

ή

μέσω curl:

sh -c “$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”

μέσω wget:

sh -c “$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)”

Μετά στο αρχείο .bashrc κάνω edit με nano

nano ~/.bashrc

και  θα προσθέσω τη παρακάτω γραμμή για να γυρνάει αυτόματα σε zsh από bash (προσθέτω τέρμα πάνω, πριν από άλλες εντολές)

bash -c zsh

zsh-syntax-highlighting plugin

Για την εγκατάσταση του highlighting δίνω

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

και κάνω edit

nano ~/.zshrc

βρίσκω την γραμμή

plugins=(git)

και την αλλάζω σε

plugins=(git zsh-syntax-highlighting)

Αποθηκεύω και κάνω reload

source ~/.zshrc

 

Hyper

To κατεβάζω το κάνω εγκατάσταση και το εκτελώ.

Με Ctrl + , ανοίγει το configuration το οποίο είναι το αρχείο .hyper.js και βρίσκεται στο home του χρήστη δηλαδή στο %USERPROFILE%\.hyper.js

Εδώ θα φορτώσω για γραμματοσειρά κάποια Powerline. Βρίσκω πολλές εδώ: https://github.com/powerline/fonts

Έτσι εγώ έβαλα μέσα στο  .hyper.js

// font family with optional fallbacks

// Default

//”Menlo, DejaVu Sans Mono, Lucida Console, monospace”

fontFamily: ‘Noto Mono for Powerline Regular, Roboto Mono for Powerline, Anonymous Pro for Powerline, Menlo, “DejaVu Sans Mono”, Consolas, “Lucida Console”, monospace’,

Αν βγάλει error 800A1391 τότε είναι γιατί δεν έχω προκαθορισμένη εφαρμογή για να ανοίγει τα αρχεία με κατάληξη .js

Το κάνω να τα ανοίγει όλα με το Notepad++

Αυτή τη στιγμή είναι τερματικό των Windows.

Αν θέλω να φορτώσω τα ubuntu απλά γράφω ubuntu ή bash και enter

Αν θέλω μόνιμα να φορτώνει τα ubuntu τότε κάνω edit πάλι το αρχείο %USERPROFILE%/.hyper.js και αντικαθιστώ

shell: ”,

με

shell: ‘C:\\Windows\\System32\\cmd.exe’,

και το

shellArgs: [‘–login’],

με

shellArgs: [‘–login’, ‘-i’, ‘/c wsl’],

Αν θέλω να είναι στο home του root βάζω

shell: ‘ubuntu.exe’,

shellArgs: [],

Θέματα και πρόσθετα για το  Hyper στο παρακάτω σύνδεσμο

https://github.com/bnb/awesome-hyper

https://github.com/equinusocio/hyper-material-theme

Awesome Hyper

Τα θέματα μου για το zsh

My user: https://github.com/bhilburn/powerlevel9k

For root: https://github.com/agnoster/agnoster-zsh-them

Reload bash

. ~/.bashrc

or

source ~/.bashrc

Reload zsh

. ~/.zshrc

or

source ~/.zshrc

 

To μοναδικό μειονέκτημα μέχρι τώρα είναι το performance και οι πόροι που καταναλώνουν κάποια plugins.

Αν θες κάτι πιο απλό δες και το wsl-terminal  (A terminal emulator for Windows Subsystem for Linux (WSL), based on mintty and wslbridge.) μαζί με https://github.com/seebi/dircolors-solarized μέσα στο .zshrc

Εγώ πάντως ακόμα χρησιμοποιώ το cmder.

 

Πηγές:

https://davidtranscend.com/blog/windows-terminal-workflow-guide

http://daverupert.com/2017/03/my-bash-on-windows-developer-environment

https://evdokimovm.github.io/windows/zsh/shell/syntax/highlighting/ohmyzsh/hyper/terminal/2017/02/24/how-to-install-zsh-and-oh-my-zsh-on-windows-10.html