Διόρθωση σπασίματα ήχου σε 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

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

Advertisements

Προσομοίωση παιχνιδιών 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 κείμενα μαζί με τους «Λινουξάδες» φίλους/φίλες/συνεργάτες/αγόρι(α).

Εγκατάσταση Wireshark σε Ubuntu GNU/Linux 16.04

Το wireshark είναι ένα δημοφιλές εργαλείο για σνιφάρισμά πακέτων δικτύου (εξίσου εθιστικά με κοκαϊνη, ειδικά για άτομα που θέλουν να αλώσουν την ασφάλεια του δικτύου σας ή να κλέψουν το password σας από το http://anime.gr ;p ). Αλλά ουκ ολίγες φορές ένα apt-get δεν αρκεί για να έχετε μια μη εκνευριστική εγκατάσταση ενός λογισμικού. Γι αυτό  πάρτε χαρτί και μολύβι ή αφήστε το καλύτερα έχουμε copy-paste :p .

Κατ’ αρχάς εγκαθιστούμε το wireshark με την εντολή apt-get , ξέρετε τα κλασικά:

sudo apt-get install wireshark

Η εντολή αυτή σε κάποια φάση θα σας βγάλει το εξής παράθυρο:Παράθυρο επιλογής κατά την εγκατάσταση του wireshark

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

sudo dpkg-reconfigure wireshark-common

Μετά πρέπει να προσθέσετε το όνομα χρήστη σας στο group (ομάδα) wireshark, αυτό είναι εφικτό με την εντολή:


sudo groupadd wireshark
sudo usermod -aG wireshark ^όνομα_χρήστη^

Όπου το ^όνομα_χρήστη^ είναι το όνομα χρήστη που αντιστοιχεί.

Πλέον μένει να δώσετε τις παρακάτω εντολές 1 προς 1:


sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Πλέον μένει να αποσυνδεθείτε και να συνδεθείτε ξανά προκειμένου οι αλλαγές να έχουν ισχύ.

layout of a network having ubuntu as gateway

Ρύθμιση Ubuntu 16.04 σαν πύλη (gateway) δίκτυου.

Ας υποθέσουμε ότι έχουμε το εξής σενάριο έχουμε ένα μηχάνημα που τρέχει ubuntu 16.04 LTS server edition και θέλουμε αυτό να αποτελεί πύλη δικτύου για ένα τοπικό δίκτυο. Ουσιαστικά θέλουμε να πετύχουμε το εξής:

layout of a network having ubuntu as gateway

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

    1. Θα πρέπει να ορίζουμε ip δικτύου για την κάρτα μας η οποία αντιστοιχεί στο τοπικό δίκτυο, για να γίνει αυτό θα πρέπει να δώσουμε την εντολή:
      sudo nano /etc/network/interfaces
      

      Και να ορίσουμε μια στατική διεύθυνση για την κάρτα μας προσθέτοντας γραμμές σαν:

      auto enp0s8
      iface enp0s8 inet static
      address 10.0.6.1
      netmask 255.255.255.0
      broadcast 10.0.6.255
      dns-nameservers 8.8.8.8
      

      Η παραπάνω ρύθμιση αποτελεί ενδεικτική και θυμηθείτε να ορίσετε το κατάλληλο εύρος ip. Στην δικιά μας περίπτωση θα στήσουμε ένα ΝΑΤ δίκτυο έτσι θα έχουμε 255 διευθύνσεις με χρήσιμο εύρος 10.0.6.1 – 10.0.6.254. Ορίστε τις κατάλληλες ρυθμίσεις ανάλογα με τις ανάγκες σας.
      Μπορείτε να δείτε τα διαθέσιμα interface δικτύου με την εντολή:

      ifconfig -a 
    2. Μετά θα πρέπει να ενεργοποιήσουμε την προώθηση ipv4 που θα γίνει με την εντολή:
      sudo nano /etc/sysctl.conf

      Και να κάνουμε uncomment την γραμμή (αφαιρώντας το #):

      net.ipv4.ip_forward=1

      Μετά πρέπει να δώσουμε την εντολές:

      sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    3. Μετά μένει να ενεργοποιήσουμε την κάρτα δικτύου δίνοντας τις εντολές (1 προς 1):
      sudo ifdown enp0s8
      sudo ifup enp0s8
      sudo service networking restart
    4. Μετά θα πρέπει να ορίσουμε στο firewall να ανακατευθύνει σωστά την κίνηση (δίνοντας μια προς μια τις εντολές):
      EXT=enp0s3
      INT=enp0s8
      sudo iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
      sudo iptables -A FORWARD -i $EXT -o $INT -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -i $INT -o $EXT -j ACCEPT
      

      Ουσιαστικά ορίσαμε 2 enviromental variables:

      • EXT που εμπεριέχει την διεπαφή που κοιτά το διαδίκτυο
      • INT που εμπεριέχει την διεπαφή του εσωτερικού μας δικτύου

      Και βάση με αυτών ορίσαμε την προώθηση των πακέτων στο ενσωματωμένο firewall του GNU/Linux iptables.

    5. Τώρα μένει να αποθηκεύσουμε τις ρυθμίσεις του firewall με τις εντολές:
      sudo apt-get install iptables-persistent
      /etc/init.d/iptables-persistent save
      

Ακόμη εφόσον ορίσαμε το gateway μας θέλουμε να μπορούμε να διευθυνσιοδοτούμε αυτόματα μέσω dhcp έτσι θα εγκαταστήσουμε και θα ρυθμίσουμε το πρόγραμμα dnsmasq ο οποίος θα αποτελεί ο dhcp server μας. Για την εφκατάστασή του δίνουμε:

sudo apt-get install dnsmasq

Μετά μένει να τον ρυθμίσουμε, για να το κάνουμε θα πρέπει να δώσουμε την εντολή:

sudo nano /etc/dnsmasq.conf

Και να ορίσουμε τις παρακάτω ρυθμίσεις (σημείωση ότι έχουν προσαρμοστεί στην περίπτωσή μου):

interface=enp0s8
dhcp-range=10.0.6.2,10.0.6.254,12h

Σε περίπτωση άλλων ip ορίστε διαφορετικά ranges εξαιρώντας την/τις ip του gateway και του μηχανήματος. Για επανεκκίνηση του δαίμονα δώστε:

sudo service dnsmasq restart

Σημείωση

Σε περίπτωση που παίζετε με εικονικές μηχανές Virtualbox παρακαλώ ΑΠΕΝΕΡΓΟΠΟΙΕΙΣΤΕ τον dchp server του VIRTUALBOX.