Πώς να αλλάξετε ανάλυση σε κονσόλα τύπου tty στα arch linux...

miccagiann | Τετ, 08/03/2011 - 20:33 | 6' | 1

Επείδη το συγκεκριμένο θέμα το έψαχνα πολύ καιρό είπα να το αναφέρω στο site για να μπορεί κάποιος αν θέλει να κάνει κάτι ανάλογο να ξέρει πώς να ξεκινήσει και με ποιές λέξεις κλειδιά να προβεί σε αναζήτηση. Στα arch linux (αλλά και στις υπόλοιπες διανομές) υπάρχουν δύο τρόποι επικοινωνίας με τον υπολογιστή μας: Ο πρώτος είναι η κονσόλα (μόνο κονσόλα και τπτ άλλο), η έξοδος της οποίας είναι γνωστή ως tty και η δεύτερος είναι το γραφικό μας περιβάλλον GUI, το οποίο φορτώνεται με το που κάνουμε boot τον υπολογιστή μας (αν τρέχουν οι δέμονες dbus kai kdm ή gdm κτλ).

Μετά την εγκατάσταση των arch linux και αφού έβαλα γραφικό περιβάλλον (GUI: https://wiki.archlinux.org/index.php/Desktop_Environment), ρύθμισα κανονικά το resolution μέσω του /etc/X11/xorg.conf αρχείου (https://wiki.archlinux.org/index.php/Xorg) και ενεργοποιήσα την έξοδο DVI της κάρτας γραφικών μου (και όχι την αναλογική vga). Παρατήρησα ότι ενώ στο gui μου η οθόνη είχε ανάλυση 1920x1080 (την επιθυμητή), η κονσόλα tty είχε ανάλυση 640x480.

Επιχείρησα να αυξήσω την ανάλυση της οθόνης στην κονσόλα προκειμένου να αξιοποιείται πιο αποδοτικά ο χώρος (να διαβαζώ περισσότερες γραμμές). Σε αυτό το σημείο να τονίσω ότι σε εμένα αυτή η λύση έπιασε αλλά δεν ξέρω αν είναι η ενδεδειγμένη (if it works, don't fix it :-P).

Το πρώτο πράγμα που έκανα ήταν να ανοίξω terminal (μέσα από το gui) και να πληκτρολογήσω την εντολή "sudo hwinfo --framebuffer". [Αυτή η εντολή στα arch μπορεί να μην πιάσει για 2 λόγους: είτε επειδή δεν έχει εγκατασταθεί το hwinfo ή επειδή δεν έχει ρυθμιστεί σωστά το sudoers αρχείο. Στην πρώτη περίπτωση εγκαθηστάμε το πρόγραμμα, ενώ στη δεύτερη είτε πειράζουμε το sudoers file με ΠΡΟΣΟΧΗ {https://wiki.archlinux.org/index.php/Sudo}, είτε κάνουμε login στον root, πληκτρολογώντας "su root" και μετά τρέχουμε την εντολή χωρίς το πρόθεμα "sudo")]
Αυτή η εντολή θα σας εμφανίσει τις αναλύσεις που υποστηρίζονται μέσω της αναλογικής εξόδου της κάρτας γραφικών που έχετε. Ενδεικτικά παρουσιάζω μια γραμμή της εξόδου της εντολής:
Mode 0x0315: 800x600 (+3200), 24 bits [το "0x0315" είναι ο δεκαεξαδικός αριθμός που αντιστοιχεί στην συγκεκριμένη ανάλυση "800x600" στα 2^24 χρώματα].

Έστω ότι αυτή είναι η επιθυμητή ανάλυση που θέλουμε να έχει η κονσόλα μας, το μόνο που έχουμε να κάνουμε είναι να ανοίξουμε το αρχείο /boot/grub/menu.lst και να προσθέσουμε στις επιλογές των kernels  που αφορούν τα linux την επιλογή "vga=0x0315". Ενδεικτικά παρακάτω παρουσιάζω το menu.lst αρχείο μου στις επιλογές για bootάρισμα:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/sda2 resume=/dev/sda3 ro vga=0x0315
initrd /kernel26.img                                                                                                                        

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,0)
kernel /vmlinuz26 root=/dev/sda2 ro vga=0x0315
initrd /kernel26-fallback.img

Με αυτόν τον τρόπο αν έχετε αναλογική έξοδο (VGA) τότε η κονσόλα θα σας εμφανίζεται στην επιθυμητή σας ανάλυση [στο παράδειγμά μας 800x600 (+3200), 24 bits]. Για όσους χρησιμοποιούν DVI (ψηφιακή) έξοδο, υπάρχει περίπτωση σε κάποιες από τις αναλύσεις που εμφανίζονται από την εντολή "hwinfo" να μην παρουσιάζονται καλά τα γράμματα στην κόνσολα μέσω αυτής της εξόδου [DVI]. Εσείς πρέπει να παίξετε με τις αναλύσεις μέχρι να βρείτε μία που να εμφανίζονται τα γράμματα σωστά μέσω DVI.

ΒΑΣΙΚΟ: Με Ctr+Alt+F1 ανοίγετε την κονσόλα tty1, ενώ αν θέλετε να επιστρέψετε στο gui αρκεί να πατήσετε τον συνδιασμό Ctr+Alt+F7. Με Ctr+Alt+F2 ανοίγετε την κονσόλα tty2 και πάει λέγοντας.
  

Δώσε αστέρια!
Σχόλια

Θα ήθελα να προσθέσω ότι υπάρχει και άλλος τρόπος να γίνει αυτό, για όσους χρησιμοποιούν τους open source drivers για NVIDIA/ATI/Intel: το KMS (https://wiki.archlinux.org/index.php/KMS).

Οδηγίες μπορείτε να βρείτε στις αντίστοιχες σελίδες του ArchWiki:

Ενδεικτικά το menu.lst αρχείο μου:
# (0) Arch Linux
title  Arch Linux
root   (hd0,1)
kernel /vmlinuz-linux root=/dev/sda3 quiet ro radeon.modeset=1
initrd /initramfs-linux.img

Προσοχή: Για όσους έκαναν update σε linux3 η εντολή "# mkinitcpio -p kernel26" αλλάζει σε 
"# mkinitcpio -p linux".