Linux applicaties zien onder OS/2
Hieronder een screenshot van XFree86/OS2 met de Tab Windows Manager: de nieuwslezer knews, Applixware, KDE applicaties en diverse terminals met niet grafische applicaties. De X server, knews en xman draaien onder OS/2, maar de rest draait onder Linux . Alle applicaties worden op de XFree86 server van OS/2 afgebeeld.
Als
u erop klikt ziet u de afbeelding in het eigenlijke formaat.
eComStation gebruikers kunnen met HOBLink X11 voor OS/2 seamless X applicaties op de Werkplek draaien:
In
dit geval treedt een Linux PC als applicatieserver op.
Om dit te kunnen doen moeten enige zaken geregeld zijn.
De Linux PC heet "zolder", de OS/2 PC "visser". Als het hosts bestanden (de DNS) nog niet ingevuld (geconfigureerd) is, zou u ook IP adressen kunnen gebruiken.
U start de XFree86/OS2 server op de OS/2 prompt:
Deze draait daarna als een full screen applicatie onder OS/2 (met Ctrl-Escape zit u weer in OS/2).
U moet de Linux PC op "zolder" toegang geven tot de XFree86/OS2 server op "visser":
Startx en xhost maken deel uit van het XFree86/OS2 basispakket. Het pad naaar \XFree86\bin\ hoort in de config.sys te staan.
De volgende opdrachten worden op de Linux PC uitgevoerd. Dat gebeurt met de OS/2 telnet client.
Er moet een TCP/IP verbinding zijn met de Linux PC die de applicaties levert. U moet een gebruikersaccount hebben op de Linux server. De telnet daemon moet op de Linux server lopen (/etc/inetd.conf). Dit alles kunt u controleren door vanuit OS/2 op de Linux server (hier als "sjoerd") in te loggen.
Een "login" telnet geeft u volledige toegang tot de Linux prompt. Beveilig het netwerk dus door telnet alleen lokaal beschikbaar te stellen. Zie ook : Telnet en Secure Shell.
U moet aan Linux doorgeven dat het beeld van X applicaties naar de X server van de OS/2 PC "visser" moet gaan:
U geeft een opdracht voor een X applicatie:
Applixware start standaard als server op. Voor de meeste programma's het wijzer ze met een ampersand op de achtergrond te starten. Hierdoor komt de prompt terug. Met "xterm &" verschijnt een X terminal op de X server. Vanuit de X terminal kunt u weer nieuwe applicaties starten.
Xosview is een systeem monitor.
Wat te denken van WP voor Linux onder XFree86/OS2?
Nog leuker is de complete KDE desktop omgeving:
U ziet een rijtje foutmeldingen van ontbrekende fonts en twm blijft fungeren als Window Manager, maar u kunt alle KDE applicaties via het netwerk draaien.
Onder KDE 3 is gebruikt u de opdracht kde & of kicker & (alleen de taakbalk).
Overigens is het met Hoblink op de OS/2 Desktop handiger om alleen de KDE 3 taakbalk met het startmenu te laden.
sjoerd@suse:~> kicker &
Hoblink ondersteunt namelijk niet de door recente KDE versies gebruikte laatste X protocollen. De XFree86 versie 4 server doet dat wel . Maar die heeft weer als nadeel dat TWM als Window Manager gebuikt wordt. Het resizen van vensters lukt alleen als u de in het het volledig scherm verschenen venster KDE Desktop minimaliseert:
Klik op het links boven in beeld gebrachte KDE Desktop pictogram en daarna kunt u met linksklik op de dan pas verschenen TWM Desktop vensteracties ondernemen. Met de opdracht "xkicker &" hebt u dat niet.
Nadat u hier wat mee gespeeld heeft, is het handig om wat zaken te automatiseren.
Zo kunt u de noodzakelijke opdracht
het beste in bestand XFree86\lib\11\init\initrc.cmd te plaatsen.
In een REXX script worden OS/2 opdrachten tussen aanhalingstekens gezet.
U zet een opdracht uit door hem tussen */ /* te zetten.
Xclock gaf bij mij 99% cpu-use. Omdat de opdracht met detach opgestart werd onttrekt hij zich aan het opdrachtverwerkingsprogramma cmd.exe en is hij niet via het taakoverzicht te killen.
Normale OS/2 toepassingen zult u zelden via detach willen lanceren. Met detach kunt programma's niet meer via het het toetsenbord, het beeldscherm en de muis bereiken (zie help detach). Maar voor X applicaties geldt dit niet. Ze luisteren niet naar het toetsenbord, de nuis en schrijven niet naar het beeldscherm. Ze verstaan slechts het X protocol! Onder X zal het vaak de bedoeling zijn dat een X applicatie die ik op zolder lanceerde zich losmaakt van het beeldscherm en toetsenbord op zolder! Bijv. omdat mijn OS/2 X server in de huiskamer staat. X applicaties moeten naar de opdrachten van de X server luisteren. Voor de X applicatie zal het niet uitmaken waar iemand de X server lanceerde, zolang het TCP/IP netwerk maar loopt.
Het bestand XFree86\lib\11\init\initrc.cmd is te beschouwen als de autoexec.bat van de X server.
Omgevingsvariabelen die de Linux PC betreffen plaatst u het best in /home/os2gebruiker/.bashrc. U brengt ze aan met de export opdracht. Aliasen besparen u tikwerk.
export NNTPSERVER=zolder export DISPLAY=localhost:0.0 export EDITOR=mcedit export LANG=c # wat shortcuts alias xwp="/opt/wp8nl/wpbin/xwp" alias ecs="export DISPLAY=ecs:0.0" alias visser="export DISPLAY=visser:0.0" alias zolder="export DISPLAY=localhost:0.0"
Ik gebruik de 14" monitor van de Linux PC bijna niet voor grafische applicaties, maar exporteer het beeld meteen naar een X server op de PC "visser". Wil ik alleen op die PC werken dan log ik onder een andere naam in. Een andere optie is "export DISPLAY=localhost:0.0" aan het startx script van de Linux server toe te voegen. Dat heeft geen consequenties voor OS/2 (die heeft zijn eigen startx script.
Maak dus voor het werken onder OS/2 een extra account (warp o.i.d.) op de Linux server aan. Want als u met "export DISPLAY=visser:0.0" startx op een Linux PC met de naam zolder draait, krijgt u ter plekke geheid geen beeld.
De geëxporteerde EDITOR is de editor van de Midnight Commander. Het menu maakt hem gemakkelijker dan vi. Met export LANG=c ziet de mc bestandsbeheerder er onder OS/2 beter uit. Een alias is een toetsencombinatie die type- en zoekwerk bespaart.
OS/2 heeft bruikbare telnet clients. Ik gebruikte het Terminaltype vt220 (geen ANSI), de Codetabel ISO1 (ISO 8859-1) en het US keyboard om op de Linux server op zolder in te loggen. Vandaar kunnen Linux applicaties op de X server van OS/2 worden gedraaid.
Als lettertype gebruik is System VIO 7x15 op een 1024x768 beeldscherm. Niet grafische applicaties worden hiermee goed weergeven. Maar de functietoetsen (nodig voor mc) blijven een probleem. Toetsen F1-F4 worden goed weergeven, F5 geeft een T en voor F5-F9 moet ik F6-F10 toetsen (ze schuiven een functietoets op). De toetsenborden van OS/2 en Linux terminals komen niet overeen.
Dit probleem is op te lossen door Secure Shell/2 (ssh-os2-bin-1_2_30.zip op HOBBES) te gebruiken. Deze levert de (termcap) vertaling van de toetsenborden mee.
ssh -l user-id -tc /etc/ssh_term.linux host
geeft onder Linux een terminal die onder OS/2 prima werkt! De termcap bestanden kopieert u naar \etc van OS/2.
Voor de OpenSSH/2 port moet u de /ssh termcaps en configuratiebestanden naar etc/ssh verplaatsen. En de uitvoerbare bestanden naar \tcpip\bin \tcpip\dll. U logt in met:
ssh -l user-id -tc linux host
Secure Shell biedt tevens encryptie van het dataverkeer over het net. Dit zonder merkbaar performance verlies. Met een OS/2 X server kunt u "xterm &" op het terminalvenster tikken, zodat u onder X met de x terminal van Linux werken kunt.
Let op. Sinds 2005 gebruiken veel ssh servers het 16 bits UTF8. Maar OS/2 command line applications (CLI) als de ssh client kunnen UTF tekens niet goed aan. Mijn oplossing is nu om in /home/user/.bashrc of /etc/bash.bashrc.local onder Linux bash te vertellen dat OS/2 liever een andere tekenset heeft. export LANG =c export LANG =POSIX export LANG=en_US.ISO-8859-1 export LANG="en_US.ISO-8859-1" En dat werkt goed met ZOC4 of ssh vanuit OS/2. Overigens werkt de Java applicatie Mindterm wel goed met UTF (Settings/Terminal/General/Encoding/UTF8) . |