Author Archives: pc_magas

About pc_magas

A passioned persion with linux. I will give you knoledge that no one ever gives.

Το Σκονάκι του Developer: Βασικό περιβάλλον ανάπτυξης Python 2.7 σε Ubuntu GNU/Linux

Γενικά μας βολεύει, εμάς τους προγραμματιστές να έχουμε ένα εικονικό, απομονωμένο, όσο είναι δυνατόν, περιβάλλον ανάπτυξης ανεξαρτήτως γλωσσάς, συστήματος κλπ κλπ προκειμένου να είμαστε όσο το δυνατόν ποιο παραγωγικοί. Η python είναι μια γλώσσα η οποία στο οικοσύστημά της φέρει εργαλεία τα οποία μας βολεύουν στην ανάπτυξη. Αυτά είναι το pip (για εγκατάσταση εξωτερικών βιβλιοθηκών) και το virtualenv (για εικονικά, απομονωμένα περιβάλλοντα ανάπτυξης)

Κατ’ αρχάς πρέπει να εγκαταστήσουμε την python και τα βασικά πακέτα-εργαλεία:

sudo apt install python python-pip git
sudo -Η pip install --upgrade pip //Ενημέρωση εντολής pip λόγο ότι αυτή που διέρχεται από τα πακέτα μπορεί να είναι παπαλειωμένη
sudo -Η pip install virtualenv

Πλέον εάν δεν διαθέτετε ένα project python δημιουργούμε ένα μέσω των εντολών:

mkdir myProject
cd myProject
git init
Σημείωση 01: Τα καλά παιδάκια, όταν αναπτύσσουν κώδικα, χρησιμοποιούν ΠΑΝΤΑ version controll, ειδάλλως θα φάνε φάπα. :Q
Σημείωση 10: Το git είναι το ποιο δημοφιλές και θα το συναντήσεις συχνά στην επαγγελματική σου ζωή, εκτός εάν είσαι κωλόφαρδος και χρησιμοποιούν κάποιο άλλο. Γι αυτό μάθε το

Εάν έχετε ήδη ένα project δίνετε την εντολή (όπου ^φάκελος_του_project^ είναι ο φάκελος ο οποίος εμπεριέχει όλα τα αρχεία του κώδικα):

cd ^φάκελος_του_project^

Πλέον δημιουργούμε ένα εικονικό περιβάλλον με την εντολή:

virtualenv ^ονομα_virtualenv^

Συνήθως χρησιμοποιείτε έτσι:

virtualenv env

Όπου ^ονομα_virtualenv^=env. Γενικά το όνομα του virtual περιβάλλοντος ορίζετε στην παράμετρο ^ονομα_virtualenv^.

Πλέον μπορείτε ενεργοποιήσετε το εικονικό περιβάλλον με την εντολή:

source ^φάκελος_του_project^/^ονομα_virtualenv^/bin/activate

Και να το απενεργοποιήσετε μέσω της εντολής:

deactivate

Πλέον μπορείτε να εγκαταστήσετε τα πακέτα μέσω της εντολής:

pip install ^όνομα_πακέτου^ && pip freeze >> dependencies.txt

Και έαν έχετε ένα project με τις εξαρτήσεις σε ένα αρχείο .txt που δημιουργήθηκε με την παραπάνω εντολή η εγκατάσταση γίνετε μέσω:

pip install -r dependencies.txt

Εφόσον έχει δημιουργηθεί το εικονικό περιβάλλον πρώτα.

Advertisements

Μινιμαλιστικό Περιβάλλον Desktop για χρήση desktop με Openbox σε ubuntu 18.04 server/mini iso

Προσωπικά θα επιθυμούσα με μερικές περιπτώσεις να είχα ένα περιβάλλον desktop που να καταναλώνει τους ελάχιστους δυνατούς πόρους από άποψη μνήμης, αλλά να προσφέρει 2-3 βασικά features. Προϋποθέτουμε ότι έχουμε εγκαταστήσει το ubuntu server iso ή το mini iso και σε αυτό θα κάνουμε μικρές αλλαγές προκειμένου να μπορεί ο χρήστης να τρέξει ένα βασικό desktop με fluxbox. Εφόσον το εγκαταστήσουμε στον δίσκο (τα βήματα δεν καλύπτονται από τον παρόν οδηγό) και μετά επιτυχή εγκατάσταση εφόσον πάρουμε περιβάλλον κονσόλα δίνουμε (σε περιβάλλον server ίσως να χρειαστεί και το multiverse πακέτο):

gnome-settings-daemongnome-settings-daemonsudo apt-get install xinit openbox network-manager ubuntu-restricted-extras terminator ifupdown net-tools apt-dbus gnome-settings-daemon

Ακόμη, εάν τρέχετε σε virtualbox, για καλύτερη ανάλυση πατήστε την επιλογή στο menu Συκευές -> Εισαγωγή δίσκου με τις προσθήκες επισκέπτη και μετά δώστε τις παρακάτω εντολές.

sudo mount /dev/cdrom /mnt
cd /mnt
sudo ./VBoxLinuxAddictions.run
cd
sudo umount /mnt

Μετά προκειμένου με το login ο χρήστης να τρέχει το fluxbox δίνετε την εντολή:

nano ~/.xsession

Και μετά τοποθετούμε το παρακάτω script:

#!/bin/bash
exec openbox-session

Με το συνδιασμό των πλήκτρων CTRL+O για να αποθηκεύσουμε τις αλλαγές και μετά με τον συνδυασμό των πλήκτρων CTRL+X για έξοδο.
Μπορούμε να δούμε το εάν παίζει σωστά με την εντολή:

startx

Όπως θα δείτε θα έχει μια απλή οθόνη με ένα δεξί-κλικ μενού με όλο το λογισμικό και τίποτε άλλο. Αυτό όμως δεν είναι βολικό για καμία χρήση έτσι για να έχουμε ένα βασικό μενού μπορούμε να έχουμε τις εξής προσεγγίσεις:

  1. Εγκατάσταση βασικού panel (lxpanel)
  2. Χρήση Cairo dock

Λύση 1: Εγκατάσταση βασικού panel (lxpanel)
Εγκαθιστούμε τα κάτωθι πακέτα:

 apt-get install xbacklight lxappearance lxpanel lubuntu-default-settings

Και μετά προκειμένου να είναι εφικτός ο τερματισμός από gui κάνουμε edit το αρχείο ~/.config/lxpanel/default/config και βάζουμε στο τέλος την κάτωθι εγγραφή:

Logout=lxsession-logout

Εάν ΔΕΝ εγκαταστήσετε το cairo dock εγκαταστήστε τον διαχειριστή αρχείου pcmanfm.

 apt-get install pcmanfm 

Μετά δίνουμε την εντολή:

nano ~/.config/openbox/autostart

Και τοποθετούμε στο τέλος:

lxpanel &

Λύση 2: Εγκατάσταση cairo dock

sudo apt-get install cairo-dock

Μετά δίνουμε την εντολή:

nano ~/.config/openbox/autostart

Και τοποθετούμε στο τέλος:

cairo-dock -c &

Εάν επιθυμείτε να το προσαρμόσετε τότε κάντε δεξί κλικ σε αυτό και ρυθμίστε το όπως επιθυμείτε. Μια καλή προσαρμογή θα ήταν να ενεργοποιούσατε την επιλογή «Περιοχή Ειδοποιήσεων Παλιά» προκειμένου να έχετε εμφανήσημο το μενού του network manager.

Η επόμενη βασική ρύθμιση είναι η δυνατότητα ρύθμισης δικτύου. Για να γίνει αυτό, θα πρέπει να μπορούμε να ρυθμίζουμε μέσω ui τις συνδέσεις δικτύου για να γίνει πρέπει πρώτα να αφαιρέσουμε το nplan (εάν είναι εγκατεστημένο):

sudo systemctl stop networkd-dispatcher
sudo systemctl disable networkd-dispatcher
sudo systemctl mask networkd-dispatcher
sudo apt-get purge nplan netplan.io

Και να εγκαταστήσουμε το ifupdown:

sudo apt-get install ifupdown

Μετά δίνουμε την εντολή:

sudo cp /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf_bak

Και στο αρχείο /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf βάζουμε το περιεχόμενο:

[keyfile]
unmanaged-devices=none

Μετά στο αρχείο /etc/NetworkManager/NetworkManager.conf αλλάζουμε την ρύθμιση από (μεσω nano text editor):

managed=false

Σε

managed=true

Μαι μετά εγκαθιστούμε τον network manager με την εντολή:

sudo apt-get install gnome-network-manager

Και στο τέλος του αρχείου ~/.config/openbox/autostart τοποθετούμε:

nm-applet&
sudo apt-get install wincd

Και στο τέλος του αρχείου ~/.config/openbox/autostart τοποθετούμε:

wincd&

Ακόμη δε λοιπές ρυθμίσεις όπως εναlλακτής γλώσσας, ρύθμιση έντασης κλπ κλπ ρυθμίζονται ΠΛΗΝ αυτή του δικτύου είτε μέσω lxpanel είτε μέσω cairo-dock

Τέλος μένει να ρυθμίσουμε την έναρξη του xorg κατά την σύνδεση, για να γίνει αυτό τέλος του αρχείου ~/.bashrc την εντολή:

startx

που μπορεί να γίνει δια του text editor nano, παρόλα αυτά λόγω κάποιον επιπλοκών που μπορεί να έχει βάζοντας κατ ευθείας την εντολή

startx

πρέπει αν ελέγξουμε ότι δεν τρέχει ήδη ένα xsession και ότι δεν ήμαστε σε περιβάλλον ασφαλούς κελύφους ssh. Αυτό γίνετε βάζοντας στο τέλος το

/bashrc

τον ακόλουθο κώδικα:

if [ -z $(ps -o sid,comm -A | grep X | awk '{print $1}') ] && [ ! -n "$SSH_CLIENT" ] && [ ! -n "$SSH_TTY" ]; then
  exec startx
fi

Πλέον το βασικό σας μινιμαλίστικο desktop είναι έτοιμο.

Διόρθωση σπασίματα ήχου σε Lubuntu 14.04.5.

Στο netbook Dell inspiron mini 1010 έχω παρατηρήσει ότι η ήχος μου έκανε σπασίματα (με απλά λόγια έπαιζε αλλά έκανε διακοπές και γενικά ο ήχος ήταν για τα πανηγύρια) εκτός αν έπαιζα ήχο (είτε μουσική είτε οτιδήποτε) απ’ ευθείας από Alsa.

Έτσι άνοιγα τον gnome Mplayer (με την κατάλληλη ρύθμιση να χρησιμοποιεί απ’ ευθείας ALSA) και έπαιζα πρώτα λιγα sec από ένα κομμάτι και μετά άνοιγα τον Clementine (που χρησιμοποιεί τον Pulseaudio) για να παίζω την αγαπημένη μου μουσική. Ακόμη στο skype έκανε ουκ ολίγες φορές σπασίματα με αποτέλεσμα να ακούγετε ρομποτικά ο ήχος.

Ανοίγουμε με τον Text editor της αρεσκείας μας ως root (εγώ χρησιμοποιώ τον gedit)

gksu gedit /etc/pulse/default.pa

Βρίσκουμε την γραμμή που λέει

load-module module-udev-detect

 

Και την αλλάζουμε σε:

load-module module-udev-detect tsched=0

Μετά επανεκκινούμε τον υπολογιστή.

Προσομοίωση παιχνιδιών Sega Genesis σε Ubuntu GNU/Linux

Το καλοκαίρι λόγο ότι είχα κάποια ξέμπαρκα ROMS για Sega Genesis έτσι για να σκοτόσω χρόνο είπα να τα παίξω. Προκειμένου να γίνει αυτό χρειαζόμουν έναν emulator, έτσι αξιοποίησα το DOSBox και τον emulator KGEN98 ο οποίος βρίσκετε διαθέσιμος στο https://segaretro.org/KGen98 , το DOSBox είναι διαθέσιμο μέσω αποθετηρίων:

sudo apt-get install dosbox

To KGEN98 είναι καλό να να βρίσκετε στον ίδιο φάκελο όπου είναι τα παιχνίδια. Κατ εμέ η καλύτερη δομή είναι (προϋποθέτω ότι οι παρακάτω φάκελοι είναι στο home folder και θα τους χρησιμοποιώ στα παρακάτω παραδείγματα):

--Genesis
 |- KGEN98
 |- ROMS << εδώ βάζουμε όλα τα παιχνίδια μας

Μετά εκτέλεσα το DOSBox και έτρεξα τις παρακάτω εντολές σε αυτό:

MOUNT C ~/Genesis
C:
KGEN98

Ουσιαστικά προσάρτησα τον φάκελο ~/Genesis (στην δικιά σας περίπτωση εκεί που είναι αποθηκευμένο το KGEN98 και τα παιχνίδια σας) σε έναν εικονικό δίσκο C μετά πήγα σε αυτόν και έτρεξα τον emulator.

Πλέον μπορείτε να παίξετε καλό είναι να θυμάστε ότι πλέον δεν είστε σε κονσόλα αλλά σε υπολογιστή, ως εκ τούτου τα πλήκτρα είναι χαρτογραφημένα ως εξής:

Παρόλα αυτά ο KGEN98 είναι παλιός emulator ιδιοταγούς λογισμικού ως εκ τούτου προωθόντας το ελέυθερο λογισμικό προτείνω και τον Gens ο οποίος είναι ο ποιο αποδοτικός και τρέχει σε σχετικά mid-spec CPU, είναι διαθέσιμος σε .deb μέσω του sourceforge https://sourceforge.net/projects/gens/ και πρέπει να κατεβάσετε και να εγκαταστήσετε χειροκίνητα από το https://sourceforge.net/projects/gens/ . Εφόσον το κατεβάσετε το .deb κάντε διπλό κλικ και εγκαταστήστε το, εναλλακτικά εάν μέσω gui είναι δύσκολο τρέξτε στο τερματικό:

cd ~/path_where_deb_has_been_downloaded
sudo dpkg -i gens_2.15.5_i386.deb 

‘Υστερα από δοκιμές αυτός ήταν ο ποιο λειτουργικός.

Εγκατάσταση και Ρύθμιση Node.js σε Windows10

Για τις ανάγκες ενός άλλου άρθρου που σκέφτομαι να ετοιμάσω χρειάζεται να εκτελέσω node.js αλλά όμως πέρα από το τυπικό installation χρειάζεται να εκτελέσω και κάποια έξτρα πραγματάκια προκειμένου να γίνει σωστή ρύθμιση για εγκατάσταση των εξαρτήσεων. Προτού όμως πάμε σε λεπτομέρειες θα πρέπει να εγκαταστήσετε την node.js από την κεντρική ιστοσελίδα. H διαδικασία είναι απλή και ουσιαστικά είναι next-next-next έτσι δεν νομίζω να αξίζει περαιτέρω ενέργειες.

Εφόσον το κάναμε εκτελούμε το cmd και δίνουμε την παρακάτω εντολή:

powershell -Command "Start-Process cmd -Verb RunAs"

Μετά στο NEO παράθυρο του command line δίνουμε την εντολή:

npm install -g windows-build-tools

Πλέον μπορείτε να αναπτύξετε οποιοδήποτε πρόγραμμα σε node.js ή να δοκιμάσετε έτοιμα προγράμματα από άλλα αποθετήρια κώδικα πχ.github.

Περιβάλλον Unix σε Microsoft Windows 10 μέσω MingW και Git-bash

Ουκ ολίγες φορές θέλουμε ένα περιβάλλον gnu/linux το MingW αποτελεί μια λύση που προσφέρει βασικούς compilers για χτίσιμο εφαρμογών μέσω περιβάλλοντος GNU/Linux. Για αρχή θα χρειαστείτε να εγκαταστήσετε τα λογισμικάό git, αργότερα μπορείτε να το κατεβάσετε μέσω sourceforge από αυτό το link το mingw. Η διαδικασία είναι Next-Next-next, έτσι δεν χρειάζεται επιπλέων εξήγηση. (Σημείωση επιλέγουμε το nano σαν default editor κατά την εγκατάσταση του git.)

Εφόσον τα εγκαταστήσαμε πρέπει να ορίσουμε τρόπο αναζήτησης των πακέτων που προέρχονται από το mingw, προτού γίνει όμως αυτό θα πρέπει να ορίσουμε το πρόγραμμα mingw-get στην μεταβλητή συστήματος PATH προκειμένου να γίνει αυτό θα πρέπει να ακολουθήσουμε τα παρακάτω βήματα:

  1. Είτε πατώντας τον συνδυασμό των πλήκτρων Windows+ Pause break είτε κάνοντας κλικ στο κουμπί αναζήτησης και αναζητούμε «System Settings» το αποτέλεσμα είναι η παρακάτω εικόνα
  2. Στην παραπάνω εικόνα κάνουμε κλικ στο «Αλλαγή Ρυθμίσεων» και μετά στο «Μεταβλητές Περιβάλλοντος» όπως δείχνει η παρακάτω εικόνα με τις κατάλληλες επισημάνσεις:
  3. Στο παράθυρο που μα ανοίγει επιλέγουμε την μεταβλητή «Path» και κάνουμε κλίκ στο κουμπί «Επεξεργασία»
  4. Μετά στο παράθυρο που μας ανοίγει προσθέτουμε από κάτω τις υπάρχουσες τιμές την τιμή C:\\MinGW\bin
  5. Ανοίγουμε το λογισμικό Git-Bash και δίνουμε την εντολή:
    mingw-install --help
  6. Εαν εμφανίζει οποιαδήποτε έξοδο τότε η εγκατάσταση έχει επιτευχθεί.

Πλέον μπορούμε να αναζητήσουμε με την εντολή:

mingw-get list ^όνομα πακέτου^

 

Ακόμη σε περίπτωση που αναπτύσσετε η κάνετε build λογισμικό τρίτων γραμμένο σε c ή c++ πρέπει να εγκαταστήσετε τα παρακάτω:

mingw-get install mingw32-make g++ gcc autoconf

μετά τρέχετε την εντολή:

nano ~/.bashrc

Και προσθέτετε το εξής:

alias make="mingw32-make"

Και με Ctrl+O, Enter και Ctrl+X βγαίνετε και το αποθηκεύετε. Μετά κλείνετε και ανοίγετε το git-bash και δίνοντας την εντολή:

make --help

Επιβεβαιώνετε ότι παίζει το make.

Πλέον έχετε ένα περιβάλλον GNU/Linux-Unix σε Microsoft Windows!!!!

XeLaTeΧ σε windows 10.

Καθώς έγγραφα την εργασία μου σε XeLaTeΧ όσοι συμμετείχαν στην συγγραφή αυτής χρησιμοποιούσαν Windows 10, έτσι για να υπάρξει διαλειτουργικότητα πρέπει να εγκατασταθούν τα κατάλληλα λογισμικά για την δημιουργία εγγράφων pdf από «κώδικα» XeLaTeX.

Όσο αφορά το λογισμικό το πακέτο MiKTeX από δοκιμές είχε τα καλύτερα αποτελέσματα και ήταν το ταχύτερο στην εγκατάσταση. Ακόμη ενδείκνυται να εγκαταστήσετε λογισμικό version control που να υποστηρίζει και δυαδικά αρχεία όπως το git και το git lfs. Η ουσία είναι οι εικόνες ανεβάζονται σε git lfs και με git κρατάς version του κειμένου.

Όμως σε ποιο τεχνικά κείμενα τα οποία εμπεριέχουν κώδικα και χρησιμοποιείτε η βιβλιοθήκη minted, απαιτείτε η εγκατάσταση κάποιον εξαρτήσεων σε python. Προκειμένου να γίνει αυτό πρώτα θα πρέπει να εγκαταστήσετε την python. Η εγκατάσταση είναι απλή και είναι υπόθεση next-next-next, παρόλα αυτά χρειάζεται μια έξτρα διαδικασία προκειμένου να αναγνωρίζετε από το σύστημα. Το πρώτο βήμα για να γίνει αυτό είναι να εκτελέσετε την python όπως δείχνει η παρακάτω εικόνα:
Select how to install python

Στο παράθυρο που σας ανοίγει δώστε την παρακάτω εντολή:

import.os; import sys; os.path.dirname(sys.executable)

Το αποτέλεσμα αυτής θα το τοποθετήσουμε στην μεταβλητή PATH. Προκειμένου να γίνει αυτό θα πρέπει να ακολουθήσουμε τα εξής βήματα:

  1. Είτε πάτώντας τον συνδυασμό των πλήκτρων Windows+ Pause break είτε κάνοντας κλικ στο κουμπί αναζήτησης (το ίδιο που αναζητήσαμε την python) και αναζητούμε «System Settings» το αποτέλεσμα είναι η παρακάτω εικόνα
  2. Στην παραπάνω εικόνα κάνουμε κλικ στο «Αλλαγή Ρυθμίσεων» και μετά στο «Μεταβλητές Περιβάλλοντος» όπως δείχνει η παρακάτω εικόνα με τις κατάλληλες επισημάνσεις:
  3. Στο παράθυρο που μα ανοίγει επιλέγουμε την μεταβλητή «Path» και κάνουμε κλίκ στο κουμπί «Επεξεργασία»
  4. Τέλος επεκτείνουμε την λίστα με το αποτέλεσμα που δώσαμε όταν εκτελέσαμε «εντολές» στην python.

Μετά ανοίγουμε το CMD και δίνουμε την εντολή:

pyhton -m pip install pygments

Με το πέρας της εντολής θα βγεί ένα μήνυμα σε χρώμα κίτρινο/μουσταρδί το οποίο αναφέρει μια διαδρομή την οποία θα πρέπει να προσθέσετε στην Μεταβλητή περιβάλλοντος Path τα βήματα είναι τα ίδια με αυτά που αναφέρθηκαν ποιο πάνω με την διαφορά στο τελευταίο βήμα προσθέτουμε την διαδρομή που αναγράφει η εκτέλεση της εντολής ΑΠΟ ΚΑΤΩ από την τιμή που προσθέσαμε στα βήματα αυτά όπως δείχνει η εικόνα:

Μετά ανοίγουμε το εργαλείο Tex και επιλέγουμε Edit -> Preferences η επιλογή αυτή θα εμφανίσει το παρακάτω παράθυρο, όταν εμφανιστεί κάνουμε κλίκ όπως υποδεικνύει η εικόνα:

Με τις επιλογές αυτές ορίσαμε την XeLatex σαν προεπιλεγμένο «compiler»/»μετατροπέα» και ανοίξαμε το παράθυρο επιλογής για το χτίσιμο του tex. Σε αυτό ορίζουμε την παράμετρο --tex-option=--shell-escape όπως δείχνει η εικόνα:

Πλέον μπορείτε να μεταγλωττίσετε XeLaTeX κείμενα μαζί με τους «Λινουξάδες» φίλους/φίλες/συνεργάτες/αγόρι(α).