Skip to content

Commit 11c877a

Browse files
committed
Issue #58: checkpoint [ci skip]
1 parent 90281f2 commit 11c877a

File tree

4 files changed

+113
-9
lines changed

4 files changed

+113
-9
lines changed

Diff for: docs/clientInstallation.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
##tODE Client Installation
1+
#tODE Client Installation
2+
3+
**Before installing a remote client, you should seriously consider using [ssh X11 forwarding][8].
4+
With **[ssh X11 forwarding][8]**, you install an X11 client on the server, and install an X11 server on your client, instead of installing a tODE client.**
25

36
tODE clients may be installed on **Linux**, **Mac** or **Windows**.
47

@@ -58,3 +61,4 @@ Here's the [list of scripts that can be used on the client machine][7].
5861
[5]: images/descriptionWorkspace.png
5962
[6]: ../bin/stones
6063
[7]: ../bin/README.md#client-scripts
64+
[8]:

Diff for: docs/osPrereqs/osPrereqs.md

+98-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,98 @@
1-
#OS prerequisites
1+
#Operating System Prerequisites
2+
3+
##Required packages
4+
The GsDevKit server can be installed on Linux or Mac OS X.
5+
6+
The following packages are required for a GsDevKit installation:
7+
- 32 bit libraries - needed to run Pharo (headless)
8+
- curl - needed by FileTree
9+
- git - needed by GsDevKit and tODE
10+
- PAM - needed by GemStone server
11+
- ssl - needed by GemStone server
12+
- unzip - needed by FileTree
13+
- wget - needed by bin/installGemStone script
14+
- gdb, pstack - needed by GemStone to produce C stack traces
15+
- freetype - needed by Pharo (headful) on Linux for using platform-specific (monospaced) fonts
16+
17+
See the the prerequisite installation guide for your platform for detailed instructions on installing the required prerequisites:
18+
- [GsDevKit prerequisites for Ubuntu 12.04][55]
19+
- [GsDevKit prerequisites for Ubuntu 14.04][56]
20+
- [GsDevKit prerequisites for OS X10.9][57]
21+
22+
##Optional Packages
23+
###Client/Server Configurations
24+
A [GemStone server][8] is made up of several different processes:
25+
26+
![object server][9]
27+
28+
In a GsDevKit installation the `Server Processes` in the diagram above are co-located on a single machine and I will use the term **stone** to refer to a the [GemStone server][8] processes.
29+
30+
The `Application` in the diagram above corresponds to a tODE client.
31+
32+
In general GemStone may be configured in 4 different ways, all processes co-located on a single machine]:
33+
1. [stone, gem and application (tODE) running on same machine][11].
34+
2. stone and gem running on the same machine, application (tODE) running on second machine.
35+
36+
![gem process on server node][14]
37+
38+
3. stone running on one machine, gem and application (tODE) running on second machine.
39+
40+
![gem process on remote node][13]
41+
42+
4. stone runninin on one machine, gem running on a second machine, and application (tODE) running on a third machine.
43+
44+
![gem process and application process on remote nodes][12]
45+
46+
With the [Community Edition License][15], you are not permitted to run with remote gem processes (options 3 and 4).
47+
48+
The tODE client is written in Pharo and uses [GemBuilder for C][1] (GCI) for communicatine with the stone.
49+
50+
51+
tODE runs as an [RPC application][3] and establishes a network connection to the stone by initally connecting to a well-known port on the [GemStone netldi process][5].
52+
53+
54+
55+
56+
Basically you have three options:
57+
58+
1. [Local display, local stone, local tODED](#)
59+
2. [Local display, remote stone, remote tODE](#)
60+
3. [Remote display, local stone, local tODE](#)
61+
62+
####Local display, local stone, local tODE
63+
64+
![local stone/gems][7]
65+
66+
[Run tODE and stone on same node][4] where the GCI and X11 use the loopback interface for communication.
67+
68+
####Local display, remote stone, remote tODE
69+
70+
![local stone/gems][6]
71+
72+
[Run tODE and stone on same node][4] where the GCI uses the loopback interface for communication and X11 uses the local area network (or WAN) for communication between the X11 client and server (on remote client).
73+
74+
####Remote display, local stone, local tODE
75+
76+
![local stone/gems][7]
77+
78+
[Run tODE and stone on different nodes][2] where the GCI communication uses the local area network (or WAN) and the tODE client uses the loopback interface (on remote client) for communication.
79+
80+
81+
[1]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-GemBuilderforC-3.2.pdf
82+
[2]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/3-Distributed.htm#88520
83+
[3]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/2-Clients.htm#pgfId-83078
84+
[4]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/2-Clients.htm#47882
85+
[5]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/3-Distributed.htm#pgfId-82455
86+
[6]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/3-Distributed-1.png
87+
[7]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/2-Clients-1.png
88+
[8]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/1-Server.htm#pgfId-1332187
89+
[9]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/1-Server-1.png
90+
91+
[10]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/3-Distributed-3.png
92+
[11]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/2-Clients.htm#pgfId-82959
93+
94+
[12]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/3-Distributed-8.png
95+
[13]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/3-Distributed-7.png
96+
[14]: http://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-SysAdmin-3.2/resources/3-Distributed-6.png
97+
98+
[15]: http://gemtalksystems.com/licensing/#CWELicensing

Diff for: docs/osPrereqs/ubuntu14.04.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# GsDevKit prerequisites for Ubuntu 14.04
2-
It is recommended that you [Install ssh (optional)](#install-ssh-optional), since you can [run a script to the install prerequisite packages](#osPrereqs-bash-script).
2+
It is recommended that you [Install ssh (optional)](#install-ssh-optional).
3+
Besides the obvious advantages of secure remote logins and secure remote file copying, ssh gives you flexibility to:
4+
- run tODE locally and log into remote servers via **ssh port forwarding**
5+
- run tODE on remote server and host display on local X server via **ssh X11 forwarding**
6+
- use the osprereqs script to install the platform prerequisites
37

4-
If you decide not to [run the script](#osPrereqs-bash-script), then following the manual instrructions in each section:
8+
If you decide not to [run the script](#osPrereqs-bash-script), then following the manual instructions in each section:
59

610
3. [Install ssh (optional)](#install-ssh-optional)
711
- [osPrereqs bash script](#osPrereqs-bash-script)
812
1. [Install Basic Prerequisites (required)](#install-basic-prerequisites-required)
9-
2. [Install X11 Client (optional)](#install-x11-client-optional)
13+
2. [X11 forwarding](#install-x11-forwarding-optional)
1014

1115
##Install ssh (optional)
1216
I recommend that you start by [installing ssh][2] on your server.
@@ -52,8 +56,7 @@ sudo apt-get -y install pstack
5256
sudo /bin/su -c "echo 'kernel.yama.ptrace_scope = 0' >>/etc/sysctl.d/10-ptrace.conf"
5357
```
5458

55-
##X11 Client (optional)
56-
If you want run the Pharo client using [X11 forwarding][1] with `ssh`, then you need to install the **X11 client**:
59+
##X11 forwardingIf you want run the Pharo client using [X11 forwarding][1] with `ssh`, then you need to install the **X11 client**:
5760

5861
```
5962
sudo apt-get -y install libgl1-mesa-dev:i386

Diff for: docs/portForwardingForRemoteLogins.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Using Port Forwading for Remote logins
1+
# Using Port Forwading for remote tODE clients
22

33
1. [Intro](#intro)
44
2. [Netldi Setup](#netldi-setup)
@@ -24,7 +24,7 @@ The *well-known `netldi` port number* is the port number specified in `netLDI` f
2424

2525
Normally the *child process port* is randomly assigned, but since we need to set up the port forwarding ahead of time, we will have to use the `startnetldi` command's `-p` option to define a port range.
2626
In our case the *port range* will be a single port number and we'll use `55325` in this example.
27-
Before starting a `netldi` you need to make sure that all of the required environmental variables (**GEMSTONE**, **EMSTONE_NRS_ALL**, etc.) are defined.
27+
Before starting a `netldi` you need to make sure that all of the required environmental variables (**GEMSTONE**, **GEMSTONE_NRS_ALL**, etc.) are defined.
2828

2929
##SSH Port Forwarding Server-side
3030

0 commit comments

Comments
 (0)