Ustawienia serwera X'ów - ładniejsze czcionki, wiele monitorów, ... :: Zdalny pulpit :: Konfiguracja i sztuczki z managerem okien :: Ekrany dotykowe zgodne z GUNZE :: Czytniki kart pamięci (USB Mass Storage) :: Nagrywanie CD/DVD i zapis pakietowy UTF :: Laptopy - pcmcia, itp :: Dostrajanie KDE :: Autostart, menu i skojarzenia plików :: Pliki .desktop :: Mymenu - czyli generowanie menu KDE oraz menu kontekstowych dla różnych typów plików :: Inne informacje :: Linki

Poradnik linuxowy - porady konfiguracyjne Desktop

Ustawienia serwera X'ów - ładniejsze czcionki, wiele monitorów, ...

Jeżeli nasze czcionki, pomimo przyzwoitej rozdzielczości wyświetlanego obrazu, nie wyglądają zbyt ładnie, są zbyt małe, opcje antyaliasingu często wręcz pogarszają sytuację, przyczyną może być zbyt mała rozdzielczość optyczna wyświetlanych obrazów (ta wyrażana w ppi, niekiedy niepoprawnie nazywanym niekiedy dpi). Rozdzielczość tą możemy sprawdzić poleceniem xdpyinfo | grep resolution, rozdzielczość ta wraz z rozdzielczością całego ekranu przekłada się na jego (wirtualne) wymiary (które możemy sprawdzić xdpyinfo | grep dimensions). Aby temu zaradzić w sekcji Monitor pliku konfiguracyjnego serwera X należy określić właśnie tą wielkość ekranu (w mm): DisplaySize X Y gdzie X i Y to odpowiednie wymiary obliczone z zależności X,Y = pikseleX,Y / rozdzielczosc_ppi * 25.4 i przybliżone w dół do liczby całkowitej. Dobrą wartości ppi wydaje się być 96.

X serwer umożliwia także konfigurację środowiska wielomonitorowego. Wymaga to oczywiście odpowiedniego wsparcia sprzętowego - karta z wieloma wyjściami (której sterownik jest zgodny z xrandr lub xinerama), albo zestaw niekłócących się ze sobą kart. Obecnie metoda konfiguracji typu xinerama (ServerLayout złożony z wielu Screen'ów - każdy na osobnym urządzeniu, w szczególności zwielokrotnieniu Device pojedynczej karty z podaniem różnych wartości Screen oznaczających wyjście danej karty) zaczyna odchodzić do historii na rzecz "półautomatycznej" konfiguracji xrandr. Wielomonitoring poprzez xrandr możemy obsługiwać dynamicznie lub z stałą konfiguracją w xorg.conf, przykład takiej konfiguracji dla karty obsługiwanej przez sterownik radeonhd przedstawiam w xorg.conf.

Komenda xrandr może posłużyć do zmiany rozdzielczości w locie, przełączania ekranów a także ich wyłączania. X serwer umożliwia także uśpienie monitora (przełączenie w tryb oszczędzania energii), możemy tego dokonać komendą: killall xscreensaver ; sleep 1; xset dpms force off, w odróżnieniu od wyłączenia z użyciem xrandr monitor włączy się automatycznie po ruszeniu myszką lub naciśnięciu klawiatury. Xset umożliwia także wyłączenie automatycznego włączania wygaszacza ekranu i przechodzenia w tryb uśpienia (przydatne gdy nasz odtwarzacz filmów nie potrafi tego zablokować): xset s off; xset -dpms. Niektóre operacje (np. regulacja jasności podświetlenia w laptopie) wymagają bezpośredniego odwołania do podsystemu /sys, np. w przypadku Panasonic CF-18: echo 255 > /sys/class/backlight/panasonic/brightness ustawi maksymalną jasność podświetlenia (minimalną zapis zera).

Zdalny pulpit

Oprócz możliwości odpalenia zdalnych programów na lokalnym X-serwerze (np. przez ssh z opcją -X), odpalenia programu na sesji innego użytkownika (gdy zezwolił nam na to poprzez xhosts) czy też podłączenia się do zdalnego serwera X'ów i odpalenia na nim sesji (X-terminale), mamy także możliwość zdalnego podłączenia się do sesji X-serwrera. W tym celu po stronie zdalnej należy uruchomić serwer vnc (w wariancie x11vnc), np. przy pomocy komendy x11vnc -passwd 123 -forever --display :0. Po stronie lokalnej potrzebować będziemy klienta vnc - vncviewer -encodings Hextile IP.lubdomena.strony.zdalnej:5900. Zobacz też VNC, NX.

Niekiedy wystarczającym rozwiązaniem może okazać się współdzielenie klawiatury i myszy poprzez sieć - można do tego użyć programu synergy.

Konfiguracja i sztuczki z managerem okien

Często pomimo zastosowania całkiem bogatych opcji konfiguracyjnych managera okien nie udaje się uzyskać pożądanego zachowania niektórych okien. Chyba najbardziej konfigurowalnym managerem okien jest kwin (np. w fluxboxie brakowało mi rozbudowanych opcji regulacji wielkości okna, możliwości wywołania programu po wyświetleniu nowego okna, a także zarządzania przyciskami na belce tytułowej dla poszczególnych okien - kwin też niestety tego nie posiada) i dlatego w tych przykładach oprę się na nim. Pomocne mogą się wtedy okazać programy takie jak: devilspie czy też wmctrl oraz ... system obsługi zdarzeń, który (przynajmniej w kde) nie tylko może odtworzyć dźwięk przy otwarciu okna ale również wykonać jakiś program.

wmctrl umożliwia m.in. przeniesienie wybranego okna na bieżący pulpit i aktywację go, ukrywanie i pokazywanie okien, ustawianie pomijania paska zadań, przypinanie okien. Na przykład poniższy kod spowoduje przeniesienie wszystkich okien Iceweasel na pulpit 4:

wmctrl -l | grep Iceweasel | while read id reszta; do wmctrl -i -r $id -t4; done

W skrypcie, który wywoływany jest w zdarzeniu związanym z wyświetleniem nowego okna, jest on uruchamiany gdy wywołane było okno programu Psi i aktywuje je przełączając się na jego pulpit. Konieczność stosowania takiej sztuczki wynika z tego iż przy normalnej konfiguracji kwin'a, gdy wymuszamy otwarcie na wskazanym pulpicie to przy wywoływaniu z tray'a nie następuje przełączenie na niego i niekiedy prowadzi to nawet do zgubienia tego okna. Trudniejsze do uzyskania (ale myślę że także możliwe) byłoby wymuszenie na kmail'u aby po wywołaniu z tray'a otwierał się na bieżącym pulpicie (czego w odróżnieniu od standardowego zachowania psi nie che normalnie robić; co najciekawsze np. w fluxboxie zachowanie jest dokładnie odwrotne).

Przy grzebaniu w menagerze okien (czy wogóle środowisku graficznym) warto popatrzeć w pliki ~/.profile, ~/.xprofile, .Xmodmap, .Xkbma, .Xresources, .xsession, .xsessionrc, .Xsession oraz /etc/X11/Xsession*

Ekrany dotykowe zgodne z GUNZE

Dawniej w przypadku ekranów dostępnych poprzez port szeregowy (występujących np. w laptopach Panasonic CF-M34) można było zastosować dedykowany sterownik X-serwera [homepage], jednak sterownik ten nie che współdziałać z nowszymi wersjami Xorg. Dlatego konieczne jest użycie odpowiedniego modułu jądra (używanego również przez ekrany z interfejsem USB - występujących np. w Itronix GoBook IX250). Do skonfigurowania tego modułu potrzebna jest zmodyfikowana wersja programu inputattach (z pakietu joystick). Modyfikacja polega na dodaniu do input_types[] wpisu:

{ "--gunze",		"-gun",		B9600, CS8,			SERIO_GUNZE,	0,	0,	0,	NULL },

Po skompilowaniu i dodaniu do skryptów startowych uruchomienia tego programu: inputattach -gun /dev/ttyS3 dalsza konfiguracja (identyczna jak dla przypadku ekranów USB) odbywa się w xorg.conf i związana jest głównie z kalibracją urządzenia. Poniżej zamieszczam stosowne fragmenty xorg.conf z komentarzem dotyczącym procesu kalibracji

Section "InputDevice"
	Identifier "dummy"
	Driver "void"
	Option "Device" "/dev/input/mice"
EndSection
	
Section "InputDevice"
	Identifier	"Toutchpad"
	Driver		"mouse"
	Option          "Device" "/dev/input/mouse1"
EndSection

Section "InputDevice"
	Identifier	"Touchscreen"
	Driver          "evtouch"
	Option          "Device"           "/dev/input/event1"
	Option          "ReportingMode"    "Raw"
	Option          "DeviceName"       "touchscreen"
	Option          "MoveLimit"        "5"
	# kalibracja uzyskana w wyniku dzialania /usr/lib/xf86-input-evtouch/calibrate.sh
	# kalibracje wykonujemy z aktywana opcja:
	Option "Calibrate" "1"
	# wg opisu z /usr/share/doc/xserver-xorg-input-evtouch/README.calibration
	# wynik kalibracji zapisywany jest w $PWD/out.txt umieścić poniżej
	#
	# aby ev_calibrate dzialal do czasu rozwiazania Debian Bug #482195 nalezy wykonac:
	# cp /usr/share/xf86-input-evtouch/empty_cursor.xbm /
EndSection

Section "ServerLayout"
	Identifier      "Default Layout"
	Screen          "Default Screen"
	InputDevice     "dummy"
	InputDevice     "Keyboard"
	InputDevice     "Toutchpad"
	InputDevice     "Touchscreen"
EndSection

Czytniki kart pamięci (USB Mass Storage)

Urządzenia te obsługiwane są bez większych problemów, emulują one urządzenia SCSI. Warto jednak przy podłączaniu takiego czytnika (najlepiej od razu z włożoną kartą) przełączyć się na konsolę i zobaczyć co jest tam wypisane (m.in. jako jakie urządzenie widoczna jest karta). W przypadku problemów z ustaleniem typu partycji warto skorzystać z fdiska, najczęściej fdisk /dev/sdX (X = a,b,...) i wyświetlić listę partycji (klawisz p). Warto też umieścić odpowiednie wpisy w /etc/fstab np:

/dev/sdd1      /media/mmc      vfat    rw,user,noauto      0    0

Nagrywanie CD/DVD i zapis pakietowy UTF

Współcześnie (w odróżnieniu od stanu z przed kilku lat) programy nagrywające CD/DVD nie wymagają emulacji SCSI gdy wykorzystywany jest sprzęt IDE. Ponadto warto zainteresować się także zapisem pakietowym (UDF). Korzystanie z niego wygląda następująco:

	# przygotowanie płytki
	cdrwtool -d /dev/cdrom -q
	pktsetup cdrom /dev/cdrom
	mkudffs --utf8 /dev/pktcdvd/cdrom
	
	# montowanie płytki
	pktsetup cdrom /dev/cdrom
	mount -t udf -o rw,noatime /dev/pktcdvd/cdrom /cdrom
	chmod o+w /cdrom
	
	#teraz możemy pisać i czytać
	
	# odmontowywanie płytki
	umount /cdrom
	pktsetup -d cdrom
	eject /dev/cdrom

Płytę także można montować normalnie (tylko do odczytu) w standardowy sposób przy czym podać należy jako system plików udf - w /etc/fstab można wpisać udf,iso9660. Można także bawić się z zapisem gołych danych na płycie (np. pliku tar).

Kasowanie "niegrzecznych" płytek (takich przy których kasowaniu np. k3b ma problemy) warto spróbować wykonać bezpośrednio z pod konsoli komendą wodim blank=all.

Laptopy - pcmcia, itp

Aby możliwe było korzystanie z kart PCMCIA wymagany jest pakiet pcmciautils. Podobne do niego pakiety (pciutils i usbutils) są przydatne ale nie są niezbędne dla poprawnego działania odpowiednich podsystemów.

Dostrajanie KDE

Autostart, menu i skojarzenia plików

Katalogiem z którego programy uruchamiane są automatycznie po starcie KDE jest $HOME/.kde/Autostart. Można w nim umieszczać dowiązania symboliczne do programów oraz skrypty uruchamiające programy z zadanymi parametrami (w tym wypadku należy pamiętać o ustawieniu atrybutu wykonywalności oraz rozpoczęciu skryptu linia określającą interpretator np: #!/bin/bash).

Z kolei konfiguracja menu przechowywana jest w katalogu $HOME/config/menus/ (plik applications-kmenuedit.menu). Jest ona zapisana w XML'u jako różnica w stosunku co do konfiguracji domyślnej opartej na kategoriach (patrz /etc/xdg/menus/). Natomiast opisy poszczególnych pozycji menu ("skróty do programów") odpowiedzialne za opisy, ikony, oraz skojarzenia z obsługiwanymi typami MIME przechowywane są w postaci plików .desktop w $HOME/.local/share/applications/ (całosystemowe: /usr/share/applications/) oraz w starym systemie menu (pliki tam umieszczone nie maja wpisu o kategorii - odpowiada jej katalog w którym znajduje się plik) w $HOME/.kde/share/applnk i /usr/share/applnk/. Podobnie informacje o pozycjach katalogowych znajdują się jako pliki *.directory w $HOME/.local/share/desktop-directories i /usr/share/desktop-directories/ oraz w podkatalogach starego systemu menu. Zobacz w Sieci: opis plików .desktop/.directory.

Pliki .desktop

Już wspomniałem że za skojarzenia plików w KDE odpowiedzialne są te same pliki .desktop co tworzą menu (oczywiście mogą być pozycję menu bez skojarzonych typów plików - brak lub pusty wpis MimeType, jak też pozycje nie wyświetlane w menu - katalog .hidden). Skojarzenia możemy edytować z menu edycji skojarzeń plików, z właściwości danego pliku .desktop oraz przez tekstową edycję tych plików. Jeżeli przy dwóch pierwszych z tych metod są problemy z zapamiętaniem należy zmienić też inne pole (np. komentarz) - wtedy zmiany MIME zostaną zapamiętane.

Poprzez operowanie na plikach .desktop możemy też rozszerzać menu "działania" z Konqueror'a (pliki z odpowiednim wpisem w $HOME/.kde/share/apps/konqueror/servicemenus; np. umieszczenie tam pdflatex.desktop umożliwi nam budowanie PDF'ów z plików TeX z pod prawego przycisku myszy.

Warto też zwrócić uwagę na katalog $HOME/.kde/share/services/, gdzie przechowywane są ustawienia skojarzeń dla opcji "podgląd" w Konquerorze oraz jego podkatalog searchproviders gdzie przechowywane są informacje o konfigurowanych przez użytkownika skrótach wyszukiwania (wpisywanych w pasku adresu tak jak nazwy protokołów takich jak: http: ftp: mailto: man: info: audiocd: (rippowanie CD) tar: zip: imap: (dostęp do konta IMAP) pop3: smb: (przeglądanie sieci Windows) programs: (przeglądanie menu KDE) czy już zdefiniowanych wyszukiwań jak gg: (Google) wp: (Wikipedia)). Zamieszczam także kilka plików *.desktop oraz jeden skrypt, sprawiające wygodniejszą obsługę archiwów: archiwa.tgz (skrypt należy umieścić w $HOME/.config/ a dołączone plik .desktop w $HOME/.kde/share/applnk/.hidden/). Z kolei w menu.desktop pokazuje jak można utworzyć menu które znajdzie się jako podmenu w menu kontekstowym akcji lub na poziomie równym z nim.

Mymenu - czyli generowanie menu KDE oraz menu kontekstowych dla różnych typów plików

Jest to system generacji menu dla KDE mojego autorstwa. Korzysta on z katalogowej struktury w której umieszczane są plik .desktop poszczególnych aplikacji. Każdy z katalogów odpowiada kategorii w menu i posiada plik .directory który opisuje wygląd kategorii (ikonę, nazwę itp). Nazwy plików i katalogów nie mają większego znaczenia, ale warto je rozpoczynać od liczby celem zapewnienia odpowiedniego sortowania w menu (odbywa się ono właśnie w oparciu nie o nazwy kategorii/aplikacji a plików). System generuje także pliki .desktop menu akcji Konquerora. Konfiguracja przypisań aplikacji do menu kontekstowego zależnego od typów mime odbywa się w service_menus.cfg. Jeżeli w tym pliku podano cały katalog wypełniane ono jest w kolejności określonej poprzez nazwy plików na niego się składających.

Pliki .desktop mogą posiadać określenia typów mime które obsługują i będą one wykorzystywane do generacji klasycznego systemu skojarzeń w konquerorze (niestety mamy tutaj tylko ograniczony wpływ na kolejność - poprzez parametr InitialPreference=. Aby nie dublować wpisów w menu "otwórz w" (różne pliki .desktop wskazujące na tą samą aplikację) zaleca się umieszczenie w standardowej lokalizacji plików opisu aplikacji plików .desktop z standardowymi nazwami (aby mogły nadpisywać ogólnosystemowe) ale bez z pustym atrybutem MimeType=; możliwe jest też usunięcie plików ogólnosystemowych. W standardowym systemie skojarzeń Konquerora można także wykorzystać mechanizm mailcap (man mailcap, man run-mailcap, man update-mime) poprzez utworzenie wpisów z maksymalnym np. InitialPreference=9 wskazującym na wrapper(-y) tego systemu.

Skrypt instalujący system (mymenu_install.sh) dodaje dowiązanie do własnego pliku menu w pliku z standardowym menu KDE. Ze względu na czytelność zaleca się przeniesienie oryginalnych kategorii do jakiejś zbiorczej kategorii (przykład). Całość systemu można pobtrać jako archiwum tar.gz.

Inne informacje

Przy zabawie z konfiguracją KDE przydatne może być polecenie kbuildsycoca przebudowywujące cache konfiguracji bez potrzeby przelogowywania się. Na koniec mała ciekawostka - jak wiadomo jedynym ograniczeniem co do nazw plików i katalogów w linuxie jest to aby nie zawierały znaku /, jednak w kde możemy uzyskać pozór tego znaku należy w nazwie zamiast niego umieścić %2f (uwaga lepiej taką nazwę pliku zrobić w trybie tekstowym bo w graficznym zostanie wstawiony podeójny % i efektu nie uzyskamuy).

Wśród wielu standardowo rozpowszechnianych bibliotek/pluginów warto zwrócić uwagę na libarts1-xine umożliwiającą pokazywanie podglądu plików wideo w Konquerorze. W Sieci można znaleźć nie mało rozszerzeń dla kde (w dużej mierze korzystających z opisanych możliwości konfiguracyjnych) Biblioteki dla kio (umożliwiają korzystanie z zawartości archiwów, protokołów sieciowych itd jak normalnych ścieżek) dla: RAR, 7zip. Dodatkowe wpisy menu usług dla: obsługi archiwów 7zip, paczek deb, montowania obrazów ISO, otwierania jako inny użytkownik oraz różne inne użytki dla konquerora (kopiowanie ścieżek, zaznaczanie na podstawie wyrażeń regularnych, ustawianie obrazka jako ikony katalogu, ...). Dodatkowe wpisy dla przeglądania WWW w konquerorze umożliwiające pobieranie filmików z youtoube, a także patch na kdegraphics włączający podgląd i informacje exif dla plików graficznych typu raw.

Konqueror przy połączeniach SFTP, ma problem z obsługą kluczy typu ecdsa-sha2-nistp256. Objawem jest komunikat o zmienionym kluczu ("The host key for this server was not found, but another type of key exists. An attacker might change the default server key to confuse your client into thinking the key does not exist. Please contact your system administrator."). Klucze takie pojawiają się często w wyniku połączenia SSH na jakiś sprzęt wbudowany (r-pi, stb, ...). W takim wypadku należy usunąć klucz z .ssh/known_hosts, połączyć się Konquerorem przez SFTP, zaakceptować nowy klucz (do pliku dopisany zostanie klucz typu ssh-rsa).

Zobacz w Sieci: Przewodnik użytkownika KDE.

 


Linki

Zobacz w Sieci (Debian): Debian, Polish Debian Documentation Project, Tworzymy paczkę, Tworzenie własnej wersji Knoppiksa, APT HOWTO, Debian @ Wikibooks, skrypty ułatwiające mirrorowanie Debiana, chroot shell dla debiana, Automatyzacja instalacji Debiana.

Zobacz w Sieci (inne): g4u - Harddisk Image Cloning for PCs, Pierwsze kroki ze Scribusem, Recovering from file system corruption using TestDisk, 6 terminali graficznych z jednego komputera, GNU/Linux @ Wikibooks, Linux Newbie Administrator Guidekopia lokalna, UnionFS.



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/usage_and_config/operating_systems_config/linux/desktop) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2015-10-10 11:33:24 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).