Twin: Ένα γραφικό περιβάλλον τερματικού

“Ένα γραφικό περιβάλλον τερματικού”; Τι είναι αυτός ο τίτλος δεν είναι κάπως οξύμωρο; Το twin όμως είναι ακριβώς αυτό ένα παραθυρικό περιβάλλον για το τερματικό. Όπως το XServer :xorg: τρέχει και μέσα από αυτό τρέχουμε άλλα προγράμματα που συνήθως έχουν γραφικό περιβάλλον (GUI), το twin κάνει κάτι αντίστοιχο με προγράμματα που έχουν περιβάλλον τερματικού (TUI). Μπορείς να το έχεις να τρέχει μόνο στην κονσόλα του Linux και να μην έχεις καθόλου Χ11 στον υπολογιστή. Επίσης μπορείς να το έχεις να τρέχει μέσα σε ένα δικό του παράθυρο θυμίζοντας προγράμματα όπως το tmux :tmux:.

Μια ματιά στο παρελθόν

Το DESQview ήταν ένα περιβάλλον τύπου DOS που είχε βγει το 1985 που ήταν πολύ μπροστά απο την εποχή του. Αν η ιστορία είχε εξελιχθεί αλλιώς θα είχε πάρει την θέση των Windows.

Με αυτό μπορούσες να τρέξεις πολλά προγράμματα DOS μαζί το καθένα στο δικό του παράθυρο. Μια μόνο φορά το είχα δει σε μηχάνημα και ήταν απλά μαγικό. Το twin είναι κάτι αντίστοιχο.

Εγκατάσταση

Ζόρικα τα πράγματα καθώς δεν υπάρχουν πουθενά έτοιμα πακέτα. Θα πρέπει να το εγκαταστήσεις με το χέρι. Ευτυχώς ήταν μια απλή διαδικασία.

apt install libgpm-dev libx11-dev libxpm-dev libncurses-dev zlib1g-dev
git clone https://github.com/cosmos72/twin
cd twin
./configure
make -j
sudo make install
sudo ldconfig

Πρώτη επαφή

Το τρέχουμε με την εντολή

twin --hw=X@:0

και έχουμε ένα περιβάλλον σαν το παρακάτω

η για ποιο όμορφο αποτέλεσμα με την εντολή

twin --hw=gfx

οπότε έχουμε ενα ποιο όμορφο περιβάλλον που μπορούμε να το τροποποιήσουμε λιγάκι

Στην εικόνα βλέπουμε και κάποιες από τις εφαρμογές που έρχονται μαζί.

Αντικατάσταση της κονσόλας

Εδώ τα πράγματα είναι ποιο ζόρικα, αλλά αυτά είναι για τους σκληροπυρηνικούς. Αν θέλεις να πετάξεις εντελώς το γραφικό περιβάλλον εδώ θα βρεις οδηγίες. Ειναι ενδιαφέρον να το κάνεις ίσως σε ένα raspberry :raspberry:.

Κάπως έτσι θα είναι η οθόνη σύνδεσης.

Για περισσότερα δες την σελίδα του έργου στο github

5 «Μου αρέσει»

Νομίζω είναι ένα καλό ballance σε περιβάλλοντα που δεν θες τρελό hardware acceleration αλλά χρειάζετε ένα βασικό GUI πχ. embeded και servers.

Πχ ένα use case είναι να έχεις ένα καλό μηχανηματάκι να τρέχει βαριά jobs και θες κάποιο qui να σου λέει το progress του εκάστοτε job κάτι σαν γενικό information panel. Αλλά να μην θες να έχεις VNC server για να το δεις με ένα απλό SSH και να είσαι κομπλέ.

(Βέβαια πάντα μπορείς να κάνεις X11 forward μέσω SSH αλλά γιατι να σπαταλάς πόρους στον X11;)

Ένα άλλο project με ένα όνομα που προκαλεί μια σύγχυση

https://xtermwm.sourceforge.io/