Blog jak widać już nie jest aktualizowany. I raczej nie będzie. Wisi sobie ot tak, ze względów historycznych :)

KDE4 i usypianie laptopa z klawiatury

Krzysztof Rygielski | 2010-05-06 00:04 | Kategorie: Linux, KDE4

Opcja usypiania laptopa to calkiem użyteczna funkcja. Nie trzeba czekać aż caÅ‚y system wstanie, logować siÄ™, czekać aż zaÅ‚aduje siÄ™ Å›rodowisko. W moim przypadku jeszcze muszÄ™ ustawiać dziaÅ‚anie 2 monitorów. WybudzajÄ…c komputer z uÅ›pienia mam od razu dziaÅ‚ajÄ…ce Å›rodowisko w takiej postaci, w jakiej ostatnio zakoÅ„czyÅ‚em pracÄ™ i to w trybie natychmiastowym.

W kde4 applet zarzÄ…dzania energiÄ… w Å‚atwy sposób pozwala usypiać maszynÄ™. ChciaÅ‚em jednak robić to przy pomocy klawiatury mojego laptopa. DomyÅ›lnie (przynajmniej w moim przypadku, w PLD linux) przycisk uÅ›pienia zupeÅ‚nie nic nie robi. PostanowiÅ‚em to zmienić.

Na poczÄ…tek musiaÅ‚em dowiedzieć siÄ™ w jaki sposób mogÄ™ wywoÅ‚ać polecenie uÅ›pienia z linii komend. DrogÄ… prób i bÅ‚Ä™dów doszedÅ‚em do nastÄ™pujÄ…cej komendy:

$ qdbus org.freedesktop.PowerManagement /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend

To już połowa sukcesu. Teraz chciałbym przywiązać tą komendę do konkretnego przycisku na klawiaturze. Do tego celu używam xbindkeys. Na początek wywołujemy następujące polecenie:

$ xbindkeys -k

Otwiera ono niewielkie okienko i oczekuje na zdarzenie z klawiatury. Po wciśnięciu klawisza (lub kombinacji klawiszy) w linii poleceń otrzymujemy kod danego zdarzenia, np:

$ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x0 + c:150
    XF86Sleep

Powyższy wynik powstaÅ‚ po wciÅ›niÄ™ciu klawisza uÅ›pienia (w moim przypadku kombinacji Fn+F5). Kod klawisza może siÄ™ różnić, w zależnoÅ›ci od ukÅ‚adu klawiatury, konfiguracji, etc. Z tego wyniku interesuje mnie ta linijka:

m:0x0 + c:150

Kolejnym krokiem jest stworzenie pliku .xbindkeysrc i dodanie do niego następującej treści:

"qdbus org.freedesktop.PowerManagement /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend"
m:0x0 + c:150

Plik zapisujemy. Uruchamiamy xbindkeys:

$ xbindkeys

I wciskamy klawisz, do którego chcieliÅ›my przywiÄ…zać zdarzenie uÅ›pienia. Powinno zadziaÅ‚ać :-)

Dla uÅ‚atwienia sobie życia dodajemy link symboliczny do xbindkeys do katalogu ~/.kde/Autostart. Najpierw sprawdzamy, jaka jest peÅ‚na Å›cieżka do naszego polecenia w nastÄ™pujÄ…cy sposób:

$ which xbindkeys
/usr/bin/xbindkeys    # Å›cieżka może siÄ™ różnić w zależnoÅ›ci od dystrybucji

Znając ścieżkę tworzymy link symboliczny poleceniem:

$ ln -s /usr/bin/xbindkeys ~/.kde/Autostart/xbindkeys

Od tej chwili xbindkeys będzie uruchamiane przy każdym logowaniu się do kde4, tym samym polecenie będzie przywiązane od razu do pożądanego klawisza.