X Window System. LAPPEENRANTA UNIVERSITY OF TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY Ti5316800 - Lähiverkot -erikoistyökurssi



Samankaltaiset tiedostot
X Window System. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOTEKNIIKAN OSASTO TIETOJENKÄSITTELYTEKNIIKAN LAITOS Ti Lähiverkot -erikoistyökurssi

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

X Window System tai lyhyemmin vain X on Linuxin yleisimmin käytetty graafinen ympäristö.

Tikon Ostolaskujenkäsittely versio SP1

SSH Secure Shell & SSH File Transfer

Javan asennus ja ohjeita ongelmatilanteisiin

Felipe Ballester TI07

Office ohjelmiston asennusohje

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

erasmartcardkortinlukijaohjelmiston

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

Yhteydensaantiongelmien ja muiden ongelmien ratkaisuita

Jouko Nielsen. Ubuntu Linux

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

Tapahtumat. Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi.

Suomenkielinen versio. Johdanto. Laitteiston asennus. PU011 Sweex 1-portin rinnakkainen PCI Express -kortti

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

SISÄLLYS 1 YLEISTÄ VERSIOT Tukiaika Variaatiot OHJELMISTO Paketinhallinta Komentorivisyntaksi

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

UBUNTU. UBUNTU - Peruskäyttö. Työpöytä. GNU Free Documentation License. Sisäänkirjautuminen. Yläpaneelissa on kolme valikkoa. Paneelit ja valikot

Visma Avendon asennusohje

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Ubuntu - tiedostohallinta

TELEWELL TW-EA200 MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL-LIITTYMÄÄN KÄYTTÄEN USB-VÄYLÄÄ

Suomenkielinen versio. Johdanto. Laitteiston asennus. PU013 Sweex 1-portin rinnakkainen & 2 -portin sarja PCI-kortti

Tikon Ostolaskujenkäsittely versio 6.2.0

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Näin asennat Windows käyttöjärjestelmän virtuaalikoneeseen

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

1 Tivax siirto uuteen koneeseen

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

Mainosankkuri.fi-palvelun käyttöohjeita

WinTraden päivitys- ja asennusohjeistus

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

erasmartcard-kortinlukijaohjelmiston käyttöohje

Loppukäyttäjän ohje Asennus- ja käyttöohje Mac

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

Autentikoivan lähtevän postin palvelimen asetukset

Novapoint Lisensiointi. Copyright 2006, ViaNova IT AS. All rights reserved 1

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

Harjoitus 3 Antti Hartikainen

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

CLOUDBACKUP TSM varmistusohjelmiston asennus

XEROXIN TURVATIEDOTE XRX Versio 1.0 Muutettu viimeksi: 10/08/05

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma

JOVISION IP-KAMERA Käyttöohje

AinaUCX Lync - asennusohje

Loppukäyttäjän ohje Asennus- ja käyttöohje - Windows

Helppokäyttöisyyttä Windows Vista käyttöjärjestelmän asetuksilla

Visma GATEWAY INSTALLER. asennusopas

TRUST AMI MOUSE WIRELESS 300

Microsoft Security Essentials (MSE) asennuspaketin lataaminen verkosta

LINUX LINUX. Viisi hyvää syytä käyttää Linuxia MUISTA! GNU Free Documentation License

FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö

HP ProBook 430 G5 kannettavien käyttöönotto

Visual Case 2. Miika Kasnio (C9767)

Pedacode Pikaopas. Web-sovelluksen luominen

Fiscal Media Server STD ohje

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

ClassPad fx-cp400 päivitys. + Manager for ClassPad II Subscription päivitys

UCOT-Sovellusprojekti. Asennusohje

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

IRC ja etäyhteydet IRC JA ETÄYHTEYDET

BaseMidlet. KÄYTTÖOHJE v. 1.00

1. Adobe Digital Editions ohjelman käyttöönotto

Unix-perusteet. Tulostaminen

Tulostimen asentaminen Software and Documentation -CD-levyn avulla

Sisältö IT Linux 2001:n uudet ominaisuudet IT Linux 2001:n yhteensopivuus Red Hat 7.0:n kanssa Asennuksen valmistelu

ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0

PRINTER DRIVER PÄÄKÄYTTÄJÄN OPAS

LINUX-HARJOITUS, MYSQL

TEHTÄVÄ 4: Microsoft Windows Deployment Services asennus ja hallinta

Simulaattorin asennus- ja käyttöohje

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Asennusohjeet HIITed palvelun asentamiseen

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS TYÖASEMALLE

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Aditro Tikon ostolaskujen käsittely versio SP1

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla

Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella

Febdok 6.0 paikallisversion asennus OHJEISTUS

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Pika-asennusohjeet Suomeksi

MASSER Loader V2.00. käyttö- ja asennusohje

1 AinaCom Skype for Business / Lync 2010 / Lync for Mac 2011 asennusohje... 2

Transkriptio:

LAPPEENRANTA UNIVERSITY OF TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY Ti5316800 - Lähiverkot -erikoistyökurssi X Window System Lappeenranta, 15.3.2007, 2007 Jukka Lankinen 0258961

Lappeenranta University of Technology Department of Information Technology Ti5316800 - Lähiverkot -erikoistyökurssi X Window System 2007 19 sivua ja 3 kuvaa. ii

Sisältö 1 JOHDANTO 2 1.1 Tästä dokumentista............................. 2 2 HISTORIA LYHYESTI 3 3 X11-PROTOKOLLA 4 3.1 Viestirakenteet............................... 5 3.2 Toteutus................................... 7 4 LINUX-TYÖ 8 4.1 X:n asentaminen.............................. 8 4.2 X:n käyttö.................................. 12 4.3 X:n verkkotehokkuus............................ 14 5 IKKUNAMANAGERIT JA TYÖPÖYTÄYMPÄRISTÖT 16 LÄHTEET 18 LIITTEET 19 iii

LYHENNELUETTELO GPL GTK XDMCP VNC GDM KDM XDM SSH XFCE KDE WM DE Gnu Public License The Gimp Toolkit X Display Manager Control Protocol Virtual Network Computing Gnome Display Manager KDE Display Manager X Window Display Manager Secure Shell XForms Common Environment Kool Desktop Environment Window Manager Desktop Environment 1

1 JOHDANTO X Window System, joka myös tunnetaan nimillä X tai X11, on protokolla, joka tarjoaa graafisia ikkunointipalveluita käyttöjärjestelmälle. X:n nykyistä protokollaversiota (X11) on kehitetty jo vuodesta 1987, ja protokolla on käynyt läpi useita erilaisia muutoksia. X tukee laajaa kirjoa erilaisia laitteita ja sitä voidaan käyttää hyvinkin erilaisilla syöttölaitteilla ja näyttöpäätteillä. X:n ominaisuuksia ovat myös verkkoläpinäkyvyys sekä kompositioiden käyttömahdollisuus. X:ää käytetäänkin lähes poikkeuksetta kaikissa Unix-tyylisissä käyttöjärjestelmissä (mm. Unix, Linux, BSD) vaikka muutamia poikkeuksiakin löytyy. X:n nykyistä avoimen lähdekoodin versiota kehittää X.org foundation. 1.1 Tästä dokumentista Tämä työ on tehty osana Lähiverkot-erikoistyökurssin Linux-työtä. Dokumentti on jäsennelty siten, että aluksi keskitytään työssä X Window Systemin toimintaan ja selvitetään, mitkä ovat sille olennaiset osat ja vastuualueet. Kun X:n toiminta on selvitetty, siirrytään käytännön Linux-työhön, jossa opastetaan X Window Systemin asentamiseen ja käyttöönottoon Debian Sarge -käyttöjärjestelmässä. X:n käyttöönotossa selvittelemme, millä kaikilla tavoin X:ää voidaan hyödyntää etäkäytössä ja miten paljon resursseja järjestelmä vaatii. 2

2 HISTORIA LYHYESTI X Window Systemin ensimmäinen protokollaversio julkaistiin vuonna 1984 ja se oli johdannainen aikaisemmasta W-ikkunointijärjestelmästä. W:hen verrattuna X toi mukanaan verkon ylitse onnistuvan käytön ja täydellisen laite- ja toimittajariippumattomuuden. Ensijulkaisun jälkeen X:n kehitys kiihtyi huimaan vauhtiin ja protokolla muotoutui nykyiseen muotoonsa kolmessa vuodessa. Protokollasta tehtiin X6-, X9- ja X10-versiot ennen nykyistä X11-versiota. [2] X11-protokollasta on tehty tätä dokumenttia kirjoittaessa jo 20 julkaisua (release) ja nykyinen X.org foundationin tekemä julkaisu on X11R7.1 (27.1.2007). X11-protokollaa kehitti X Consortium vuodesta 1988 (X11R2) aina vuoteen 1996 (X11R6.2). Tämän jälkeen protokollan kehitystä jatkoi Open Group. [2] X11-protokollasta ehkä tutuimmat implementaatiot ovat XFree86 sekä uudempi X.org. XFree86 oli suosittu, alunperin Thomas Roellin ja Mark W. Snitilyn kirjoittama X:n versio. Xfree86 kuitenkin ajautui ongelmiin vuonna 2003, kun se julkaisi omasta X- toteutuksestaan 4.4-version liian kireän lisenssin alaisena. Lisenssi ei ollut yhteensopiva GPL:n (Gnu Public License) kanssa ja aiheutti sen, että monet X:stä riippuvat ohjelmat rikkoivan lisenssiehtoja. Tällainen toiminta tuomittiin X:n hengen vastaisena. Vastalauseena vuonna 2004 luotiin X.org foundation, jonne X:n pääkehittäjä sekä useat muut tärkeät ohjelmoijat siirtyivät. X.org foundation julkaisi protokollan X11R6.7.0-version perustuen viimeisimpään XFree86:n versioon vanhalla lisenssillä. Samalla X:n kehitys muuttui entistä avoimemmaksi. [2] 3

3 X11-PROTOKOLLA X11-protokolla perustuu asiakas/palvelinmalliin. Palvelinta käytetään hallitsemaan tietokoneruudulla näkyvää kuvaa. Asiakasohjelmat, tässä tapauksessa sovellukset, tekevät pyyntöjä palvelimelle, että se piirtäisi palvelimelle asetettuun näyttölaitteeseen grafiikkaa. X tarjoaa sovelluksille perusmuotojen piirtämisen ja ikkunointiin tarvittavat peruspalvelut. [1] Kuva 1: X Window Systemin asiakas/palvelinmallin toiminta. [1] Kuva 1 kuvaa X Window System -palvelimen toimintaa ja suhdetta asiakasohjelmiin. Asiakaspuolen sovellukset hyödyntävät Xlib-kirjastoa, joka helpottaa protokollan käyttöä. Käytännössä tämä kirjasto tarjoaa tarvittavat funktiot ohjelmointiin ilman, että ohjelmoijan täytyy itse toteuttaa protokollaa. Xlib-kirjaston päällä voidaan vielä käyttää erilaisia X Toolkitteja, kuten GTK (The Gimp Toolkit):ta tai QT:tä, jotka tarjoavat entistä korkeamman tason metodeja sovelluksen tekemiseen. Palvelinpuolella palvelin lukee ja käyttää erilaisia laitekomponentteja, kuten näppäimistöä, hiirtä ja näyttöä ajurikirjaston (Device Library) kautta. Ajurikirjasto sisältää nimensä mukaisesti ajurit näille laitteille. [1] Protokollaa seuraavat asiakasohjelmat eivät suoraan kommunikoi käyttäjän kanssa vaan 4

käyttäjän syöte luetaan palvelimen puolella. Kun käyttäjä painaa painiketta näppäimistöltä, tämä tieto siirretään kaikille yhteydessä oleville asiakasohjelmille. Näinollen asiakasohjelmat osaavat päivittää omia ikkunoitaan ja käyttäytyä syötteen mukaisesti. Asiakasohjelman ei näinollen tarvitse ylläpitää moninmutkaisia tietorakenteita vaan palvelin ylläpitää kaikkea tietoa ikkunoista. [1] X on suunniteltu siten, että käyttäjä voi käyttää palvelinta helposti myös verkon yli. Tällöin käyttäjän syöte asiakaskoneelta putkitetaan palvelimelle käyttäen esimerkiksi SSHpäätettä. Esimerkkejä tästä LINUX-TYÖ-kappaleessa sivulla 8. 3.1 Viestirakenteet Vaikka X on kokonaisuutena suhteellisen iso ohjelmisto, ei protokolla silti ole vaikea ymmärtää. Protokolla käyttää ainoastaan neljää erilaista viestirakennetta: kyselyitä (request), vastauksia (reply), virheitä (error) ja tapahtumia (event). Kyselyillä sovellus vaatii palveluita palvelimelta, kuten hiiren tilaa. Kyselyviesti sisältää yhden tavun koodikentän, joka kertoo, minkälaista palvelua halutaan. Koodikentän perässä on kahden tavun pituuskenttä ja loppuviesti koostuu datakentästä. Pituuskenttä sisältää koko pyynnön pituuden, sisältäen kaikkien kenttien tavujen määrän. Kyselyt ovat yleensä yksisuuntaisia, joka mahdollistaa sen, ettei sovelluksen tarvitse olla riippuvainen yhteyden nopeudesta. Vastaukset taas ovat viestejä, jota ilman sovellus ei voi edetä. Vastaukset sisältävät neljän tavun pituuskentän ja datakentän. Virheet nimensä mukaisesti ilmoittavat virhetilanteista. Virheviestit ovat 32 tavua pitkiä, sisältäen yhden tavun virhekoodille, suuremman ja pienemmän koodin kertomaan virheen aiheuttamasta toiminnosta ja vähiten merkitsevät 16 bittiä toiminnosta. Protokollan tapa puskuroida pyyntöjä vaikeuttaa virheen aiheuttavan kohdan löytämistä ja siksi protokollasta (tai tarkemmin protokollaa hyödyntävästä Xlib-kirjastosta) löytyy mahdollisuus asettaa protokolla niin sanottuun synkronoituun tilaan. Tällöin kaikkiin kyselyihin odotetaan vastausta ja virheen löytäminen on nopeampaa. Synkronointi tietenkin hidastaa protokollan toimintaa huomattavasti. Tapahtumat ovat mm. syötelaitteiden aiheuttamia viestejä, jotka kertovat näissä laitteissa tapahtuneista muutoksista. Erilaisia tapahtumaviestejä on yhteensä 33. Tapahtumaviestit ovat 32 tavua pitkiä. Tarkemmin, yksi tavu tyyppikoodia, 16 vähiten merkitsevää bittiä 5

tapahtumasta (paitsi KeyMapNotify). Lisäksi vaihteleva määrä tavuja viestin lopusta. Tapahtumat ovat tärkeitä X:n toiminnan kannalta, sillä ilman näitä toimintoja ei tiedetä mitä milloinkin tapahtuu. Taulukossa 1 lyhyesti nämä tapahtumat ja mitä niillä pääsosin tarkoitetaan. Tarkempia tietoja protokollan viesteistä Levi ja Reissin X Window Inside and Out -kirjasta. T apahtuma Keyboard Pointer Window-Crossing Input Focus Keymap State Notification Exposure Structure Control Window State Notification Colormap State Client Communication Selitys Näppäimistöllä tapahtuvat tapahtumat, kuten onko näppäintä painettu tai onko se päästetty ylös. Osoitinta, kuten hiirtä koskevat tapahtumat. Missä hiiri tällä hetkellä sijaitsee, onko liikutettu ja mitä painikkeita on painettu? Ilmoittaa osoittimen liikkeestä. Kulkeeko osoitin ikkunan päälle vai poistuuko se ikkunan päältä? Ilmoittaa, onko ikkunoita valittuna näppäimistösyötettä varten. Sisältää mitkä kaikki painikkeet ovat käytössä valitussa ikkunassa. Tällä tapahtumalla kuvataan miten ikkunat ovat päällekkäin ruudulla. Neljästä erilaisesta viestistä koostuva tapahtuma. Näillä tapahtumilla voidaan ikkunaa nostaa, laskea sitä, muuttaa kokoa, sijaintia ja vaikuttaa uudelleenpiirtoon. Tapahtuma, joka lähetetään aina, kun ikkunaa siirretään, sen kokoa muutetaan tai se vaihtaa paikkaa ylemmäksi tai alemmaksi. Tällä tapahtumalla selvitetään ikkunan tilaa Tämä tapahtuma lähetetään, kun värikartta muuttuu, uusia otetaan käyttöön tai poistetaan käytöstä. Mahdollistaa asiakkaiden välisen kommunikoinnin. Taulukko 1: X11-protokollan tapahtumaviestit 6

3.2 Toteutus Kuten aiemmin tässä dokumentissa mainittiin, on X11-protokollasta tehty toteutus X.org tai Xfree86:n muodossa (mutta muitakin toteutuksia on olemassa). Palvelin sisältää kaiken mahdollisen piirtämiseen liittyvän tiedon, kuten käytössä olevat resurssit. Resursseja ovat mm. fontit, värikartat, bittikartat... jne. Palvelin on tietoinen siihen liitetyistä laitteista ja osaa antaa tarvittavat palvelut käyttäjälle. Palvelin lataa käynnistyessään tarvittavat laiteajurit, riippuen konfiguraatiosta (ks. sivu 8). Kun asiakas yhdistää palvelimeen, palvelin ja asiakas alkavat keskustella edellisessä luvussa mainituin keinoin, hyödyntäen erilaisia viestejä eri hetkillä. Etäkäytössä X:ää voidaan käyttää tarpeen tullen erilaisilla tavoilla. Jos käytössä on halpoja, melko vanhoja tietokoneita, niin näiden tietokoneiden toiminta kannattaa ottaa hyötykäyttöön asentamalla vanhoille tietokoneille X ja hankkia uusi palvelin, jolla on kaikki tarvittavat sovellukset. Kun palvelimeen otetaan käyttöön XDMCP (X Display Manager Control Protocol), voivat vanhat tietokoneet yhdistää tähän uuteen palvelimeen ja käyttää sen ohjelmia. Tällöin vanhat tietokoneet ovat päätteitä. Toinen tapa etäkäyttää X:ää on käyttää VNC:tä (Virtual Network Computing), jolloin voidaan yhtä työpöytää käyttää etänä. VNC luo virtuaalisen X-palvelimen, jota voidaan käyttää kuin paikallista työpöytää. VNC ei välitä asiakaspään vaikeuksista, kuten verkon katkoksista ja uudelleenkäynnistyksistä toisin kuin X11-protokolla, joka vaatii toisinaan vastauksia viesteihinsä. VNCliikenne ei yleensä ole salattu, vaikkakin VNC-toteutuksia on olemassa, kuten tightvnc. Jos on huolissaan etäkäytön turvattomuudesta, kannattaa harkita SSH:n (Secure Shell) ja X:n tunneloinnin mahdollisuutta. Tällöin salasanat kulkevat verkon yli salattuina, kuten muukin tieto. Muun muassa X11:n ja VNC:n liikenteen voi näinollen näppärästi salata. Käytännön toteutukseen tutustumme osiossa X:n käyttö sivulla 12. 7

4 LINUX-TYÖ Linux-työssä tarkoituksena on asentaa ja konfiguroida X-palvelin ja esittää, miten sitä voidaan hyödyntää niin paikallisesti kuin etänä. Tässä Linux-työssä käytettiin Debian Sarge Gnu/Linux -jakelua. Kyseinen julkaisu kuitenkin on niin vanha, että sen mukana tulee oletuksena Xfree86-palvelin. Otin vapauden hyödyntää Debianille löytyvää Debian Backports -julkaisukanavaa, jotta työasemiin saataisiin asennettua vähän uudempi X.org 6.9. X Window System on asennettu ainakin dmz5, office2 ja office5 -tietokoneille. Ennen palvelimen asentamista muokkasin /etc/apt/sources.list -tiedostoa lisäämällä seuraavan rivin: deb http://www.backports.org/debian sarge-backports main contrib non-free Tämän jälkeen päivitin pakettivarastot: sudo aptitude update 4.1 X:n asentaminen Debianin aptitude-pakettiohjelmaa hyödyntämällä X:n asennus voidaan suorittaa komennolla: sudo aptitude install xserver-xorg Asennuksen aikana Debian kysyy automaattisesti X:n asetuksia, kuten hiiren ja näyttölaitteen ominaispiirteitä. Tässä vaiheessa annoin laitteille sopivat, turvalliset oletusarvot. Kun asennus oli ohi, halusin tarkistaa, että X-palvelin käyttää oikeita asetuksia mm. näytön tarkkuuden suhteen. X Palvelimen configurointi tapahtuu xorg.conf-tiedostoa muokkaamalla. Tiedosto sijaitsee /etc/x11/-kansiossa. Virhetilanteet talletetaan /.xsession-errors -tiedostoon. Konfiguraatiotiedostossa asetetaan ladattavat moduulit, ilmoitetaan mistä palvelin voi hakea fontit 8

sekä asetetaan erilaiset lisälaitteet, kuten hiiret ja näppäimistöt. Muokkaamani xorg.conf löytyy liitteistä. Listaan nyt alle oleellisimmat osat konfiguraatiotiedostosta, jotka olisi hyvä olla kunnossa, jos haluaa saada toimivan kokoonpanon. Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "fi" Tässä asetetaan näppäimistön asetukset. Asetuksissa Identifier asettaa tunnisteen, millä näppäimistö voidaan tunnistaa, kun se liitetään osaksi serverlayoutia. Driver kertoo ajurin nimen mitä tarvitaan laitetta käyttäessä. Käytännössä tässä ladataan kbd-kernelimoduuli. Näiden tietojen jälkeen annetaan erilaisia lisävalintoja (Option). Näillä asetetaan tässä tapauksessa näppäimistölle oleelliset ominaisuudet. Asetus XkbRules kertoo, mikä tiedosto sisältää näppäimistökartat ja ko. tiedostoa haetaan hakemistosta /etc/x11/xkb/rules/. Xkb- Model asettaa näppäimistön mallin. Tässä tapauksessa se on pc105 (ts. näppäimistö, jossa on 105 painiketta). Lopuksi XkbLayout asettaa näppäimistön "kielen". Tässä tapauksessa käytämme suomalaista näppäimistöä tunnisteella fi. Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" Tässä asetetaan hiiren asetukset. Kuten näppäimistössäkin, tässäkin on Identifier ja Driver. Lisäksi on asetettu näppäimistöstä poikkeavia lisävalintoja. Device kertoo, mistä käytettävän laitteen laitetiedosto löytyy. Protocol ilmoittaa, mitä protokollaa käytetään hiiren 9

kanssa. Osa hiiristä käyttää erilaisia protokollia toimintaansa, mutta yleisin on tässäkin käytetty "ExplorerPS/2". ZAxisMapping mahdollistaa hiiren rullan toimimisen. Arvo "4 5"tarkoittaa, että rullan vierittäminen painaa 4. ja 5. painiketta, joita ei normaalisti hiiressä ole. X:n ohjelmissa nämä painikkeet ovat varattu vierittämiseen. Valinta Emulate3Buttons taas mahdollistaa "keskinapin"painamisen, kun käyttäjä painaa oikeaa ja vasenta painiketta samanaikasesti. Section "Monitor" Identifier "Default Monitor" # HorizSync 30-75 # VertRefresh 30-60 Option "DPMS" Section "Device" Identifier "Default Video Card" Driver "i810" Section "Screen" Identifier "Default Screen" Device "Default Video Card" Monitor "Default Monitor" DefaultDepth 24... eri värisyvyyksille eri näyttötiloja... SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" EndSubSection Näissä asetetaan näytön ja näytönohjaimen asetukset sekä käytettävä kuvaruutu. Näytön asetukset asetetaan osassa Monitor. Täällä asetetaan näytölle olennaiset piirteet, kuten vaakasuora- ja pystyvirkistystaajuudet. Valinta DPMS mahdollistaa automaattisen näytön sammuttamisen, kun tietokoneella ei ole tehty mitään pitkiin aikoihin. Osassa Device määritellään mitä näyttölaitetta/ajuria käytetään piirrettäessä ruudulle. Osa Screen kokoaa näyttölaitteesta ja monitorista ruudun, jota voi käyttää eri värisyvyyksillä ja näyttötiloilla. DefaultDepth määrittää oletusvärisyvyyden, mitä käytetään oletuksena. Jokaiselle värisyvyydelle on alaosasto, koska jokainen värisyvyys voi sisältää näytölle tyypillisiä erilaisia 10

näyttötarkkuuksia. Käytössäni oli Dellin 19 tuuman LCD-näytöt, joten asetin värisyvyyden 24 bittiin ja pääasiallisen tarkkuuden 1280x1024-näyttötarkkuuteen. Tiloja voi vaihdella X:ssä Ctrl+alt+plus/minus-näppäinyhdistelmillä. Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Generic Mouse" Tässä osassa määritellään sitten koko X-palvelimen rakenne. Määritellään Palvelimen "kuvaruutu", näppäimistö ja hiiri. Tällä kertaa laitteistossa ei ollut muita syöttövälineitä eikä useampia näyttöjä. Näiden konfigurointi onnistuu helpostin tätä samaa tiedostoa muokkaamalla. Tämän jälkeen X:n voi käynnistää komennolla: startx mutta yleensä graafista käyttöliittymää ei käynnistetä tällä lailla tekstitilasta, vaan hyödynnetään ns. käynnistyssovellusta, josta voidaan valita mitä DE:tä (Desktop Environment) tai WM:ää (Window Manager) halutaan käyttää. Tunnetuimpia näistä käynnistyssovelluksista ovat ehdottomasti GDM (Gnome Display Manager), KDM (KDE Display Manager) ja XDM (X Window Display Manager). Tässä työssä asensin GDM-käynnistimen, koska olen aiemmin käyttänyt sitä, ja osaan toimia sen kanssa. Asennetaan GDM komennolla: aptitude install gdm Tämä tietenkin tuo mukanaan suuren osan GNOME-työpöytäympäristöä, koska gdm tarvitsee osia Gnome-työpöydästä. Ikkunamanagereihin ja työpöytäympäristöihin tutustutaan seuraavassa luvussa sivulla 16. Asennetaan Gnome-työpöytäympäristökin komennolla: 11

aptitude install gnome Uudelleenkäynnistämisen jälkeen voidaan graafisesta valikosta valita haluttu ikkunamanageri tai työpöytäympäristö. GDM:ää ja X:ää voidaan sammuttaa ja käynnistää /etc/init.d/gdm -skriptillä. Lisäksi historiallisista syistä X:llä on useita muitakin konfiguraatiotiedostoja, joiden muokkaaminen ei ole tarpeellista enää nykyään. Näitä tiedostoja ovat.xinitrc tai.xsession, joihin pystyi asettamaan käynnistettävät ikkunamanagerit ja ohjelmat kun startx-komento ajetaan. 4.2 X:n käyttö Kuten aikaisemmissa luvuissa on tullut esille, voidaan X-palvelinta käyttää paikallisesti tai etänä. X:ää voi käyttää etänä monella eri tavalla, joista jokainen sopii omaan käyttöönsä. Itse olen mahdollistanut XDMCP:n (X Display Manager Control Protocol) käytön verkossa ja asettanut office5-työaseman tarjoamaan tätä palvelua. XDMCP on käytännössä vanhentunut, päätelaitteille suunniteltu protokolla, jolla paikallinen tietokone kykenee yhdistämään X-palvelimeen ja käyttämään sen sovelluksia. XDMCP ei salaa salasanoja, joten sen käyttäminen muualla kuin luotetussa verkossa on turvatonta. Tässä tapauksessa verkko on suhteellisen luotettu, sillä käyttäjät ovat useimmiten samanarvoisia työntekijöitä. Palvelimen saa helposti poistettua tarvittaessa käytössä jos sen käytölle ei löydy tarvetta tai se tunnetaan tietoturvariskinä. Toinen tapa käyttää X-palvelinta etänä on VNC:n avulla. Olen asentanut vncserver-ohjelmiston office5-työasemalle. jokainen, joka haluaa ottaa virtuaalisen X-palvelimen käyttöönsä voivat käynnistää sen komennolla: vncserver Tällöin palvelin käynnistyy pienellä resoluutiolla ja vähäisellä värimäärällä, jotta verkon yli kulkeva tietomäärä olisi mahdollisimman vähäinen. Jos haluaa välttämättä isoja työpöytiä ja syvempiä värimääriä, on se mahdollista asettamalla erilaisia lippuja vncserverille, kuten -geometry 1024x768 ja -depth 24. Palvelimen voi tappaa käskyllä vncserver -kill :1. 12

Kolmas vaihtoehto on käyttää SSH:ta tunneloimaan X-palvelimen X11-protokollakäskyt tai VNC. Nykypäivänä kukaan ei käytä X11-protokollaa salaamattomana verkon yli, mutta jos todella haluaa näin tehdä, niin sen voi toteuttaa mm. asettamalla etäkoneella DISPLAYympäristömuuttujaa osoittamaan paikalliselle työasemalle. SSH:ssa voidaan X tunneloida niinkin helposti kuin käskemällä: ssh lahi@192.168.10.5 -X Lippu -X asettaa X11-protokollan viestien edelleenlähetyksen jos palvelin sitä vain tukee. Jos palvelimella ei ole tukea edelleenlähetykselle, niin sen saa päälle muokkaamalla /etc/ssh/sshd_config-tiedostoon seuraavanlaisen rivin:... X11Forwarding yes X11DisplayOffset 10... Ja muokkaamisen jälkeen ssh-palvelimen uudelleenkäynnistys pitäisi mahdollistaa X:n etäkäytön. Nyt paikallisella työasemalla voidaan ssh:n läpi käynnistää erilaisia ohjelmia, kuten xeyes ja gedit ja käyttää niitä kuin oman työaseman ohjelmia. Windows-puolella tätä voidaan hyödyntää ohjelmalla Xming, joka luo virtuaalisen X:n windows-koneelle ja mahdollistaa X:n ohjelmien ajamisen etänä. Salauksen voi Windows-käyttöjärjestelmässä toteuttaa vaikka putty:llä. VNC:n voi salata SSH:lla tunneloimalla VNC:n portin etäkoneelta paikalliselle työasemalle ja yhdistämällä VNC-katseluohjelmalla paikalliseen porttiin. Tämän voi tehdä mm. seuraavanlaisesti: ssh lahi@192.168.10.5 -L 5901:192.168.10.5:5901 Tämän jälkeen voidaan selata etänä virtuaalista työpöytää komennolla: vncviewer localhost:1 13

Lisäksi etäkäytössä eri protokollat vaativat käyttöönsä portteja, joita ilman käyttö on mahdotonta. Portit kannattaakin avata palomuurista ja edelleenlähettää verkosta toiseen jos halutaan käyttää palveluita. Porttitiedot on kuvattu taulukossa 2. P rotokolla P ortit XDMCP UDP 177, TCP 6000 VNC TCP 5800-5900 SSH TCP 22 Taulukko 2: Protokollien porttivaatimukset 4.3 X:n verkkotehokkuus Työtä tehdessä tein erilaisia suorituskykymittauksia, kuten miten paljon erilaiset etätyötavat kuluttavat verkkoresursseja. Tein testit käyttämällä bwm- ja vnstat-ohjelmia, joista ensinmäinen mittaa verkon käyttöä (kb/s) ja jälkimäinen siirtyneen datan määrää. Suuntaa antavat tulokset voi löytää taulukosta 3. Tulokset olivat sitä luokkaa, mitä odottikin. Koska SSH:n kautta ei tarvitse piirtää koko työpöytää, vaan ainoastaan yhtä ohjelmaa niin luonnollisesti kaistankäyttö on sen mukaista. VNC taas joutuu siirtämään kaiken sen, mikä täytyy piirtää uudelleen, joten siirtomäärät ovat suurikokoisia. Lisäksi, koska palvelin joutuu salaamaan kaiken liikenteen SSH:n kautta niin prosessorin käyttöastekin hypähtelee. VNC:n hyviä puolia ovat ehdottomasti se, ettei verkon katkokset haittaa lainkaan etätyöpöytää. SSH:n poikki meneminen pelkällä X11-protokollalla aiheuttaa tietojen häviämisen. 14

etyhteys lhtevtbitit tulevatbitit muuta XDMCP (idle) 0.1 kb/s 0.5kb/s yhteyden aloituksessa huima määrä liikennettä ( 12MB) XDMCP (rasitus) 100kb/s 40kb/s siirtyvän datan määrä riippuu siitä, kuinka ruudulla on päivitettävää SSH (xeyes) 5kb/s 5kb/s pieni ohjelma ei tunnu vaativat edes rasituksessa tämän enempää kaistaa SSH (gedit) 100kb/s 15kb/s nappuloiden painaminen ja uusien ikkunoiden avaaminen lisäsivät kaistan tarvetta tällä tavoin hetkellisesti. Muuten kaistantarve hyvin vähäistä. VNC (oletus) - - samaa luokkaa edellisen SSH:n tuloksen kanssa, tässä käytössä kuitenkin koko työpöytä 640x480-resoluutiolla ja 8-bittisillä väreillä. VNC (1280x1024) - - Kun koko ruutua joudutaan päivittämään tällä resoluutiolla, voi kaistantarve nousta hetkellisesti jopa 2Mb/s. Taulukko 3: Suorituskyky käyttäjän puolella 15

5 IKKUNAMANAGERIT JA TYÖPÖYTÄYMPÄRISTÖT X:lle on vuosien saatossa kehitetty kymmeniä ikkunamanagereita. Ikkunamanagerilla tarkoitetaan ohjelmaa, joka nimensä mukaisesti hallitsee ikkunoita. Ikkunamanageri sanelee käyttäjälle, miten se voi ikkunoita käsitellä. Ikkunamanageri päättää mm. siitä miten ikkunoiden kokoa muutellaan tai ikkunoita sijoitellaan. Ikkunamanageri on myös tärkeä osa käytettävyyttä, koska se voi esimerkiksi näyttää ikkunan otsikossa, että mikä ikkuna on parhaillaan valittuna. [1] Ikkunamanagerit lisäävät "reunukset"ikkunoille ja lisäävät painikkeet, kuten kaikille tutut pienennä, suurenna ja sulje. Ikkunamanagerit voivat sisältää myös muita pieniä ohjelmia, kuten sivuttajia (pager) tai tehtäväpalkin. Ikkunamanagerit muuttuvat työpöytäympäristöiksi, kun ikkunamanagerin ympärille rakennettu järjestelmä on tarpeeksi suuri ja jokainen osa on suunniteltu tämän käyttöliittymän ympärille. Työpöytäympäristöt siis sisältävät suuria määriä ohjelmia, jotka ovat yhteneväisiä ja tiukasti sidottuna yhteen. Näitä ohjelmia ovat mm. tekstieditori, videosoitin, äänisoitin, CD-poltin, kuvankatselin, toimistotyökalut ja web-selain. Esimerkkeinä Ikkunamanagereista voidaan pitää mm. fluxbox ja icewm, joiden oletusulkoasut ovat esitetty kuvassa 2. Kuva 2: Ikkunamanagereita: Fluxbox ja Icewm Parhaillaan on toteutettu kolme eri avoimen lähdekoodin työpöytäympäristöä. Nämä työpöytäympäristöt ovat XFCE, KDE ja Gnome. KDE:n ja Gnomen ulkoasua on esitetty kuvassa 3. Yhteistä näille kolmelle työpöytäympäristölle on se, että jokaisella on oma tiedostoselain, ikkunamanageri, tiedostojen purkaja ja sekalainen määrä muita ohjelmia, joilla jokaisel- 16

Kuva 3: Työpöytäympäristöjä: KDE ja Gnome la voidaan tehdä samat asiat. Käytännössä sama ohjelma on toteutettu, joka ympäristölle erikseen. Erot näiden työpöytäympäristöjen välillä löytyvät pääosin käyttöliittymän ja niiden pohjalla käytetyn työkalupakin (toolkit) osalta. XFCE ja Gnome käyttävät graafisen käyttöliittymän luomiseen GTK:ta ja KDE käyttää Trolltech-yrityksen kehittelemää Qt:tä. 17

LÄHTEET [1] Reiss L., Radin J. X Window Inside and Out. ISBN 0-07-881796-X [2] Wikipedia the Free Encyclopedia. X Window System. [Verkkojulkaisu]. Saatavilla: http://en.wikipedia.org/wiki/x_window http://www.terena.org/activities/multiling/ml-mua/test/kbd-all.h 18

LIITTEET Liitteissä ei ole kuin xorg.conf:in tuloste Debian-tietokoneilta. # /etc/x11/xorg.conf (xorg X Window System server configuration file) # # This file was generated by dexconf, the Debian X Configuration tool, using # values from the debconf database. # # Edit this file with caution, and see the /etc/x11/xorg.conf manual page. # (Type "man /etc/x11/xorg.conf" at the shell prompt.) # # This file is automatically updated on xserver-xorg package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xorg # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "Files" FontPath "/usr/share/x11/fonts/misc" FontPath "/usr/share/x11/fonts/cyrillic" FontPath "/usr/share/x11/fonts/100dpi/:unscaled" FontPath "/usr/share/x11/fonts/75dpi/:unscaled" FontPath "/usr/share/x11/fonts/type1" FontPath "/usr/share/x11/fonts/100dpi" FontPath "/usr/share/x11/fonts/75dpi" FontPath "/usr/share/fonts/x11/misc" # path to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/truetype" Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "type1" Load "vbe" Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "fi" Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" Section "Device" Identifier "Configured Video Card" Driver "i810" BusID "PCI:2:0:0" 19

Section "Monitor" Identifier Option "Configured Monitor" "DPMS" Section "Screen" Identifier "Default Screen" Device "Configured Video Card" Monitor "Configured Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" EndSubSection SubSection "Display" Depth 4 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" SubSection "Display" Depth 15 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480" EndSubSection Section "ServerLayout" Identifier Screen InputDevice InputDevice "Default Layout" "Default Screen" "Generic Keyboard" "Configured Mouse" Section "DRI" Mode 0666 20