Installer rewritten around a preflight: distro, package manager, display manager, window manager, terminal, tmux, cargo, git, screen locker, touch device, device permissions and free disk are all checked BEFORE anything is installed, and the total cost is printed once for a single confirmation. Prompts read /dev/tty so they still work when the script is piped from curl, and fall back to defaults with a notice when there is no terminal at all. Several "[ test ] && action" statements were set -e landmines: under set -e an AND-OR list that ends up false aborts the script, so a box with no lightdm, no i3 or nothing to install would have exited silently partway through detection -- which is exactly the fresh-Debian case the installer exists for. Rewritten as if-statements and verified against a stripped PATH with no tmux, cargo, git or package manager present. Also fixed cargo detection reporting blank instead of NOT INSTALLED: the status of `cargo --version | cut` is cut's, and cut succeeds on empty input, so the fallback never fired. Device access now defaults to a udev rule matching touchscreens only, rather than the input group, which grants access to every input device including the keyboard and needs a full logout. README rewritten for someone who has not seen the project: what the photo shows, the hardware, install, then a config built up step by step, each step with the YAML and the resulting map. Every example is verified verbatim against the binary, and every relative link resolves. The mechanism and the reasoning move to notes/: DESIGN.md, HARDWARE-NOTES.md, V1-BASH.md, TODO.md. cad/README.md was a verbatim copy of the one inside geeekpi_rack_adapter_release_v1/, so every path in it -- including the screenshot -- was broken from where it sits. Corrected to its own level, and it now states once that the 9-inch screen, the 10-inch mini-rack mount and the 19-inch rack are three different measurements. The v1 shell implementation is removed; it stays recoverable at tag v1.2 and notes/V1-BASH.md carries the setting-by-setting migration table. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
GeeekPi 9" Monitor to 19" Rack Adapter
A pair of side adapters for mounting the GeeekPi 9-inch 1280x720 3U rack-mount touchscreen monitor in a standard 19-inch equipment rack.
Three sizes get mentioned here and they are three different things: the screen is 9 inches, the mount it ships for is the 10-inch mini-rack standard, and these adapters convert that to a 19-inch equipment rack.
The design also provides three keystone-jack positions on each side of the display.
Release v1
Release v1 contains both:
- 3D-printable adapters for left and right sides
- SendCutSend-ready DXF files for left and right sides
The mounting geometry has been physically tested in a standard 19-inch rack.
Files
cad/
├── README.md this file
├── geeekpi_rack_adapter_release_v1/ <- use this one
│ ├── 3d-print/
│ │ ├── geeekpi_19in_adapter_LEFT_release-v1.stl
│ │ ├── geeekpi_19in_adapter_RIGHT_release-v1.stl
│ │ ├── geeekpi_19in_adapter_LEFT_release-v1_AnycubicMegaPro.gcode
│ │ └── geeekpi_19in_adapter_RIGHT_release-v1_AnycubicMegaPro.gcode
│ ├── sendcutsend/
│ │ ├── geeekpi_19in_adapter_LEFT_release-v1.dxf
│ │ └── geeekpi_19in_adapter_RIGHT_release-v1.dxf
│ ├── source/
│ │ └── geeekpi_19in_adapter_release-v1.scad
│ └── docs/
│ └── installed.jpg
└── geeekpi_v25_FINAL_candidate_package/ earlier candidate, superseded by v1
Paths below are relative to geeekpi_rack_adapter_release_v1/.
Key dimensions
| Feature | Dimension |
|---|---|
| Adapter width | 132.3 mm |
| Adapter height | 132.0 mm |
| 3D-print thickness | 1.8 mm |
| Monitor mounting holes | 4.5 mm diameter |
| Keystone opening | 16.0 x 22.0 mm |
| Keystone vertical centers | 31.5, 66.0, 100.5 mm |
| Clear plastic/metal between keystone openings | 12.5 mm |
All three keystone openings are identical.
3D printing
The installed adapters shown above were printed in PLA and are strong enough to support the display when mounted.
Settings used for the tested print:
- Material: PLA
- Layer height: 0.20 mm
- Overall part thickness: 1.8 mm
- Infill: 80%
- Pattern: alternating horizontal/vertical rectilinear
- Bed: 60 C
- Nozzle: 205 C first layer, 200 C afterward
- Cooling fan: off
- Brim: approximately 15 mm
The included .gcode files were generated specifically for a stock Anycubic Mega Pro with a 0.4 mm nozzle. For another printer, use the STL files and slice them with your own printer profile.
Good bed leveling matters a lot for these parts because they are broad and very thin.
SendCutSend / metal version
The geeekpi_rack_adapter_release_v1/sendcutsend/ directory contains separate
left and right DXF files.
A good configuration for the metal adapters is:
- Material: 5052-H32 aluminum
- Thickness: 0.063 in / approximately 1.6 mm
- Quantity: one left and one right
The DXFs use the same keystone opening size and placement as the working 3D-printed adapters:
- 16.0 mm wide
- 22.0 mm tall
- centers at 31.5, 66.0, and 100.5 mm
The remaining rack and monitor mounting geometry is unchanged from the physically tested metal design.
Depending on the rack, display, and door clearance, small spacers or standoffs between the monitor ears and adapters may be useful to move the screen slightly forward.
Assembly
- Attach one adapter to each side of the GeeekPi monitor.
- Install any desired keystone jacks before rack installation if access will be easier.
- Bolt the assembled monitor and adapters into a 3U position in the 19-inch rack.
- Add spacers between the monitor and adapters if needed for front clearance.
- Route HDMI, USB, network, or other connections through the keystone positions as desired.
Editing the design
The editable OpenSCAD source is in
geeekpi_rack_adapter_release_v1/source/.
To generate a side, change:
side = "left";
to either "left" or "right", then render/export the STL.
The DXF files in geeekpi_rack_adapter_release_v1/sendcutsend/ are the intended
files for sheet-metal cutting.
Notes
This adapter was designed around the GeeekPi 9-inch 3U rack-mount display. Verify dimensions before ordering metal if your display or rack hardware differs.
The 3D-print version and metal version intentionally use different material thicknesses: 1.8 mm PLA for the tested printed version and approximately 1.6 mm aluminum for the sheet-metal version.
