Ero sivun ”Virtuaalikonsoli” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(tätäkin saa tuunata)
 
(pientä lisäinfoa)
Rivi 1: Rivi 1:
Virtuaalikonsolilla tarkoitetaan Linuxissa näytön ja näppäimistön yhdistelmää, joka toimii järjestelmän konsolina. Useimmiten virtuaalikonsoleita on käynnissä useita, josta virtuaalisuus termiin tulee. Eri virtuaalikonsolien välillä voi liikkua <tt>alt-fN</tt>-näppäinyhdistelmällä. Virtuaalikonsolit löytyvät Linuxissa [[laitetiedostot|laitetiedosto]]ina siten että ensimmäinen on <tt>/dev/tty0</tt>.
Linux/Unix-järjestelmissä (järjestelmä)[[konsoli]] eli näytön ja näppäimistön yhdistelmä on jaettu useaan eri virtuaalikonsoliin. Virtuaalikonsolit toimivat kukin eräänlaisina omina työtiloinaan, joissa voidaan ajaa ohjelmia riippumatta siitä, mitä toisissa virtuaalikonsoleissa on ajossa. Tämä on suuri etu verrattuna esimerkiksi Windows/DOS-järjestelmiin, joissa käytössä ei ole kuin järjestelmäkonsoli, eikä edusta-ajossa voi olla kuin yksi ohjelma kerrallaan. Unixissa järjestelmäkonsoli seuraa kulloinkin käytössä olevaa virtuaalikonsolia, johon näyttö- ja syötelaitteet (yleensä näyttö ja näppäimistö) ovat kytköksissä ja johon myös järjestelmänlaajuiset virheilmoitukset tulostuvat.
 
Linuxissa virtuaalikonsolit 1-6 ovat yleensä tekstipohjaisessa käytössä ja niihin on käynnistetty jokin [[getty]]-ohjelma odottamaan käyttäjän sisäänkirjautumista. [[X Window System]] käynnistyy oletuksena virtuaalikonsoliin 7, joten jos järjestelmässä on käytössä jokin graafinen sisäänkirjautumisohjelma ([[display manager]]) niin käynnistyksen jälkeen kone on yleensä tässä virtuaalikonsolissa. Muussa tapauksessa oletusvirtuaalikonsoli on 1. Virtuaalikonsolien määrä ei kuitenkaan ole rajoitettu näihin seitsemään, vaan niitä voi käynnistää lisää aina 63:een saakka.
 
Virtuaalikonsolista toiseen siirrytään näppäinyhdistelmällä <tt>Alt+F?</tt> (esimerkiksi <tt>Alt+F1</tt> tai <tt>Alt+F9</tt>) tai näppäinyhdistelmällä <tt>Alt+sivunuolinäppäin</tt>. Myös komentoa [[chvt]] voi käyttää. Nämä näppäinyhdistelmät eivät kuitenkaan päde [[X]]:ssä, jossa virtuaalikonsolista toiseen siirtymiseen on käytettävä näppäinyhdistelmää <tt>Ctrl+Alt+F?</tt> (esimerkiksi <tt>Ctrl+Alt+F6</tt>).
 
==Laitetiedostot==
Virtuaalikonsolien [[laitetiedosto]]t ovat muotoa <tt>/dev/ttyX</tt> (joissakin järjestelmissä myös <tt>/dev/vc/X</tt>), jossa X on numero väliltä 0-63. Virtuaalikonsoli 0 viittaa aina kulloinkin aktiiviseen virtuaalikonsoliin, joten se toimii käytännössä samoin kuin (järjestelmä)konsolin laitetiedosto <tt>/dev/console</tt>. Normaalit virtuaalikonsolit ovat aina sen käyttäjän omistuksessa, joka omistaa niissä ajettavan ohjelman. Virtuaalikonsolien määrän rajoitus 63:een on [[ydin|ytimen]] sisäinen asetus.
 
==Uusien virtuaalikonsolien varaaminen==
Jos kuusi [[getty]]n sisältävää virtuaaliterminaalia loppuvat kesken, voi uusia käynnistää komennolla [[openvt]] (vanhemmissa järjestelmissä nimellä ''open''):
openvt -c 8 /sbin/[[agetty]] 38400 tty8 linux
Tässä käynnistetään agetty-niminen getty-ohjelma virtuaalikonsoliin 8. Agetty on yleiskäyttöinen getty-ohjelma, jonka voi laittaa vahtimaan niin virtuaalikonsolia kuin [[sarjaterminaali]]a tai modeemilinjaakin. Kaikki jakelut eivät käytä agettya oletus-gettynään. Esimerkiksi [[Fedora]]n käyttäjät todennäköisesti mieluummin komentaisivat
openvt -c 8 /sbin/[[mingetty]] tty8
Openvt:llä voi myös käynnistää muitakin ohjelmia kuin gettyjä, esimerkiksi seuraava käynnistäisi [[vim]]-[[tekstieditori]]n ensimmäiseen vapaaseen virtuaalikonsoliin:
openvt /usr/bin/vim
Virtuaalikonsolien pysyvämpään varaamiseen esimerkiksi gettyä varten käytetään [[init]]in [[asetustiedosto]]a /etc/[[inittab]]. Jos inittabista löytyy entiseltään esimerkiksi rivit
c1:2345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux
lisätään tällöin yksinkertaisesti rivi
c7:2345:respawn:/sbin/agetty 38400 tty7 linux
mikäli halutaan 7:een virtuaaliterminaaliin getty. Tällöin mahdollisesti avattavat X-istunnot siirtyvät käyttämään virtuaaliterminaalia 8, joka on ensimmäinen vapaa virtuaalikonsoli. Rivin ensimmäinen sarake määrittää toiminnon kohteen. Tässä esimerkiksi c30 olisi kolmaskymmenes virtuaalikonsoli ja s1 ensimmäinen sarjaporttilinja. Toisessa sarakkeessa määritellään [[ajotaso]]t, joissa toiminto suoritetaan, tässä tapauksessa 2, 3, 4 ja 5. Kolmas sarake määrittää, miten ja milloin toiminto pitää suorittaa. <tt>respawn</tt> tarkoittaa, että prosessi suoritetaan välittömästi uudelleen sen suorituksen päätyttyä. <tt>once</tt> aiheuttaisi suorittamisen vain kerran. Neljännessä sarakkeessa määritellään ajettava ohjelma valitsimineen (ohjelman koko polku määriteltävä). Agettylle on määritelty yhteyden baudimäärä (signaalinmuutosten määrä sekunnissa), käytettävä virtuaalikonsoli ilman <tt>/dev/</tt>-osaa sekä käytettävä [[terminaalityyppi]]. Pelkästään virtuaalikonsolikäyttöön tehdyt gettyt eivät yleensä vaadi muuta määrettä kuin käytettävän virtuaalikonsolin nimen.
 
==X ja virtuaalikonsolit==
[[X]] käynnistyy oletuksena ensimmäiseen vapaaseen virtuaalikonsoliin. Jos halutaan käynnistää useampia eri X-istuntoja eri virtuaalikonsoleihin, on huomioitava X-palvelimen oma [[display]]-asetus. Ensimmäisen käynnistetyn X-istunnon display-numero on 0, mutta sitä seuraaville istunnoille se on määriteltävä erikseen. Esimerkiksi jos seitsemännessä virtuaalikonsolissa on käynnissä X:n display numero 0, niin 8:een virtuaalikonsoliin haluttavalle uudelle X-istunnolle on annettava jokin toinen numero, kuten 1 tai 42, jotta X-palvelin voi erottaa nämä istunnot toisistaan ja niihin voidaan järkevästi viitata. [[Startx]]-komennon kanssa display-numero määritellään seuraavasti:
startx -- :1
myös seuraava, käytettävän näytön numeron (tässä ensimmäinen näyttö) määrittelevä syntaksi on mahdollinen:
startx -- 0:1
[[Xinit]]-komento tottelee samaa syntaksia. Puhtaan X:n ilman ohjelmia käynnistävä <tt>X</tt>-komento ei sen sijaan tarvitse kahta viivaa (--):
X :1 -query [[XDMCP|xdmcp]].firma.fi
 
==Katso myös==
*[[Konsoli]]
*[[Terminaaliemulaattori]]
*[[Sarjaterminaali]]
*[[Komentorivin perusteet]]


[[Luokka:Komentorivi]]
[[Luokka:Komentorivi]]
[[Luokka:Käsitteet]]
[[Luokka:Käsitteet]]

Versio 23. syyskuuta 2007 kello 04.46

Linux/Unix-järjestelmissä (järjestelmä)konsoli eli näytön ja näppäimistön yhdistelmä on jaettu useaan eri virtuaalikonsoliin. Virtuaalikonsolit toimivat kukin eräänlaisina omina työtiloinaan, joissa voidaan ajaa ohjelmia riippumatta siitä, mitä toisissa virtuaalikonsoleissa on ajossa. Tämä on suuri etu verrattuna esimerkiksi Windows/DOS-järjestelmiin, joissa käytössä ei ole kuin järjestelmäkonsoli, eikä edusta-ajossa voi olla kuin yksi ohjelma kerrallaan. Unixissa järjestelmäkonsoli seuraa kulloinkin käytössä olevaa virtuaalikonsolia, johon näyttö- ja syötelaitteet (yleensä näyttö ja näppäimistö) ovat kytköksissä ja johon myös järjestelmänlaajuiset virheilmoitukset tulostuvat.

Linuxissa virtuaalikonsolit 1-6 ovat yleensä tekstipohjaisessa käytössä ja niihin on käynnistetty jokin getty-ohjelma odottamaan käyttäjän sisäänkirjautumista. X Window System käynnistyy oletuksena virtuaalikonsoliin 7, joten jos järjestelmässä on käytössä jokin graafinen sisäänkirjautumisohjelma (display manager) niin käynnistyksen jälkeen kone on yleensä tässä virtuaalikonsolissa. Muussa tapauksessa oletusvirtuaalikonsoli on 1. Virtuaalikonsolien määrä ei kuitenkaan ole rajoitettu näihin seitsemään, vaan niitä voi käynnistää lisää aina 63:een saakka.

Virtuaalikonsolista toiseen siirrytään näppäinyhdistelmällä Alt+F? (esimerkiksi Alt+F1 tai Alt+F9) tai näppäinyhdistelmällä Alt+sivunuolinäppäin. Myös komentoa chvt voi käyttää. Nämä näppäinyhdistelmät eivät kuitenkaan päde X:ssä, jossa virtuaalikonsolista toiseen siirtymiseen on käytettävä näppäinyhdistelmää Ctrl+Alt+F? (esimerkiksi Ctrl+Alt+F6).

Laitetiedostot

Virtuaalikonsolien laitetiedostot ovat muotoa /dev/ttyX (joissakin järjestelmissä myös /dev/vc/X), jossa X on numero väliltä 0-63. Virtuaalikonsoli 0 viittaa aina kulloinkin aktiiviseen virtuaalikonsoliin, joten se toimii käytännössä samoin kuin (järjestelmä)konsolin laitetiedosto /dev/console. Normaalit virtuaalikonsolit ovat aina sen käyttäjän omistuksessa, joka omistaa niissä ajettavan ohjelman. Virtuaalikonsolien määrän rajoitus 63:een on ytimen sisäinen asetus.

Uusien virtuaalikonsolien varaaminen

Jos kuusi gettyn sisältävää virtuaaliterminaalia loppuvat kesken, voi uusia käynnistää komennolla openvt (vanhemmissa järjestelmissä nimellä open):

openvt -c 8 /sbin/agetty 38400 tty8 linux

Tässä käynnistetään agetty-niminen getty-ohjelma virtuaalikonsoliin 8. Agetty on yleiskäyttöinen getty-ohjelma, jonka voi laittaa vahtimaan niin virtuaalikonsolia kuin sarjaterminaalia tai modeemilinjaakin. Kaikki jakelut eivät käytä agettya oletus-gettynään. Esimerkiksi Fedoran käyttäjät todennäköisesti mieluummin komentaisivat

openvt -c 8 /sbin/mingetty tty8

Openvt:llä voi myös käynnistää muitakin ohjelmia kuin gettyjä, esimerkiksi seuraava käynnistäisi vim-tekstieditorin ensimmäiseen vapaaseen virtuaalikonsoliin:

openvt /usr/bin/vim

Virtuaalikonsolien pysyvämpään varaamiseen esimerkiksi gettyä varten käytetään initin asetustiedostoa /etc/inittab. Jos inittabista löytyy entiseltään esimerkiksi rivit

c1:2345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

lisätään tällöin yksinkertaisesti rivi

c7:2345:respawn:/sbin/agetty 38400 tty7 linux

mikäli halutaan 7:een virtuaaliterminaaliin getty. Tällöin mahdollisesti avattavat X-istunnot siirtyvät käyttämään virtuaaliterminaalia 8, joka on ensimmäinen vapaa virtuaalikonsoli. Rivin ensimmäinen sarake määrittää toiminnon kohteen. Tässä esimerkiksi c30 olisi kolmaskymmenes virtuaalikonsoli ja s1 ensimmäinen sarjaporttilinja. Toisessa sarakkeessa määritellään ajotasot, joissa toiminto suoritetaan, tässä tapauksessa 2, 3, 4 ja 5. Kolmas sarake määrittää, miten ja milloin toiminto pitää suorittaa. respawn tarkoittaa, että prosessi suoritetaan välittömästi uudelleen sen suorituksen päätyttyä. once aiheuttaisi suorittamisen vain kerran. Neljännessä sarakkeessa määritellään ajettava ohjelma valitsimineen (ohjelman koko polku määriteltävä). Agettylle on määritelty yhteyden baudimäärä (signaalinmuutosten määrä sekunnissa), käytettävä virtuaalikonsoli ilman /dev/-osaa sekä käytettävä terminaalityyppi. Pelkästään virtuaalikonsolikäyttöön tehdyt gettyt eivät yleensä vaadi muuta määrettä kuin käytettävän virtuaalikonsolin nimen.

X ja virtuaalikonsolit

X käynnistyy oletuksena ensimmäiseen vapaaseen virtuaalikonsoliin. Jos halutaan käynnistää useampia eri X-istuntoja eri virtuaalikonsoleihin, on huomioitava X-palvelimen oma display-asetus. Ensimmäisen käynnistetyn X-istunnon display-numero on 0, mutta sitä seuraaville istunnoille se on määriteltävä erikseen. Esimerkiksi jos seitsemännessä virtuaalikonsolissa on käynnissä X:n display numero 0, niin 8:een virtuaalikonsoliin haluttavalle uudelle X-istunnolle on annettava jokin toinen numero, kuten 1 tai 42, jotta X-palvelin voi erottaa nämä istunnot toisistaan ja niihin voidaan järkevästi viitata. Startx-komennon kanssa display-numero määritellään seuraavasti:

startx -- :1

myös seuraava, käytettävän näytön numeron (tässä ensimmäinen näyttö) määrittelevä syntaksi on mahdollinen:

startx -- 0:1

Xinit-komento tottelee samaa syntaksia. Puhtaan X:n ilman ohjelmia käynnistävä X-komento ei sen sijaan tarvitse kahta viivaa (--):

X :1 -query xdmcp.firma.fi

Katso myös