Skip to content

Commit 51e30bb

Browse files
authored
Merge pull request #63 from Interlisp/fgh-linux
Add "Running on Linux page" to go with new standard Linux installation packages
2 parents e620b3a + e1cef4a commit 51e30bb

File tree

7 files changed

+217
-5
lines changed

7 files changed

+217
-5
lines changed

content/en/running/build/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Building the Interlisp system
3-
weight: 10
3+
weight: 60
44
url: /doc/build.html
55
aliases:
66
- /_pages/doc/build.html

content/en/running/online/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Interlisp Online
3-
weight: 2
3+
weight: 10
44
type: docs
55
---
66

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
title: Running on Linux (incl. WSL)
3+
weight: 20
4+
type: docs
5+
---
6+
7+
Medley can run on any Linux system that includes X Windows, including Windows
8+
System For Linux (WSL2 only) on Windows 11 and Windows 10 Build 19044+.
9+
10+
It is also recommended that the Linux system have a web browser installed.
11+
For WSL installations, the browser(s) on the Windows side will suffice.
12+
A browser is not strictly necessary to run Medley, but several features of the system
13+
(e.g., displaying some user documentation) will not work without an external browser
14+
installed.
15+
16+
Medley can be installed on your system in one of two configurations: *standard* and
17+
*local*. Standard installation will install Medley into system directories and install
18+
any prerequisite packages. Local installation will install Medley into any user directory
19+
but any prerequisite packages must be installed manually.
20+
21+
22+
## Standard Installation \(Debian-based systems only\)
23+
24+
Standard installations are currently supported only for Debian-based systems (i.e.,
25+
systems that support dpkg), including Debian-based distros on WSL.
26+
27+
In a standard installation, Medley is installed in system directories
28+
(specifically, /usr/local/interlisp) and support like man pages and (a link to) the
29+
medley executable are also installed in standard system locations (e.g., /usr/local/man
30+
and /usr/local/bin).
31+
32+
Standard installations are ideal for users who want to explore Medley (including its
33+
system code) or to develop applications built on top of Medley. Standard installations
34+
are not good for users who want to modify the Medley system code, since that code is
35+
installed in protected locations.
36+
37+
Standard installation uses `apt` to install a .deb package downloaded from
38+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html).
39+
The .deb package will install Medley as well as any other packages needed for Medley to
40+
run.
41+
42+
There are separate .deb packages for "standard" Linux and for WSL (as well as for the
43+
three machine architectures - X86_64, ARM64, ARMv7). The WSL packages differ only in
44+
that they include an additional functionality to have Medley display in a VNC Window
45+
instead of a standard X Window. This is useful on high resolution displays since
46+
the VNC window will scale according to the Windows Settings->Display->Scale setting,
47+
while the X Window on WSL will not so scale. The WSL packages also install the wslu
48+
package, which is used by Medley to connect to external browsers as described above.
49+
Aside from these two features, a non-WSL .deb package will install and run on WSL.
50+
51+
To install a standard package and run Medley:
52+
53+
1. Download
54+
55+
Using a browser download from
56+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html)
57+
the .deb package for your platform (i.e., "standard" Linux or WSL) and your machine
58+
architecture (X86_64, ARM64, or ARMv7) to \<deb_filepath\>.
59+
60+
2. Install
61+
62+
In a terminal:
63+
64+
```
65+
ubuntu@oio:~$ sudo apt update
66+
ubuntu@oio:~$ sudo apt install -y <deb_filepath>
67+
```
68+
69+
3. Run
70+
71+
In a terminal:
72+
73+
```
74+
ubuntu@oio:~$ medley
75+
```
76+
77+
There are many options to the `medley` command. For a brief overview, run `medley --help`.
78+
For a more complete description, run `man medley` or `medley --man` or click
79+
[here](https://online.interlisp.org/downloads/man_medley.html).
80+
81+
For first-time users: `medley --apps` or for WSL `medley --apps --vnc` is a good starting
82+
point. This will give you a fully populated Medley system, including the applications built
83+
on Medley such as Notecards and Rooms.
84+
85+
Note: By default, `medley` will create a directory in *$HOME/il*. This will be used by the Medley
86+
system as its *LOGINDIR*. Medley will start up with *LOGINDIR* as its current connected directory.
87+
It will load the personal init file (if any) from *LOGINDIR*/INIT or *LOGINDIR*/INIT.LCOM. Finally,
88+
Medley will use *LOGINDIR*/vmem/ to store its virtual memory file(s). The location of *LOGINDIR*
89+
can be changed using the `--logindir` option to `medley`.
90+
91+
92+
93+
## Local Installation
94+
95+
In a local installation, the Medley system is installed into any user directory from a .tar file.
96+
Multiple "Medleys" can be installed in different directories on one machine without interference
97+
(except see description of Medley *LOGINDIR* below). Local installation makes it easy (from a file
98+
management p.o.v.) to modify the Medley system code.
99+
100+
Local installation doesn't involve a package manager, so you are responsible for installing any
101+
prerequisite packages onto your system before you installing Medley.
102+
103+
Also note that with local installations, `man medley` will not work. However, as indicated below,
104+
`./medley --man` will show the medley man page.
105+
106+
To install and run Medley locally:
107+
108+
1. Install prerequite packages
109+
110+
* For non-WSL installations, use your distro's package manager to install `xdg-utils`.
111+
112+
* For WSL all installations, use your distro's package manager to install `wslu`.
113+
114+
Note that some distros do not include `wslu` in their standard repos. See
115+
[https://wslutiliti.es/wslu/install.html](https://wslutiliti.es/wslu/install.html)
116+
for installation instructions if this is the case.
117+
118+
Also note that `wslu v4.0` does not work with Medley, so you will need to install
119+
either a version < v.40 or >= v4.1.
120+
121+
122+
* For WSL installations where the VNC feature will be used, install the `tigervnc-standalone-server` and `tigervnc-xorg-extension` packages.
123+
124+
When using the VNC feature Medley will display in a VNC Window instead of a standard X Window.
125+
This is useful on high resolution displays since the VNC window will scale according to the
126+
Windows Settings->Display->Scale setting, while the X Window on WSL will not so scale.
127+
128+
Note that Medley will install and run even if none of these prerequite packages are installed.
129+
However, some features (e.g., viewing documentation in an external browser) will be inoperable.
130+
131+
2. Download
132+
133+
Using a browser download from
134+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html)
135+
the tar (.tgz) file for your platform (i.e., "standard" Linux or WSL) and your machine
136+
architecture (X86_64, ARM64, or ARMv7) to \<tar_filepath\>.
137+
138+
3. Install Medley
139+
140+
In a terminal:
141+
142+
```
143+
ubuntu@oio:~$ mkdir <medley_directory>
144+
ubuntu@oio:~$ tar -C <medley_directory> -xzf <tar_filepath>
145+
```
146+
147+
4. Run Medley
148+
149+
In a terminal:
150+
151+
```
152+
ubuntu@oio:~$ cd <medley_directory>
153+
ubuntu@oio:~$ ./medley
154+
```
155+
156+
There are many options to the `medley` command. For a brief overview, run `./medley --help`.
157+
For a more complete description, run `./medley --man` or click
158+
[here](https://online.interlisp.org/downloads/man_medley.html).
159+
160+
For first-time users: `./medley --apps` or for WSL (and you have installed the VNC prerequisites)
161+
`./medley --apps --vnc` is a good starting point. This will give you a fully populated Medley system,
162+
including the applications built on Medley such as Notecards and Rooms.
163+
164+
Note: By default, `medley` will create a directory in *$HOME/il*. This will be used by the Medley
165+
system as its *LOGINDIR*. Medley will start up *LOGINDIR* as its current connected directory.
166+
It will load any personal init file from *LOGINDIR*/INIT or *LOGINDIR*/INIT.LCOM. Finally,
167+
Medley will use *LOGINDIR*/vmem/ to store its virtual memory file(s). The location of *LOGINDIR*
168+
can be changed using the `--logindir` option to `medley`. In particular, if you have multiple
169+
installations of Medley that you would like to keep completely seperate, then you can use the
170+
`--logindir -` option, which will set *LOGINDIR* to \<medley_directory\>/logindir.
171+
172+
173+
174+
175+
176+
177+
178+
179+
180+
181+
182+
183+

content/en/running/running-on-mac.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Running on MacOS
3-
weight: 50
3+
weight: 30
44
type: docs
55
---
66

content/en/running/running-on-win.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Running on Windows
3-
weight: 50
3+
weight: 40
44
type: docs
55
---
66
## Running on Windows

content/en/running/running-with-docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Running with Docker
3-
weight: 75
3+
weight: 50
44
type: docs
55
---
66

scripts/weights.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
###############################################################################
3+
#
4+
# weights.sh - print out the weights (and names) of the .md files in the
5+
# directory $1 as wellas the weights (and names) of any _index.md
6+
# files in the subdirectories of $1, sorted by increasing weight.
7+
#
8+
# Frank Halasz 2023-01-30
9+
#
10+
# Copyright 2023 Interlisp.org
11+
#
12+
###############################################################################
13+
14+
15+
if [ -z "$1" ]; then dir="."; else dir="$1"; fi
16+
find "${dir}" -mindepth 2 -maxdepth 2 -name _index.md -exec grep -i -H weight {} \; >/tmp/weights-$$
17+
find "${dir}" -mindepth 1 -maxdepth 1 -type f \
18+
! -name _index.md -name "*.md" \
19+
-exec grep -i -H weight {} \; \
20+
>>/tmp/weights-$$
21+
sed -i \
22+
-e "s/:\s*weight:/ /" \
23+
-e "s/\s+/ /" \
24+
-e "s/\s+\$//" \
25+
-e "s#${dir%/}/##" \
26+
-e "s/_index.md//" \
27+
/tmp/weights-$$
28+
awk "{print \$2 \"\t\" \$1}" < /tmp/weights-$$ | sort -n
29+

0 commit comments

Comments
 (0)