Friday, 5 October 2018



Ubuntu Mate 16.04 koristim već dvije i pol godine a nedavno sam instalirao server izdanje ove Ubuntu distribucije. Tako dok sam radio na svojim kućnim serverima (imam ih dva) na koje skladištim sve svoje podatke, primijetio sam problem sa rezolucijom. Detaljan uvid u problem mi je odgovorio moje pitanje oko mog grafičkog kontrolera koji ne prepoznaje VGA-1 izvor slike, nego slika ide na VGA-0 izvor. Ovaj kratak članak ima za cilj da pokaže ručno postavljanje rezolucije i konfiguraciju skripte za auto postavljanje unaprijed odabrane rezolucije.

Piše: Amar Tufo
Budući GNU/Linux system administrator

1. Zašto postavljati ručno rezoluciju kada imaš display manager?

Pitanje je jako dobro, zašto bi bilo ko trošio vrijeme na terminal i ručno postavljanje rezolucije vašeg monitora kada postoji mali programčić u Ubuntu Mate distribuciji po imenu 'Displays' koji omogučava korisniku tvekovanje rezolucije. Ovo pitanje je, međutim, namjenjeno onima koji koriste Ubuntu Mate a čiji video kontroler iz nekih razloga ne raspoznaje maksimalnu rezoluciju koju njihova grafička karta pruža. Prije svega, potrebno je utvrditi koji to grafički kontroler opslužuje naše računalo. To možemo izvesti jednostavno unosom ove komande.

sudo lshw -c video


Slika 1: Utvrđivanje video kontrolera - Ubuntu Mate 16.04
Izvor slike: /home/amar/Desktop/slika1.png

2. Xrandr je solucija za ovakav problem

Sada kada znamo koja grafička karta pogoni naš sistem, možemo da iskoristimo xrandr, maleni programčić koji omogučava tvekovanje video rezolucije preko terminala. Za više informacia o ovom programčiću vidi man xrandr. Prije nego postavimo željenu rezoluciju, moramo utvrditi maksimalnu dostupnu rezoluciju koju grafička karta pruža a to možemo izvesti unosom sljedeće komande.


xrandr -q

Ova komanda će dati minimalan i maksimalan raspon rezolucije vaše grafičke karte koju vaš monitor pruža (vidi sliku 2).


Slika 2: Maksimalan raspon rezolucije za AMD Radeon HD grafiku moje Ubuntu Mate distribucije
Izvor slike: /home/amar/Desktop/slika2.png

Obratite pažnju da je moj monitor spojen na izvor VGA-0 odakle se pruža slika. Također, možete vidjeti trenutnu rezolucije slike mog monitora u pikselima a ona iznosi 1280x1024 piksela. Sada slijedi najbolji dio a to je postavljanje rezolucije ručno preko terminala. Komanda bi glasila ovako.

xrandr --output VGA-0 --mode 1280x1024

Vjerovatno se pitate zašto sam odabrao istu rezoluciju kada je ona već ranije postavljena? Zato jer je kod mene bila prije rezolucija monitora 1024x768 px što nije bilo nimalo ugodno. Zato sam radio sample provjeru ili test rezoluciju sa 1280x1024 kako bi se uvjerio da ova rezolucija radi i da moja grafička može pružiti ovu rezoluciju slike. Kod vas će umjesto VGA-0 biti VGA-1 ili HDMI-1 u zavisnosti od toga da li je vaš monitor spojen na DVI, VGA ili HDMI izlaz. Ukoliko niste sigurni to možete utvrditi komandom xrandr -q koji će vam reči na koji izlaz je spojen vaš monitor.

3. Sve je bolje sa skriptom

Željenu rezoluciju imamo i znamo da grafička karta može pružiti rezoluciju slike 1280x1024 piksela. Problem nastaje onda kada restartujemo računalo, rezolucija se poništava i vraća na 1024x768 piksela što je moj slučaj. To nikako ne želim. Da bi premostio taj problem ja sam odlučio kreirati malu skriptu koja postavlja rezoluciju mog monitora na 1280x1024 piksela bez potrebe da otvaram podešavanja. Pogledajte izvorni kod ove skripte.


                                     #!/bin/bash
#This script will automatically set the display resolution
#to 1280x1024 px
#Created by Amar Tufo
#Future GNU/Linux system administrator
#Website http://www.amartufointeractive.org

xrandr --output VGA-0 --mode 1280x1024
notify-send -i /home/amar/ATI_logo.png "Screen resolution is set to 1280x1024 px, Amar"
#script ends here


Jedini funkcionalni dio ove skripte jeste komanda xrandr koja automatski postavlja rezoluciju mog monitora na 1280x1024 piskela. Da bismo to omogučili, potrebno je dodijeliti ovoj skripti exec mogučnost što možemo izvesti komandom chmod. To radimo ovom komandom.

sudo chmod +x myDisplay.sh 

Ova komanda omogučava izvršavanje skripte, to jeste, naša skripta se može izvršiti, drugim riječima, moguće je pokrenuti kako bismo vidjeli šta ona radi (vidi sliku 4).



Slika 3: Dodjeljivanje exec mogučnosti skripti myDisplay.sh
Izvor slike: /home/amar/Desktop/slika4.png


4. Pokretanje skripte sa interaktivnim notifikacijama

Jedan od osnovnih razloga zbog kojih sam odlučio da napišem ovu skriptu jeste taj što rezolucija mog monitora je uvijek 1024x768 px tijekom startanja računala dok bi ona trebala biti 1280x1024 px. Da ne bih svaki put išao System > Preferences > Hardware > Displays, ja sam napisao gornju skriptu koja koristi xrandr kako bi postavila i korigovala rezoluciju mog monitora na onu koja meni odgovara. Obzirom da je govora o skripti već bilo, evo šta ova skripta radi kada se jednom pokrene.


Slika 4: Izvršavanje skripte myDisplay.sh sa interaktivnom notifikacijom
Izvor slike: /home/amar/Desktop/slika4.png

Kada se malo vratite na gornji kod moje skripte, primijetit ćete liniju koda koja koristi funkciju notify-send.


notify-send -i /home/amar/ATI_logo.png "Screen resolution is set to 1280x1024 px, Amar"

Ovaj jako zanimljiv dodatak vam omogučava da u vaše skripte integrirate vaše notifikacije koje se prikazuju direktno na vašem Desktop-u dok skripta izvršava određene zadatke ili procese. U mom slučaju, skripta me obavještava kako je moja rezolucija postavljena na 1280x1024 px uz dodatak logotipa moje web stranice. Više o notify-send možete pogledati na man notify-send.

Zaključak:

Ukoliko ne želite trošiti vrijeme šetanjem kroz opcije za korigovanje rezolucije vašeg monitora, onda savjetujem da i vi napišete svoju skriptu koju možete pozvati iz terminala kako bi korigovali vašu rezoluciju. Treba imati na umu i to što se ova skripta može dodati na automatsko pokretanje koristeći crontab ili uređivanjem datoteke /etc/rc.local o ćemu će govora biti nešto kasnije. U svakom slučaju, drago mi je da sam sebi uspio pronači rješenje 'pomršene' rezolucije kreiranjem sopstvene skripte koja me obavještava da je rezolucija uspješno postavljena koristeći notify-send dodatak. Ukoliko smatrate da se ova skripta može proširiti ili imate neki interesantan dodatak za ovu moju skriptu, slobodno ju iskopirajte, proširite ju, modificirajte onako kako vama odgovara jer sloboda besplatnog softvera je u dijeljenju i međusobnoj saradnji. Toliko od mene za sada i do čitanja.

Reakcije:

0 komentari:

Post a Comment

Weather

My Twitter news

Follow me on Facebook:

Popular Posts