[OpenBSD]

[FAQ Index] [Naar Sectie 6 - Netwerken] [Naar Sectie 8 - Algemene Vragen]

7 - Toetsenbord en Scherm Bediening


Inhoudsopgave



7.1 - Hoe deel ik het toetsenbord opnieuw in? (wscons)

De meeste moderne OpenBSD platformen maken gebruik van de wscons(4) console driver.

Bij wscons(4) consoles kunnen de meeste opties gecontroleerd worden met de wsconsctl(8) utility. Om bijvoorbeeld van toetsenindeling te veranderen met wsconsctl(8) zou men het volgende uitvoeren:

# wsconsctl keyboard.encoding=uk

In het volgende voorbeeld zullen we "Caps Lock" herschikken naar "Control L" (de linker control-toets):

# wsconsctl keyboard.map+="keysym Caps_Lock = Control_L"

7.2 - Is er console muis ondersteuning in OpenBSD?

Voor de alpha, amd64 en i386 platformen voorziet OpenBSD wsmoused(8), een port van moused(8) uit FreeBSD. Deze kan automatisch ingeschakeld worden bij het starten door de juiste regel uit rc.conf te kopiëren naar rc.conf.local(8) en deze aan te passen.

7.3 - Toegang tot de Console Scrollback Buffer (amd64, i386, sommige Alpha)

Op enkele platformen voorziet OpenBSD een console scrollback buffer. Deze laat u toe om informatie te zien die al voorbij uw scherm gescrollt is. Om naar omhoog en naar beneden te bewegen in de buffer gebruikt u de toetsencombinaties [SHIFT]+[PGUP] en [SHIFT]+[PGDN].

De standaard scrollback buffer, met name het aantal pagina's dat u omhoog kan bewegen en bekijken, is 8. Dit is een functionaliteit van de vga(4) driver, dus het zal niet werken zonder VGA kaart op gelijk welk platform (veel Alpha systemen hebben TGA video).

Door plaatsbeperking bevatten de installatiekernels de scrollbackfunctie niet. Van console veranderen zal de scrollbackbuffer leegmaken.

7.4 - Hoe verander ik van console? (amd64, i386, Zaurus, sommige Alpha)

Op amd64, i386 en Alpha systemen met vga(4) kaarten voorziet OpenBSD standaard zes virtuele terminals, /dev/ttyC0 tot en met /dev/ttyC5. ttyC4 is gereserveerd voor gebruik door het X Window systeem, waardoor vijf tekstconsoles overblijven. U kan hiertussen omschakelen met [CTRL]+[ALT]+[F1], [CTRL]+[ALT]+[F2], [CTRL]+[ALT]+[F3], [CTRL]+[ALT]+[F4] en [CTRL]+[ALT]+[F6].

De X omgeving gebruikt ttyC4, [CTRL]+[ALT]+[F5]. Wanneer u X gebruikt, zullen de [CTRL]+[ALT]+[Fn] toetsen u naar de tekstschermen brengen; [CTRL]+[ALT]+[F5] zal u terug naar de grafische omgeving brengen.

Als u meer dan het standaardaantal virtuele consoles wenst, gebruik dan het wsconscfg(8) commando om schermen te maken voor ttyC6, ttyC7 en hoger. Bijvoorbeeld:

wsconscfg -t 80x25 6
zal een virtuele terminal maken voor ttyC6, toegankelijk met [CTRL]+[ALT]+[F7]. Vergeet niet om dit commando toe te voegen aan uw rc.local(8) bestand als u het extra scherm ook wil wanneer u de computer de volgende keer opstart.

Merk op dat u geen "login:" prompt krijgt op de zojuist gecreëerde virtuele console tenzij u deze op "on" zet in /etc/ttys(5), en ofwel herstart ofwel met init(8) een HUP signaal stuurt naar kill(1).

Op de Zaurus zijn standaard twee virtuele terminals (/dev/ttyC0 en /dev/ttyC1) beschikbaar, toegankelijk met [ALT]+[CALENDAR] en [ALT]+[ADDRESS] (De [ALT] toets bevindt zich rechts van de linker [CTRL] toets).

7.5 - Hoe gebruik ik een console resolutie van 80x50? (amd64, i386, sommige Alpha)

amd64, i386 en VGA Alpha gebruikers krijgen normaal een console scherm met 25 lijnen van 80 tekens. Veel VGA videokaarten kunnen echter een hogere tekstresolutie weergeven met 50 lijnen van 80 tekens.

Ten eerste moet er een lettertype dat de gewenste resolutie ondersteunt, geladen worden met het wsfontload(8) commando. Het standaard 80x25 tekstscherm gebruikt 8x16 pixel lettertypes; om het aantal lijnen te verdubbelen zullen we 8x8 pixel lettertypes moeten gebruiken.

Daarna zullen we een virtuele console moeten verwijderen en opnieuw aanmaken op de gewenste schermresolutie, met het wsconscfg(8) commando.

Dit kan automatisch gedaan worden bij het starten door de volgende lijnen aan het einde van uw rc.local(8) bestand toe te voegen:

wsfontload -h 8 -e ibm /usr/share/misc/pcvtfonts/vt220l.808
wsconscfg -dF 5
wsconscfg -t 80x50 5
Zoals met gelijk welke wijziging aan uw systeemconfiguratie is het aan te raden om wat tijd door te brengen met de man pagina's om te begrijpen wat deze commando's doen.

De eerste lijn hierboven laadt het 8x8 lettertype. De tweede lijn verwijdert scherm 5 (dat toegankelijk zou zijn met [CTRL]+[ALT]+[F6]). De derde lijn creëert een nieuw scherm 5 met 50 lijnen van elk 80 tekens. Als u dit doet, zal u uw primair scherm, en de andere drie standaard virtuele consoles zien verschijnen in de standaard 80x25 modus, maar ook een nieuw scherm 5 bij 80x50, toegankelijk via [CTRL]+[ALT]+[F6].

Onthou dat [CTRL]+[ALT]+[F1] scherm 0 (ttyC0) is. Als u andere schermen wil aanpassen, herhaal dan gewoon de stappen om een scherm te verwijderen en toe te voegen voor nog andere schermen die u bij de 80x50 resolutie wil draaien.

U vermijdt best het aanpassen van scherm 4 (ttyC4, [CTRL]+[ALT]+[F5]), dat door X gebruikt wordt als een grafisch scherm. Het is ook niet mogelijk om de resolutie van het primaire console device (dus ttyC0) te veranderen.

Zoals men kon verwachten kunnen al deze commando's ook ingegeven worden op de commandoprompt, als root, of (beter nog) met sudo(8).

Opmerking: dit zal niet met alle videokaarten werken. Jammer genoeg ondersteunen niet alle videokaarten de lettertypes die wscons(4) vereist om de 80x50 tekstmodus te bekomen. In deze gevallen kan u misschien overwegen om X te gebruiken.

7.6 - Hoe gebruik ik een seriële console?

Er zijn veel redenen waarom u misschien een seriële console voor uw OpenBSD systeem wil gebruiken: OpenBSD ondersteunt seriële console op de meeste platformen, details variëren echter aanzienlijk tussen de platformen.

Merk op dat seriële interfacing geen triviale taak is -- u zal vaak ongebruikelijke kabels nodig hebben, en de poorten zijn niet gestandaardiseerd tussen machines, in sommige gevallen zelfs niet consistent op één machine. Er wordt verondersteld dat u weet hoe u de gepaste kabel selecteert om uw computer en het toestel dat u gebruikt als seriële terminal met elkaar te verbinden. Een volledige tutorial over seriële interfacing valt buiten het bestek van dit artikel, maar we bieden één hint: het is niet omdat de uiteinden passen, dat het ook zal werken.

/etc/ttys wijziging

Er zijn twee delen om een werkende seriële console te bekomen op een OpenBSD systeem. Ten eerste moet u OpenBSD uw seriële poort laten gebruiken voor status en single user modus. Dit deel is heel platformafhankelijk. Ten tweede moet u de seriële poort inschakelen om gebruikt te worden als een interactieve terminal, zodat een gebruiker erop kan inloggen als het systeem in multi-user draait. Dit deel is vrij gelijkaardig tussen de platformen, en wordt hier in detail besproken.

Terminal sessies worden gecontroleerd door het /etc/ttys bestand. Alvorens OpenBSD u een "login:" prompt zal geven op een device, moet dit ingeschakeld worden in /etc/ttys, er zijn tenslotte andere gebruiken voor een seriële poort dan een terminal. Op platformen waaraan typisch een toetsenbord en scherm hangen als console, wordt de seriële terminal typisch standaard uitgeschakeld. We zullen het i386 platform als voorbeeld gebruiken. In dit geval moet u de volgende lijn aanpassen

     tty00   "/usr/libexec/getty std.9600"   unknown off
ongeveer als volgt:
     tty00   "/usr/libexec/getty std.9600"   vt220   on secure
Hier is tty00 de seriële poort die we als console gebruiken. vt220 is de termcap(5) entry die overeenstemt met UW terminal (andere mogelijkheden zijn o.a. vt100, xterm, enz.). De "on" activeert de getty voor die seriële poort zodat een "login:" prompt vertoond zal worden, de "secure" laat een root (uid 0) login via deze console toe (wat al dan niet is wat u wenst), en de "9600" is de terminal baudsnelheid. Weersta de drang om de baudsnelheid op te drijven tot het maximum dat uw hardware kan ondersteunen, aangezien u waarschijnlijk eerder problemen zal creëren dan er voordeel uit halen. De meeste systemen hebben een "standaard" snelheid (standaard ondersteund door het boot ROM en/of de boot loader, vaak 9600), gebruik dit tenzij u een echte reden hebt om iets anders te gebruiken.

Merk op dat u een seriële console kan gebruiken voor de installatie zonder deze stap uit te voeren, aangezien het systeem dan in single user modus draait en geen getty gebruikt voor login.

Op sommige platformen en sommige configuraties moet u het systeem naar single user modus brengen om deze verandering door te voeren als een seriële console het enige is dat u ter beschikking hebt.

amd64 en i386

Om het boot proces op te dragen om de seriële poort te gebruiken als console, creëert of bewerkt u uw /etc/boot.conf bestand zodat het de volgende lijn bevat:
     set tty com0
om de eerste seriële poort als uw console te gebruiken. De standaard baud rate is 9600bps, dit kan veranderd worden met een /etc/boot.conf lijn door de stty optie te gebruiken. Dit bestand wordt op uw boot schijf geplaatst, die ook uw installatiediskette zou kunnen zijn, of het commando kan op de boot> van de OpenBSD second-stage boot loader ingegeven worden voor een eenmalig (of eerste) gebruik van de seriële console.

amd64 en i386 opmerkingen:

SPARC en UltraSPARC

Deze machines zijn ontworpen om volledig onderhoudbaar te zijn met een seriële console. Haal gewoon het toetsenbord weg van de machine, en het systeem zal serieel draaien.

SPARC en UltraSPARC opmerkingen

MacPPC

De MacPPC machines zijn geconfigureerd voor een seriële console via OpenFirmware. Gebruik de commando's:
     ok setenv output-device scca
     ok setenv input-device scca
     ok reset-all
 
Stel uw seriële console in op 57600bps, 8N1.

MacPPC opmerkingen

Mac68k

Seriële console wordt geselecteerd in het Booter programma, onder het "Options" pull-down menu, vervolgens "Serial Ports". Druk op de "Serial Console" knop, en kies dan de Modem of Printer poort. U zal een Macintosh modem of printerkabel nodig hebben om te verbinden met de seriële poorten van de Mac. Als u dit als standaardinstelling wenst, zeg het Booter programma dan om uw opties te bewaren.

Mac68k Opmerkingen

7.7 - Hoe verhul ik mijn console? (wscons)

Als u uw console wenst te verhullen na een periode van inactiviteit zonder X te gebruiken, kan u de volgende wscons(4) variabelen aanpassen: U kan deze variabelen op de commandolijn instellen met het wsconsctl(8) commando:
     # wsconsctl display.screen_off=60000
     display.screen_off -> 60000
of ze blijvend instellen door /etc/wsconsctl.conf aan te passen zodat deze wijzigingen plaatsvinden bij de volgende start:
     display.vblank=on               # enable vertical sync blank
     display.screen_off=600000       # set screen blank timeout to 10 minutes
     display.kbdact=on               # Restore screen on keyboard input
     display.outact=off              # Restore screen on display output
De verhuller wordt geactiveerd wanneer ofwel display.kbdact ofwel display.outact op "on" is ingesteld.

7.8 - AL WAT IK TYP OP DE LOGIN PROMPT STAAT IN HOOFDLETTERS!

Dit is eigenlijk een functionaliteit, geen bug.

Praktisch alle Unix commando's en gebruikersnamen worden ingegeven met alleen kleine letters. Sommige heel oude terminals konden echter alleen hoofdletters weergeven, wat het moeilijk maakt, zoniet onmogelijk, om ze met Unix te gebruiken. Als oplossing, als u uw gebruikersnaam volledig in hoofdletters ingaf, zou getty(8) veronderstellen dat uw terminal "lowercase challenged" is, en gewoon al wat u typt als kleine letters interpreteren, maar toch als hoofdletters weergeven. Als u een wachtwoord met zowel hoofdletters als kleine letters of met enkel hoofdletters hebt, zal dit inloggen onmogelijk maken.

CTRL-D duwen op de login prompt zal ervoor zorgen dat getty(8) afgesloten wordt, en init(8) zal er een nieuwe opstarten, die hoofdletters en kleine letters aanvaardt zoals het hoort.

7.9 - Wat is tmux?

Voor degenen die bekend zijn met het "screen"-programma, beschikbaar als package, of window(1) dat in base zat, is deze vraag het makkelijkst te beantwoorden door te zeggen dat tmux(1) veel van de functies van screen en window combineert, met veel extra mogelijkheden.

Voor degenen die niet bekend zijn met deze programma's, tmux is een terminal multiplexer. Dat is een programma dat het mogelijk maakt om een aantal processen hetzelfde scherm te laten delen voor invoer en uitvoer. In tmux is een dergelijke verzameling programma's bekend als een sessie, waarbij ieder programma in een tmux window zit.

Naast het delen van de terminal, laat tmux u een sessie verlaten, waarbij de windows van het scherm verdwijnen en doordraaien op de achtergrond. U kunt later vanaf dezelfde of vanaf een andere terminal weer verbinding maken. Een sessie kan handmatig verlaten worden of door een onverwachte gebeurtenis als een netwerkonderbreking. In beide gevallen zullen de programma's dit overleven en normaal doordraaien.

tmux heeft ook vele andere mogelijkheden zoals het opsliten van een enkel window in meerdere delen (panes genaamd), een historie van de tekst die in ieder window is afgedrukt, kopiëren en plakken tussen windows, configureerbare toetsen en het blokkeren van de terminal. Kijk naar de tmux(1) man page voor meer informatie.

Hoe gebruik ik tmux?

De eerste stap is om tmux te starten:

$ tmux

Dit start een nieuwe tmux met een enkele nieuwe sessie (genaamd "0") en creëert een client die het op het scherm afbeeldt. Het grootste deel van het scherm zal een venster laten zien met een shell prompt en u zult zien dat de onderste regel wordt bezet een een statusregel. Deze laat de naam van de sessie in vierkante haken aan de linkerzijde zien, de titel van het window (normaliter leeg voor shells) en de tijd aan de rechterzijde en een samenvatting van overige openstaande windows in het midden. In uw nieuwe sessie zal het huidige openstaande window één item bevatten, bijvoorbeeld:

0:ksh*

Een korte zijsprong betreffende terminals: in OpenBSD worden applicaties op de hoogte gebracht van de mogelijkheden van de terminal via de TERM omgevingsvariabele. Deze wordt ingesteld op een ingang in de terminfo(5) database en vertelt programma's dat de terminal, bijvoorbeeld, kleur ondersteunt, of de mogelijkheid heeft om regels in te voegen en nog veel meer. Belangrijk om op te merken is dat de "xterm"-ingang in de database geen kleur ondersteunt, dus tmux zal standaard geen kleur gebruiken. TERM zou op "xterm-xfree86" ingesteld moeten worden als kleur gewenst is (de "XTerm*termName" X resource kan worden gebruikt in .Xdefaults om dit bij alle xterms in te stellen). Het is ook belangrijk te melden dat TERM in shells die binnen tmux worden gestart, is ingesteld op "screen" anders worden programma's die in de shell worden gestart niet goed afgebeeld - tmux stelt dit zelf in, maar let erop dat deze niet wordt overschreven in de startup file van de shell.

Terugkomend bij de statusregel, het getal "0" is de window-index, "ksh" de naam van het programma en de "*" geeft aan dat dit het window is dat nu wordt getoond boven de statusregel. Alle getypte tekens worden doorgegeven aan de shell en alle uitvoer wordt afgebeeld. Als u bijvoorbeeld "top" start:

$ top

Het draait als normaal en gebruikt het deel van het scherm boven de statusregel. Wellicht valt u op dat de naam van het window in de statusregel is gewijzigd van "ksh" naar "top" - tmux hernoemt windows om het programma weer te geven dat er momenteel in draait.

Laten we nu zeggen dat u tmux wilt verlaten om terug te keren naar de oorspronkelijke shell van waaruit u het gestart heeft. Een tmux-sessie kan worden verlaten door eerst de Ctrl en b toets samen in te drukken en daarna de d toets. De Ctrl-b toetscombinatie (in tmux en de man page afgekort tot "C-b") staat bekend als de prefix-toets en wordt gebruikt om tmux te vertellen dat de volgende toets die ingedrukt wordt een instructie is en dat een actie uitgevoerd moet worden, in plaats van de toets door te sturen naar het programma in het window.

Na het intoetsen van Ctrl-b d en het terugkeren naar de shell prompt, kunt u weer verbinding maken met de tmux-sessie met het "attach" commando:

$ tmux attach

De tmux-sessie zal weer verschijnen, met de statusregel en "top" nog steeds vrolijk draaiend. (Indien u in plaats hiervan tmux opnieuw start zonder argumenten, dan wordt een tweede sessie gestart, "1" genaamd.)

Laten we nu een tweede window creëren. Dit wordt gedaan met de "c"-toets: druk op op prefix-toets, Ctrl-b, daarna op de "c"-toets. Een nieuw window wordt gecreëerd en opnieuw wordt er een shell prompt op het scherm getoond. De statusregel wordt ververst om het nieuwe window te tonen:

0:top- 1:ksh*

De "-" na "top" geeft aan wat het vorige actieve window was (het laatste window). Door nogmaals op Ctrl-b c te drukken creëert u nog een nieuwe shell:

0:top  1:ksh- 2:ksh*

Er zijn diverse commando's om tussen windows te bewegen. Vanaf window 2 kunt u naar het vorige window, nummer 1, gaan door Ctrl-b p te toetsen. Ctrl-b n gaat naar het volgende window: in dit geval is er geen window 3 waardoor het huidige window verder gaat naar window 0. U kunt ook op Ctrl-b w drukken om een interactief menu van openstaande windows te krijgen, Ctrl-b l om naar het laatste window te gaan (degene gemarkeerd met "-") of Ctrl-b 0 om naar window 0 te gaan, Ctrl-b 1 om naar window 1 te gaan en zo verder tot Ctrl-b 9 voor window 9. Om dus terug te gaan naar "top" in window 0 kunt u op Ctrl-b 0 drukken om direct naar window 0 te gaan, tweemaal op Ctrl-b p drukken om via window 1 te gaan, Ctrl-b n gebruiken om om te lopen van window 2 naar window 0 of u drukt op Ctrl-b w en kiest window 0 uit de lijst.

Soms wilt u een window creëren dat direct een programma start, zonder eerst een shell te gebruiken. Dit kan worden gedaan vanaf de tmux commando prompt. Door op Ctrl-b : te drukken wijzigt de statusregel en toont een ":" prompt waar u commando's kunt invoeren. Alle tmux-commando's zijn gedocumenteerd in de man page. In dit geval is het "new-window" commando nodig. Ieder commando heeft een verkorte alias die kan worden gebruikt in plaats van het volledige commando. Voor "new-window" is dat "neww". Om dus een nieuw window te creëren dat tetris(6) draait, typt u:

neww tetris

Het nieuwe window wordt gesloten als tetris eindigt of het kan geforceerd worden gekilld met de Ctrl-b & toetscombinatie. Dit vraagt eerst om een bevestiging en, als deze wordt gegeven, sluit het window en sluit het programma af dat er in draait.

Een andere veelgevraagde eigenschap is het hernoemen van een window. Dit kan worden gedaan met de Ctrl-b , toetscombinatie. De statusregel verandert in een "(rename-window)" prompt waarop de nieuwe naam kan worden ingevoerd. Het hernoemen van een window schakelt het automatisch hernoemen uit voor dat window. Om deze eigenschap weer in te schakelen drukt u op Ctrl-b : voor de commando prompt en typ het volgende (de betekenis hiervan volgt in de volgende paragraaf):

setw -u automatic-rename

Een andere belangrijke toets om te onhouden: Ctrl-b ?. Dit laat een lijst van alle tmux-toetsen zien en de commando's die ze uitvoeren. Ctrl-b ? laat bijvoorbeeld zien dat de c toets is gekoppeld aan het "new-window" commando en de n toets aan het "next-window" command.

tmux configureren

Veel gebruikers willen het uiterlijk of gedrag van tmux aanpassen. Dit wordt gedaan met het configuratiebestand, ~/.tmux.conf. Dit bestand is een lijst van tmux-commando's die worden uitgevoerd wanneer tmux initieel wordt gestart, voordat de eerste sessie wordt gecreëerd. Alle tmux-commando's zijn gedocumenteerd in de man page, maar enkele veel gebruikte voorbeelden die u wellicht in uw configuratiebestand wilt zetten worden hieronder besproken.

De meeste gebruikte eigenschap is het instellen van opties. Er zijn twee soorten opties in tmux: sessie-opties en window-opties. Sessie-opties sturen het gedrag van een sessie en window-opties dat van een individueel window. Voor beide is er een set van globale opties. Als tmux moet beslissen over de waarde van een optie voor een bepaalde sessie of window, dan wordt eerst naar de lokale optie voor dat window gekeken; als deze optie niet is ingesteld, dan wordt de globale waarde gebruikt.

Sessie-opties worden ingesteld met het "set-option" (alias "set") commando en window-opties met het "set-window-option" commando (alias "setw"). Gebruik de "-g" vlag om een optie globaal in te stellen, als deze wordt weggelaten dan wordt de optie ingesteld voor de huidige window of sessie. Deze commando's accepteren ook enkele andere vlaggen, zoals "-u" om een lokale optie te verwijderen zodat een window of sessie de waarde van de globale optie verkrijgt.

Het is gebruikelijk om globale opties in te stellen in het configuratiebestand. Laten we enkele voorbeelden bekijken om de statusregel aan te passen:

set -g status-bg blue
set -g status-right '#(sysctl vm.loadavg)'
setw -g window-status-current-attr underscore

Met deze drie commando's in .tmux.conf en door tmux te herstarten, verandert de achtergrond van de statusregel naar blauw, wordt de huidige load aan de rechterzijde getoond en wordt het huidige window onderstreept. De statusregel kan geheel worden uitgeschakeld met:

set -g status off

Er zijn vele andere opties; een andere handige is om te wisselen naar vi(1)-stijl toetscombinaties op de commando prompt en in de window-lijst en andere interactieve tmux-modes:

set -g status-keys vi
setw -g mode-keys vi

De huidige opties en hun waarden kunnen worden getoond met de "show-options" en de "show-window-options" commando's. Net als de set-commando's accepteren deze "-g" om de globale opties te laten zien.

Een andere veelvoorkomende taak voor het configuratiebestand is om tmux-toetscombinaties toe te voegen of te wijzigen, dat zijn de command's die worden uitgevoerd na het indrukken van Ctrl-b en een andere toets. Deze worden toegevoegd of gewijzigd met het "bind-key" commando (alias "bind") en verwijderd met het "unbind-key" commando (alias "unbind"). Twee voorbeelden van het gebruik van "bind-key":

bind C-d detach
bind / neww 'exec top'

De eerste regel creëert een combinatie om met Ctrl-b Ctrl-d tmux te verlaten, net als met de standaard Ctrl-b d combinatie, en de tweede start een nieuw window met daarin top met Ctrl-b /.

Velen willen een andere prefix-toets dan Ctrl-b gebruiken. Dit kan worden bereikt met zowel het "set-option" commando als het toetscombinatie-commando om de prefix-toets optie aan te passen en om in te stellen dat tweemaal drukken op de prefix-toets zorgt voor het doorsturen van deze toets naar het window. Om de prefix-toets te wijzigen in Ctrl-a:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

De laatste zinvolle actie in het configuratiebestand is om een initiële set windows te creëren bij de start van tmux. Dit is iets gecompliceerder dan de vorige voorbeelden. In tmux kan een sessie niet geen windows hebben en je kunt geen windows creëren zonder een sessie. Om dus windows te creëren door het configuratiebestand, moet u eerst een sessie creëren om ze te kunnen omvatten. Bijvoorbeeld (merk op dat "new" het alias is voor het "new-session" commando):

new -d 'exec top'
neww -d
neww -d

Deze commando's creëren een nieuwe sessie met "top" draaiend in het eerste window en vervolgens twee extra windows. De "-d" vlag vertelt tmux om niet te proberen om te verbinden met de nieuwe sessie of om de nieuwe windows het huidige window te laten worden. Voordat u deze regels in .tmux.conf, is er nog iets anders. Als u tmux start zonder argumenten, dan wordt het "new-session" commando uitgevoerd. Dus als u tmux start vanaf de shell, dan vertelt het configuratiebestand tmux om een sessie te creëren, vervolgens vertelt het commando vanaf de shell om nog een sessie te creëren, dus eindigt u met twee sessies. Om dit te vermijden moet tmux worden gestart met "tmux attach" als u een sessie vanuit het configuratiebestand start - dit betekent dat de sessie uit .tmux.conf wordt gecreëerd en vervolgens direct wordt gekoppeld zonder een tweede sessie te creëren.

Gevorderd tmux-gebruik

Deze paragraaf behandelt in het kort enkele van de geavanveerde mogelijkheden van tmux. Zie de man page voor meer informatie.

In tmux kunt u tekst kopiëren en plakken tussen windows. Dit wordt gedaan door de tekst te kopiëren in copy mode en vervolgens te plakken met het plak-commando. Druk op Ctrl-b [ om copy mode te starten. In copy-mode (met de "mode-keys" window-optie ingesteld op emacs, zie de man page voor vi-keys), kunnen de pijltjes-toetsen worden gebruikt om de cursor te positioneren, Ctrl-Space start de selectie en Ctrl-w kopieert. U kunt ook Page Up, Page Down, Ctrl-a en Ctrl-e gebruiken om de cursor te verplaatsen. Druk op q of Escape om copy mode te verlaten. Druk hierna op Ctrl-b ] om de gekopieerde tekst in het huidige window te plakken alsof u de tekst direct had ingetypt.

tmux is goed te scripten en de meeste commando's die kunnen worden gegeven vanaf de commando prompt of gekoppeld zijn aan een toets kunnen worden uitgevoerd vanaf de shell. Vrijwel alle tmux-commando's accepteren een optioneel "-t" argument om te specificeren op welke sessie of welk window ze moeten werken. Dit commando bijvoorbeeld:

$ tmux kill-window -t0:1
killt window 1 in sessie 0. En:
$ tmux new-window -tmysession

Creëert een nieuw window in de sessie genaamd "mysession". Veel commando's accepteren andere argumenten, het "new-window" commando bijvoorbeeld accepteert een "-n" optie om de naam van het nieuwe window op te geven en "new-session" accepteert diverse argumenten om de attributen van het initiële window op te geven dat met de sessie wordt gecreëerd. Deze argumenten kunnen uiteraard ook worden gebruikt wanneer een commando is gekoppeld aan een toets of wordt uitgevoerd vanaf de commando prompt.

En andere zinvolle optie is de mogelijkheid om een enkel window op te splitsen in meerdere delen, zogenaamde panes. U kunt een window verticaal splitsen (van boven naar beneden) met de Ctrl-b " toetscombinatie. Een pane kan in grootte naar boven of beneden worden aangepast met Ctrl-b Alt-Up en Ctrl-b Alt-Down en het actieve pane worden gewisseld met Ctrl-b o. Als toevoeging kan een dusdanig gesplitst window worden gewijzigd in een aantal vaste layouts, waar doorheen gelopen kan worden met Ctrl-b Space, maar panes in één van deze layouts kunnen niet in grootte worden aangepast. In -current is splitsen uitgebreid met horizontaal splitsen (Ctrl-b %) en de vaste layouts zijn gewijzigd zodat als ze eenmaal zijn toegepast (met dezelfde Ctrl-b Space toetscombinatie) ze daarna vrijelijk aangepast kunnen worden, zowel horizontaal als verticaal.

[FAQ Index] [Naar Sectie 6 - Netwerken] [Naar Sectie 8 - Algemene Vragen]


[terug] www@openbsd.org
$OpenBSD: faq7.html,v 1.29 2011/11/01 22:59:12 ajacoutot Exp $