Οι ηχητικές δυνατότητες του πρώτου IBM PC, πριν βγουν οι κάρτες ήχου δεν ήταν κάτι το συναρπαστικό. Ήταν ένα απλό ηχείο, όχι δε θα το πω μεγαφωνάκι – σικ. Σήμερα δε θα βρεις στην αγορά κουτί που να περιέχει ένα, αλλά κάθε μητρική έχει ακόμα υποστήριξη. Παρόλα αυτά είναι χρήσιμο και μπορείς να προσθέσεις ένα από κάποιο παλιό κουτί ή ραδιόφωνο. Αν δεν έχεις μπορείς να πάρεις 5 κομμάτια στην εκπληκτική τιμή των 0.75€
από εδώ. (Αν κάποιος μένει Ηράκλειο Κρήτης και θέλει ένα, ας μου στείλει ένα PM).
Ο ήχος μέσα από το κουτί είναι πολύ αδύναμος, αλλά αυτό το θεωρώ πλεονέκτημα.
Στο άρθρο αυτό θα δούμε πως μπορούμε να το χρησιμοποιήσουμε στο Linux.
Φόρτωση του module κατά την εκκίνηση
Θα πρέπει να δώσουμε δικαιώματα για τη χρήση του ηχείου για τον χρήστη. Θα φτιάξουμε ένα κανόνα udev
που θα δίνει δικαιώματα στη συσκευή στους χρήστες τις ομάδας beep
που θα φτιάξουμε.
Δημιουργούμε ένα αρχείο /etc/udev/rules.d/10-beep.rules
sudo nano /etc/udev/rules.d/10-beep.rules
που θα περιέχει τα παρακάτω:
# Add write access to the PC speaker for the "beep" group # https://github.com/spkr-beep/beep/blob/master/PERMISSIONS.md ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", GROUP="beep", MODE="0620"
Στην συνέχεια θα φτιάξουμε την ομάδα και θα προσθέσουμε τον εαυτό μας
sudo addgroup beep
sudo usermod -aG beep $(whoami)
κάνουμε επανεκκίνηση και τρέχουμε την εντολή beep
. Αν δεν ακούσουμε κάτι κάνουμε ένα
ls -lH /dev/input/by-path/platform-pcspkr-event-spkr
και ελέγχουμε τα δικαιώματα του αρχείου.
Καταραμένο Ubuntu
Και στον υπολογιστή μου δεν δούλεψε γιατί το module δεν φόρτωνε κατά την εκκίνηση. Ενώ με το χέρι
δούλευε κανονικά. Δεν υπήρχε κανένα πρόβλημα στα αρχεία καταγραφής. Μετά απο εκτεταμένο ξύσιμο του τριχωτού της κεφαλής …
Στο Ubuntu το σχετικό module του πυρήνα είναι απενεργοποιημένο. Θα πρέπει να βρούμε την σχετική γραμμή στο παρακάτω αρχείο και να βάλουμε μπροστά ένα #
.
sudo nano /etc/modprobe.d/blacklist.conf
Στην συνέχεια θα πρέπει να βάλουμε το module να φορτώνει κατά την εκκίνηση. Φτιάχουμε ένα αρχείο στην θέση /etc/modules-load.d/
που θα περιέχει μια γραμμή που θα γράφει pcspkr
sudo nano /etc/modules-load.d/asfodelus.conf
Τέλος για παν ενδεχώμενο ξαναφτιάχνουμε το initrd
με τον τρόπο της διανομής μας.
sudo update-initramfs -k all -u
Πιθανά να θέλει μόνο να αφαιρέσουμε το blacklist.
Ας παίξουμε μουσική
Θα πρέπει να εγκαταστήσουμε την εντολή beep
αν δεν υπάρχει.
sudo apt install beep
Στα παρακάτω αποθετήρια θα βρούμε μερικές κλασσικές μελωδίες
Αξίζει τον κόπο;
Σίγουρα η ποιότητα και η ένταση του ήχου δεν κερδίζουν τον χαρακτηρισμό HiFi , αλλά μερικές φορές είναι αυτό που θέλεις. Αν θέλεις σε κάποιο script ένα ηχητικό σήμα είναι γρηγορότερο από το να παίξεις κάποια μουσική από τα ηχεία. Προσθέστε το Vintage του πράγματος για μια εμπειρία από το 1980
Επιπρόσθετα η μητρική μου μπορεί να ρυθμιστεί να παράγει ένα ήχο κατά την εκκίνηση, σηματοδοτώντας τη σωστή στιγμή για μπεις στο BIOS ή στον boot loader
.
Bonus
Μια συνηθισμένη λειτουργία παλαιότερα ήταν να παίζει ήχους το τερματικό. Και είναι ένα χρήσιμο feedback για αυτόματη συμπλήρωση εντολών με το πλήκτρο TAB για παράδειγμα. Μπορείς να το ενεργοποιήσεις πειράζοντας 2 ρυθμίσεις:
Αλλά δε θα χρησιμοποιήσει (ούτε κατάφερα να βρω αν γίνετε) το ηχειάκι, αλλά θα παίξει ένα αρχείο στην κάρτα ήχου, κρίμα. Σε ένα αρχείο εντολών μπορείς να κάνεις μπίπ με την εντολή: printf '\a'
.