კლავიატურის განათების ჩართვა-გამორთვა Linux ოპერაციულ სისტემაში
დიდი ხანია ბლოგზე არაფერი დამიწერია ☺
ცოტა ხნის წინ გამიფუჭდა კლავიატურა დესკტოპზე - რამდენიმე ღილაკი არაადეკვატურად რეაგირებდა. შესაბამისად, გადაწყდა ახალი კლავიატურის შეძენა ☺
ძირითადი მოთხოვნები ახალი კლავიატურის მიმართ ასეთი იყო:
- კაბელიანი (USB)
- სრული სიმაღლის ღილაკები, ერთმანეთისგან საკმარისად დაშორებული, რომ შეხედვის გარეშე - შეხებით ვიგრძნო კლავიშები ☺
- მულტიმედია ღილაკებიდან უნდა ჰქონდეს მინიუმ Mute, VolUP და VolDOWN
-
განათება (ე.წ. backlight) - რატომაც არა, ნოუტბუქის კლავიატურას აქვს და
ამასაც თუ ექნება კაია ☺
- ბიუჯეტი - ~50-60 ლარის ფარგლებში
- დროის სიმცირის გამო არჩევანი შეიზღუდა ადგილობრივი ონლაინ მაღაზიებით - არც ადგილზე მისვლა-არჩევის დრო მაქვს და არც Ebay-დან რომ ველოდო :-D
საკითხის სწრაფი კვლევა აჩვენებს, რომ აქ რაღაცა სხვა ამბავია ☺
ვათვალიერებ რა გვაქვს /sys/class/leds -ში:
root@levglonti-workstation:~# ls /sys/class/leds/
enp6s0-0::lan
enp6s0-1::lan enp6s0-2::lan input3::capslock
input3::numlock input3::scrolllock
root@levglonti-workstation:~#
input3::capslock, input3::numlock და input3::scrolllock ამ კლავიატურის ნათურები უნდა იყოს. იმის გამო, რომ Scrolllock-ის ღილაკს ახატია რაღაცა კბილანა, რაღაცა მაგაში უნდა იყოს საქმე ☺ მოვიკვლიოთ რა ხდება:
root@levglonti-workstation:~# cd /sys/class/leds/input3\:\:scrolllock/
root@levglonti-workstation:/sys/class/leds/input3::scrolllock#
ls
brightness device max_brightness power
subsystem trigger uevent
root@levglonti-workstation:/sys/class/leds/input3::scrolllock#
cat ./max_brightness
1
root@levglonti-workstation:/sys/class/leds/input3::scrolllock#
cat ./brightness
0
root@levglonti-workstation:/sys/class/leds/input3::scrolllock#
brightness-ში წერია 0 - ე.ი. ჩამქრალია ☺ max_brightness-ში წერია 1, სავარაუდოდ არ აქვს განათების რეგულირების შესაძლებლობა. ვცადოთ ანთება:
echo 1 > brightness
ჰოპ - აინთო ☺
ვცადოთ ჩაქრობა:
echo 0 > brightness
ჩაქრა ☺
ნუ, ნათურები მუშაობს. საქმის 2/3 გაკეთებულია - კლავიატურა ნაყიდია, ნათურები მუშაობს :) ბოლო მესამედი გასაკეთებელია - ღილაკზე დაჭერით, ცივილიზებული მოქალაქის კომპიუტერის მსგავსად, ესეც უნდა აინთოს და ჩაქრეს. ვნახოთ რა გამოვა ☺
მონახაზი არის ასეთი - უნდა დაიწეროს bash სკრიპტი, რომელიც ამოიკითხავს /sys/class/leds/input3::scrolllock/brightness ფაილის მნიშვნელობას და 0-ის შემთხვევაში ჩაწერს 1-ს, 1-ის შემთხვევაში ჩაწერს 0-ს. ეს სკრიპტი გამოძახებული უნდა იქნას სამუშაო გარემოდან ე.წ. ცხელი ღილაკებით
ცდისა და დახვეწის შედეგად სკრიპტმა მიიღო ასეთი სახე:
current_state=$(cat /sys/class/leds/input3\:\:scrolllock/brightness)
if
[ "$current_state" -eq "0" ]; then
sudo sh -c 'echo 1 >
/sys/class/leds/input3\:\:scrolllock/brightness'
else
sudo sh -c
'echo 0 > /sys/class/leds/input3\:\:scrolllock/brightness'
fi
პირველ ხაზზე current_state ცვლადში იწერება ფაილის ახლანდელი მნიშვნელობა, მეორე
ხაზიდან უკვე სტანდარტული if-then-else კონსტრუქციაა. უფლებების მისაღებად
გამოიყენება პროგრამა sudo. როგორ უნდა დაკონფიგურდეს sudo, რომ პაროლის
მოთხოვნის გარეშე გაუშვას პროგრამები - ეს საკითხი სცდება ამ პოსტის თემას, თან
ძალიან ტრივიალურია ☺ ეს სკრიპტი შენახულია ~/bin/ledonoff.sh ფაილში:
levani@levglonti-workstation:~$ ls -l ~/bin/ledonoff.sh
-rwxr-xr-x 1
levani levani 255 აგვ 31 16:04 /home/levani/bin/ledonoff.sh
levani@levglonti-workstation:~$
შემდეგი ნაბიჯი არის მომხმარებლის სამუშაო გარემოდან ამ სკრიპტის გაშვების ორგანიზება. ჩემს კომპიუტერზე დაყენებულია Fedora 40, KDE Plasma Workspace, შესაბამისად, უნდა გაიმართოს KDE-ს კონფიგურაცია.
მიზნის მისაღწევად პირველი ნაბიჯი იქნება ~/.local/share/applications (მიმდინარე მომხმარებლისთვის) ან /usr/share/applications კატალოგში (ყველა მომხმარებლისთვის) სკრიპტის გასაშვებად შემდეგი შიგთავსის ledonoff.sh.desktop ფაილის შექმნა (რა თქმა უნდა სხვა სახელითაც შეიძლება)
[Desktop Entry]
Categories=System;
Comment[ka_GE]=
Comment=
Encoding=UTF-8
Exec=xterm
-e /bin/bash -c /home/levani/bin/ledonoff.sh
GenericName[ka_GE]=ჩართეთ
ან გამორთეთ კლავიატურის LED ნათება
GenericName=Turn on or Off Keyboard
LED Light
Icon=/home/levani/bin/ledonoff.png
Keywords=keyboard;led;
MimeType=
Name[ka_GE]=კლავიატურის
LED განათების ჩართვა-გამორთვა
Name=Turn ON or Off Keyboards LED
Light
Path=
StartupNotify=false
Terminal=false
Type=Application
ამის შემდეგ, KDE-ს უნდა დავავალოთ, რომ ეს სკრიპტი გაუშვას რომელიმე ღილაკზე ან ღილაკების კომბინაციაზე დაჭერის შემდეგ:
როგორც ხედავთ, გამოვიყენე scrolllock ღილაკი. ესაა სულ :-)




Comments
Post a Comment