Linux kent 2 verschillende manieren om je toetsenbord in te stellen. Op de console kan je loadkeys gebruiken en onder XFree86 gebruik je xmodmap.
Om de 'keytable' voor een Belgisch toetsenbord te gebruiken, doe je best loadkeys be2-latin1 of loadkeys be-latin1 Het verschil is dat be2-latin1 funktionaliteit toevoegt om twosuperior en threesuperior (keycode 41) en grave (keycode 43).
Normaal wordt loadkeys gestart tijdens het booten vanuit scripts (ergens in /etc/rc.d Verschillende distributies doen het op een afwijkende manier. Maar de meeste distributies laten je die scripts wijzigen dmv. een simpel programma (zoals kbdconfig bij Red Hat of yast bij SuSE).
Je toetsenbord instellen voor XFree86 wordt gedaan door Xconfigurator (of een gelijkaardig programma). Die maakt oa. een konfiguratie-file aan voor XFree86 >XF86Config dat normaal in /etc of /etc/X11 staat.
Het volgende zou in je XF86Config moeten staan in het Keyboard Section.
Section "Keyboard" Protocol "Standard" XkbRules "xfree86" XkbModel "pc101" XkbLayout "be" EndSection |
Als je een 'microsoft' toetsenbord hebt, dan kan je die 3 extra toetsen gebruiken door "pc101" te veranderen in "pc104". (ik gebruik die extra toetsen als meta-toetsen voor mijn windowmanager zodat sneltoetsen van programma's niet in conflict zijn met die die ik in mijn windowmanager konfigureer).
Om de AltGr-toets te doen werken onder XFree86 kan je gewoon het volgende toevoegen:
RightAlt ModeShift |
Sommige mensen gebruiken liever een 'compose'-toets om speciale karakters te typen, zoals:
Compose-' e => é Compose-/ o => ø Compose-c , => ç Compose-c o => © Compose-s s => ß |
Alternatief steek je keycode xx = Multi_key in je ~/.xmodmaprc, zodat dit automagisch gebeurt.
Sommige applikaties moeten '8-bit clean' gecompileerd worden om de Europese 'charactersets' te ondersteunen. Anderen moet het verteld worden bij het starten.
Je kan het ISO-8859-1 font door het volgende te typen in console:
setfont lat1u-16.psf mapscrn trivial echo -ne '\033(K' |
Om ë, è, é of ç in console te gebruiken, voeg je best deze regels toe aan ~/.inputrc:
set meta-flag on set convert-meta off set output-meta on |
![]() | Note! |
---|---|
Dit is enkel nuttig voor programma's die gebruik maken van 'readline' (zoals bash). |
Zet ook de volgende environment variabelen:
LC_CTYPE=iso-8859-1 SYSFONT=lat1u-16.psf SYSTERM=linux |
Vermits Europa perse zijn eigen symbool wilde hebben, de Euro, is er een nieuwe standaard. En die heet ISO-8859-15 (aka Latin-9 of Latin-0). Om deze te gebruiken heb je zowel een nieuwe 'font' als een nieuwe 'keymap' nodig. Dit zit tegenwoordig wel in iedere Linux distributie, als je een oudere versie hebt dan ben je wellicht gesteld met een nieuwer console-tools package.
De veranderingen in de keymap-file bestaan uit de volgende lijnen:
keycode 18 = +e +E currency keycode 46 = +c +C cent |
SYSFONT=lat0-16.psf |
Aangezien België gelegen is binnen de Central European Time zone (aka MET) dat (in de winter) hetzelfde is als de Greenwhich Mean Time plus 1 (GMT+1), kan je simpelweg een symbolische link leggen van /usr/lib/zoneinfo/localtime/MET naar /etc/localtime door: ln -sf /usr/lib/zoneinfo/MET /etc/localtime of ln -sf /usr/lib/zoneinfo/Europe/Brussels /etc/localtime Dit zorgt automatisch voor 'Daylight Savings', dus zomertijd. Dus GMT+2 in de zomer.
![]() | Note ! |
---|---|
Verschillende distributies kunnen de files op verschillende plaatsen hebben staan, zoneinfo kan ook in /usr/share enzo... |
![]() | Nog een note ! |
---|---|
In Red Hat gebruik je best timeconfig, in SuSE yast |
Om de CMOS klok te wijzigen en te synchroniseren met de systeem-tijd, doe het volgende:
hwclock --set --date="Feb 25 03:38" clock -u -s |
hwclock --set --date="Feb 25 04:38" clock -s |
België zit met een taalprobleem, en dus heeft dit onderdeel, 3 onderdeeltjes ;) In se komt het op hetzelfde neer. Niet veel programma's ondersteunen al Locale, als je meer wil weten over Locale of hoe je je programma's kan schrijven zodat ze Locale ondersteunen, kijk op: [put the damn url here ;p]
Let wel op dat Locale het moeilijker maakt om problemen op te lossen aangezien minder mensen je dan nog kunnen helpen !! Als het in technisch Engels is zullen veel mensen je probleem begrijpen, maar als het in het Nederlands bv is wordt het al een stuk moeilijker. (Als je al weet dat er nu al mensen zijn die het moeilijk hebben met beide ;))
Om ondersteuning te hebben voor Nederlandstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=nl LANGUAGE=nl_BE |
Om ondersteuning te hebben voor Franstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=fr LANGUAGE=fr_BE |
Om ondersteuning te hebben voor Duitstalige Locale in België op je systeem, moet je enkel de volgende environment variabelen instellen:
LANG=de LANGUAGE=de_BE |
Om ondersteuning te hebben voor de Waalse locale support haal je best de files af op volgende adres: http://chanae.stben.be/linux/locales/walon/. Om het te gebruiken zet je dan het volgende:
LANG=wa LANGUAGE=wa_BE:fr_BE |
Deze opties voegen ondersteuning toe voor het Belgische karakterset en codepages. Als je deze wil hebben, compileer dan een kernel met volgende opties aan. Ze zijn enkel nodig voor sommige bestandssystemen (FAT-gebaseerd, ISO9660, ...).
< > Codepage 850 (Europe) < > NLS ISO 8859-1 (Latin 1; Western European Languages) < > NLS ISO 8859-15 (Latin 9; Western European Languages with Euro) |
Als je een modulaire kernel hebt, zoals die meegeleverd met je distributie (=je hebt geen eigen kernel gemaakt), dan kan je het volgende typen:
insmod nls_cp850 insmod nls_iso8859_1 insmod nls_iso8859_15 |
Om PPP juist te konfigureren, bekijk je best de PPP-HOWTO. Ik ga het kort trachten uit te leggen, maar als er problemen of vragen zijn, lees dan de HOWTO aandachtig.
Om je modem juist in te stellen, kan je de initstring van je modem wijzigen. Om meer over je modem te weten te komen, kijk op: Ask Mr. Modem. Let op, als je een winmodem hebt dan zal die wellicht NIET werken ! Meer informatie over winmodems kan je vinden op: http://linmodems.org/. Er wordt aan gewerkt, doch winmodems zijn niet zo degelijk als echte modems.
Eerst moet je nakijken of je het ppp-package geinstalleerd hebt. (pppd --version), kijk even na of het wel een recente versie is !! Dan zorg dat je de volgende files hebt:
/usr/local/bin/ppp
#!/bin/sh case $1 in on|start) TELEPHONE='555-1212' # The telephone number for the connection ACCOUNT='your_login' # The account name for logon (as in 'George Burns') PASSWORD='your_pass' # The password for this account (and 'Gracie Allen') INITSTRING='AT&F&C1&D2Z'# Modem initstring IPLOCAL=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0 IPREMOTE=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0 DEVICE=/dev/ttyS1 # Serial Device com1=ttyS0, com2=ttyS1,... SPEED=57600 # 19200, 38400 or 57600 (don't try something different) export TELEPHONE ACCOUNT PASSWORD INITSTRING exec /usr/sbin/pppd $DEVICE $SPEED $IPLOCAL:$IPREMOTE \ user $ACCOUNT connect /etc/ppp/ppp-on-dialer ;; off|stop) if [ -r /var/run/ppp0.pid ]; then kill -INT `cat /var/run/ppp0.pid` if [ ! "$?" = "0" ]; then rm -f /var/run/ppp0.pid echo "ERROR: Removed stale pid file" exit 1 fi exit 0 fi echo "ERROR: PPP link is not active on ppp0" exit 1 ;; info|status) /usr/sbin/pppstats ;; *) echo "Usage: ppp on|off|info|start|stop|status"; ;; esac |
/etc/ppp/ppp-on-dialer
#!/bin/sh exec /usr/sbin/chat -v \ REPORT CONNECTION \ REPORT CARRIER \ TIMEOUT 10 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nNO CARRIER\r' \ ABORT '\nNO DIALTONE\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ ABORT 'Invalid Login' \ ABORT 'Login incorrect' \ '' "\r$INITSTRING\r" \ 'OK-+++\c-OK' 'ATH0' \ TIMEOUT 45 \ OK "ATDT$TELEPHONE" \ CONNECT '\d\c' \ ogin:--ogin: "$ACCOUNT" \ ord: "$PASSWORD" |
Het pppd commando gebruikt de file /etc/ppp/options om al zijn opties te bundelen, verander de opties naar believe. Deze opties werken normaal gezien in de meeste gevallen.
asyncmap 20a0000 crtscts debug default-mru defaultroute detach escape 11,13,ff hide-password ipcp-accept-local ipcp-accept-remote lcp-echo-failure 4 lcp-echo-interval 400 lock modem mtu 1500 netmask 255.255.255.0 noipdefault passive #idle 300 #kdebug 0 #-vj |
![]() | Het is belangrijk om te benadrukken dat ieder 'speciaal' karakter, dus ieder karakter dat niet behoort tot [a-zA-Z0-9] en '_', best voorafgegaan wordt door een '\' om de speciale betekenis die het kan hebben te ontkrachten. Dus "e!b$l+" wordt dan "e\!b\$l\+". Als je problemen hebt om in te loggen, kijk je dit dus best na. |
Als je ISP CHAP of PAP vereist, dan moet je een van de volgende files plaatsen en het juiste login en paswoord erin zetten:
/etc/ppp/pap-secrets of /etc/ppp/chap-secrets
#client server secret IP your_login * your_pass * |
Je nameservers konfigureer je in /etc/resolv.conf. Als het inbellen lukt, maar je kan niet surfen, dan is de kans groot dat je deze stap vergeten bent.
domain domain_of_your_isp nameserver your_primary_nameserver nameserver your_secondary_nameserver |
Vooraleer je een (shell)script kan uitvoeren, moet je het executable maken. Let op dat je de permissies zo plaatst dat andere gebruikers niet zomaar de paswoorden kunnen bekijken die in de files staan. Als je andere gebruikers toch wil kunnen laten inbellen, dan kan je daarvoor sudo gebruiken. Je zou het volgende kunnen doen:
chmod u+rw og-rwx -R /etc/ppp chmod u+x /etc/ppp/ppp-on-dialer /usr/local/bin/ppp |
Bijdrage door Christophe Lambin <clambin@skynet.be>
Dit gedeelte is niet bedoeld als een definitieve handleiding voor ISDN op Linux. Voor een meer gedetaileerde uitleg hierover verwijzen we door naar Paul Slootman's ISDN4Linux HOWTO en ISDN4Linux-FAQ.
Als je een 2.2 kernel gebruikt, is het aangeraden om een nieuwere versie van de ISDN code te gebruiken. De CVS versie kan je halen op ftp://ftp.suse.com/pub/isdn4linux/. Voor meer informatie, bekijk: http://www.brisse.dk/site/linux/docs/isdn.htm
![]() | Als je je onlangs een Eicon Diva 2.0 PCI aanschafte (bv, via Belgacom), dan is de kans groot dat het in werkelijkheid om een Diva 2.01 gaat, in dat geval heb je een nieuwere versie nodig van na 1 Juli 1999 ! |
Eens de ISDN op zijn plaats is, kan je de driver starten (als module). Bv: modprobe hisax type=11 protocol=2 Bekijk de Readme's voor de juiste parameters en waarden voor jouw kaart.
Vervolgens heb je de ISDN4Linux toolkit nodig. De laatste versie hiervan kan je afhalen op: ftp://ftp.suse.com/pub/isdn4linux/
Met de tools geinstalleerd en gekonfigureerd, schrijf een script om de interface te konfigureren, dat gebruikt wordt om de ISDN connectie te maken. Zoals altijd in Linux is er niet echt een éénduidige manier om dat te doen. Gebruik eventueel dit script /etc/rc.d/rc.isdn:
#!/bin/sh MSNREMOTE='555-1212' # Phone number of ISP MSNLOCAL='555-1313' # my number, without 0, with areacode ACCOUNT='george' # The account for logon (as 'George Burns') IPLOCAL=10.0.0.2 # my fixed IP number (use 10.0.0.2 if no fixed) IPREMOTE=0.0.0.0 # IP number of ISP INTERFACE=ippp0 /sbin/modprobe hisax type=11 protocol=2 /sbin/isdnctrl verbose 3 system on /sbin/isdnctrl addif $IF /sbin/isdnctrl secure $IF on /sbin/isdnctrl addphone $IF out $MSNREMOTE /sbin/isdnctrl eaz $IF $MSNLOCAL /sbin/isdnctrl huptimeout $IF 300 /sbin/isdnctrl l2_prot $IF hdlc /sbin/isdnctrl l3_prot $IF trans /sbin/isdnctrl encap $IF syncppp # /sbin/isdnctrl dialmode $IF auto /sbin/ifconfig $IF $IPLOCAL pointopoint $IPREMOTE -arp -broadcast /sbin/ipppd /dev/ippp0 user $ACCOUNT $IPLOCAL:$IPREMOTE |
Om ISDN te starten tijdens het booten, maak het vorige script 'executable' en zet het volgende in /etc/rc.d/rc.local:
if [ -x /etc/rc.d/rc.isdn ]; then . /etc/rc.d/rc.isdn fi |
Het ipppd commando haalt zijn parameters ui de file /etc/ppp/ioptions:
-ac -bsdcomp debug defaultroute ipcp-accept-local ipcp-accept-remote mru 1524 mtu 1500 noipdefault -pc useifip -vj -vjccomp #idle 360 #persistent |
![]() | Zet +pap of +chap NIET in deze file. Dit specifieert het authentication-protocol dat ipppd zou gebruiken bij een INKOMENDE client. Moest je dat toch doen, wacht ipppd op de ISP voor authenticatie met dat protocol. |
![]() | Het is belangrijk om te benadrukken dat ieder 'speciaal' karakter, dus ieder karakter dat niet behoort tot [a-zA-Z0-9] en '_', best voorafgegaan wordt door een '\' om de speciale betekenis die het kan hebben te ontkrachten. Dus 'e!b$l+' wordt dan 'e\!b\$l\+'. Als je problemen hebt om in te loggen, kijk je dit dus best na. |
Tenslotte, maak /etc/ppp/ip-down.local zodat dit zorgt voor het afsluiten van de interface:
#!/bin/sh /sbin/ifconfig $1 down sleep 1 /sbin/ifconfig $1 10.0.0.2 pointopoint |
![]() | Note ! |
---|---|
Dit lost sommige problemen op met routes na afsluiten. Is er iemand met een mooiere oplossing ? |
Als je ISP PAP of CHAP gebruikt, maak dan een file /etc/ppp/pap-secrets or /etc/ppp/chap-secrets. Het formaat is:
#client server secret IP your_login * your_pass * |
Dit heeft niet echt iets te maken met ISDN, maar sommige mensen vergeten deze stap.Om DNS te konfigureren, maak je de volgende file /etc/resolv.conf:
domain domain_of_your_isp nameserver your_primary_nameserver nameserver your_secondary_nameserver |
Als laatste stap kan je een klein scriptje schrijven om ISDN te starten en te stoppen. Zet bijvoorbeeld dit in /usr/local/bin/isdn:
#!/bin/bash case $1 in on|start) /sbin/isdnctrl dial ippp0 ;; off|stop) /sbin/isdnctrl hangup ippp0 ;; info|status) /sbin/isdnctrl list ippp0 ;; *) echo "Usage: isdn on|off|info|start|stop|status" ;; esac |
Als /usr/local/bin in je PATH staat, kan je dan simpelweg starten met isdn on en stoppen met isdn off